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