| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
| #ifndef _LINUX_QRTR_H |
| #define _LINUX_QRTR_H |
| |
| #include <linux/socket.h> |
| #include <linux/types.h> |
| |
| #define QRTR_NODE_BCAST 0xffffffffu |
| #define QRTR_PORT_CTRL 0xfffffffeu |
| |
| struct sockaddr_qrtr { |
| __kernel_sa_family_t sq_family; |
| __u32 sq_node; |
| __u32 sq_port; |
| }; |
| |
| enum qrtr_pkt_type { |
| QRTR_TYPE_DATA = 1, |
| QRTR_TYPE_HELLO = 2, |
| QRTR_TYPE_BYE = 3, |
| QRTR_TYPE_NEW_SERVER = 4, |
| QRTR_TYPE_DEL_SERVER = 5, |
| QRTR_TYPE_DEL_CLIENT = 6, |
| QRTR_TYPE_RESUME_TX = 7, |
| QRTR_TYPE_EXIT = 8, |
| QRTR_TYPE_PING = 9, |
| QRTR_TYPE_NEW_LOOKUP = 10, |
| QRTR_TYPE_DEL_LOOKUP = 11, |
| }; |
| |
| struct qrtr_ctrl_pkt { |
| __le32 cmd; |
| |
| union { |
| struct { |
| __le32 service; |
| __le32 instance; |
| __le32 node; |
| __le32 port; |
| } server; |
| |
| struct { |
| __le32 node; |
| __le32 port; |
| } client; |
| }; |
| } __packed; |
| |
| #endif /* _LINUX_QRTR_H */ |