1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _LINUX_QRTR_H 7 #define _LINUX_QRTR_H 8 #include <linux/socket.h> 9 #include <linux/types.h> 10 #define QRTR_NODE_BCAST 0xffffffffu 11 #define QRTR_PORT_CTRL 0xfffffffeu 12 struct sockaddr_qrtr { 13 __kernel_sa_family_t sq_family; 14 __u32 sq_node; 15 __u32 sq_port; 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 struct qrtr_ctrl_pkt { 31 __le32 cmd; 32 union { 33 struct { 34 __le32 service; 35 __le32 instance; 36 __le32 node; 37 __le32 port; 38 } server; 39 struct { 40 __le32 node; 41 __le32 port; 42 } client; 43 }; 44 } __packed; 45 #endif 46