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
11struct sockaddr_qrtr {
12 __kernel_sa_family_t sq_family;
13 __u32 sq_node;
14 __u32 sq_port;
15};
16
17enum 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
31struct 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

source code of linux/include/uapi/linux/qrtr.h