Home | History | Annotate | Download | only in linux
      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