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