0001
0002 #ifndef _LINUX_QRTR_H
0003 #define _LINUX_QRTR_H
0004
0005 #include <linux/socket.h>
0006 #include <linux/types.h>
0007
0008 #define QRTR_NODE_BCAST 0xffffffffu
0009 #define QRTR_PORT_CTRL 0xfffffffeu
0010
0011 struct sockaddr_qrtr {
0012 __kernel_sa_family_t sq_family;
0013 __u32 sq_node;
0014 __u32 sq_port;
0015 };
0016
0017 enum qrtr_pkt_type {
0018 QRTR_TYPE_DATA = 1,
0019 QRTR_TYPE_HELLO = 2,
0020 QRTR_TYPE_BYE = 3,
0021 QRTR_TYPE_NEW_SERVER = 4,
0022 QRTR_TYPE_DEL_SERVER = 5,
0023 QRTR_TYPE_DEL_CLIENT = 6,
0024 QRTR_TYPE_RESUME_TX = 7,
0025 QRTR_TYPE_EXIT = 8,
0026 QRTR_TYPE_PING = 9,
0027 QRTR_TYPE_NEW_LOOKUP = 10,
0028 QRTR_TYPE_DEL_LOOKUP = 11,
0029 };
0030
0031 struct qrtr_ctrl_pkt {
0032 __le32 cmd;
0033
0034 union {
0035 struct {
0036 __le32 service;
0037 __le32 instance;
0038 __le32 node;
0039 __le32 port;
0040 } server;
0041
0042 struct {
0043 __le32 node;
0044 __le32 port;
0045 } client;
0046 };
0047 } __packed;
0048
0049 #endif