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