xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/qrtr.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker #ifndef _LINUX_QRTR_H
3*f80ad8b4SAndroid Build Coastguard Worker #define _LINUX_QRTR_H
4*f80ad8b4SAndroid Build Coastguard Worker 
5*f80ad8b4SAndroid Build Coastguard Worker #include <linux/socket.h>
6*f80ad8b4SAndroid Build Coastguard Worker #include <linux/types.h>
7*f80ad8b4SAndroid Build Coastguard Worker 
8*f80ad8b4SAndroid Build Coastguard Worker #define QRTR_NODE_BCAST	0xffffffffu
9*f80ad8b4SAndroid Build Coastguard Worker #define QRTR_PORT_CTRL	0xfffffffeu
10*f80ad8b4SAndroid Build Coastguard Worker 
11*f80ad8b4SAndroid Build Coastguard Worker struct sockaddr_qrtr {
12*f80ad8b4SAndroid Build Coastguard Worker 	__kernel_sa_family_t sq_family;
13*f80ad8b4SAndroid Build Coastguard Worker 	__u32 sq_node;
14*f80ad8b4SAndroid Build Coastguard Worker 	__u32 sq_port;
15*f80ad8b4SAndroid Build Coastguard Worker };
16*f80ad8b4SAndroid Build Coastguard Worker 
17*f80ad8b4SAndroid Build Coastguard Worker enum qrtr_pkt_type {
18*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_DATA		= 1,
19*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_HELLO		= 2,
20*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_BYE		= 3,
21*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_NEW_SERVER	= 4,
22*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_DEL_SERVER	= 5,
23*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_DEL_CLIENT	= 6,
24*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_RESUME_TX	= 7,
25*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_EXIT          = 8,
26*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_PING          = 9,
27*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_NEW_LOOKUP	= 10,
28*f80ad8b4SAndroid Build Coastguard Worker 	QRTR_TYPE_DEL_LOOKUP	= 11,
29*f80ad8b4SAndroid Build Coastguard Worker };
30*f80ad8b4SAndroid Build Coastguard Worker 
31*f80ad8b4SAndroid Build Coastguard Worker struct qrtr_ctrl_pkt {
32*f80ad8b4SAndroid Build Coastguard Worker 	__le32 cmd;
33*f80ad8b4SAndroid Build Coastguard Worker 
34*f80ad8b4SAndroid Build Coastguard Worker 	union {
35*f80ad8b4SAndroid Build Coastguard Worker 		struct {
36*f80ad8b4SAndroid Build Coastguard Worker 			__le32 service;
37*f80ad8b4SAndroid Build Coastguard Worker 			__le32 instance;
38*f80ad8b4SAndroid Build Coastguard Worker 			__le32 node;
39*f80ad8b4SAndroid Build Coastguard Worker 			__le32 port;
40*f80ad8b4SAndroid Build Coastguard Worker 		} server;
41*f80ad8b4SAndroid Build Coastguard Worker 
42*f80ad8b4SAndroid Build Coastguard Worker 		struct {
43*f80ad8b4SAndroid Build Coastguard Worker 			__le32 node;
44*f80ad8b4SAndroid Build Coastguard Worker 			__le32 port;
45*f80ad8b4SAndroid Build Coastguard Worker 		} client;
46*f80ad8b4SAndroid Build Coastguard Worker 	};
47*f80ad8b4SAndroid Build Coastguard Worker } __packed;
48*f80ad8b4SAndroid Build Coastguard Worker 
49*f80ad8b4SAndroid Build Coastguard Worker #endif /* _LINUX_QRTR_H */
50