xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/phonet.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPILINUX_PHONET_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPILINUX_PHONET_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/socket.h>
11*8d67ca89SAndroid Build Coastguard Worker #define PN_PROTO_TRANSPORT 0
12*8d67ca89SAndroid Build Coastguard Worker #define PN_PROTO_PHONET 1
13*8d67ca89SAndroid Build Coastguard Worker #define PN_PROTO_PIPE 2
14*8d67ca89SAndroid Build Coastguard Worker #define PHONET_NPROTO 3
15*8d67ca89SAndroid Build Coastguard Worker #define PNPIPE_ENCAP 1
16*8d67ca89SAndroid Build Coastguard Worker #define PNPIPE_IFINDEX 2
17*8d67ca89SAndroid Build Coastguard Worker #define PNPIPE_HANDLE 3
18*8d67ca89SAndroid Build Coastguard Worker #define PNPIPE_INITSTATE 4
19*8d67ca89SAndroid Build Coastguard Worker #define PNADDR_ANY 0
20*8d67ca89SAndroid Build Coastguard Worker #define PNADDR_BROADCAST 0xFC
21*8d67ca89SAndroid Build Coastguard Worker #define PNPORT_RESOURCE_ROUTING 0
22*8d67ca89SAndroid Build Coastguard Worker #define PNPIPE_ENCAP_NONE 0
23*8d67ca89SAndroid Build Coastguard Worker #define PNPIPE_ENCAP_IP 1
24*8d67ca89SAndroid Build Coastguard Worker #define SIOCPNGETOBJECT (SIOCPROTOPRIVATE + 0)
25*8d67ca89SAndroid Build Coastguard Worker #define SIOCPNENABLEPIPE (SIOCPROTOPRIVATE + 13)
26*8d67ca89SAndroid Build Coastguard Worker #define SIOCPNADDRESOURCE (SIOCPROTOPRIVATE + 14)
27*8d67ca89SAndroid Build Coastguard Worker #define SIOCPNDELRESOURCE (SIOCPROTOPRIVATE + 15)
28*8d67ca89SAndroid Build Coastguard Worker struct phonethdr {
29*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_rdev;
30*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_sdev;
31*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_res;
32*8d67ca89SAndroid Build Coastguard Worker   __be16 pn_length;
33*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_robj;
34*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_sobj;
35*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
36*8d67ca89SAndroid Build Coastguard Worker struct phonetmsg {
37*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_trans_id;
38*8d67ca89SAndroid Build Coastguard Worker   __u8 pn_msg_id;
39*8d67ca89SAndroid Build Coastguard Worker   union {
40*8d67ca89SAndroid Build Coastguard Worker     struct {
41*8d67ca89SAndroid Build Coastguard Worker       __u8 pn_submsg_id;
42*8d67ca89SAndroid Build Coastguard Worker       __u8 pn_data[5];
43*8d67ca89SAndroid Build Coastguard Worker     } base;
44*8d67ca89SAndroid Build Coastguard Worker     struct {
45*8d67ca89SAndroid Build Coastguard Worker       __u16 pn_e_res_id;
46*8d67ca89SAndroid Build Coastguard Worker       __u8 pn_e_submsg_id;
47*8d67ca89SAndroid Build Coastguard Worker       __u8 pn_e_data[3];
48*8d67ca89SAndroid Build Coastguard Worker     } ext;
49*8d67ca89SAndroid Build Coastguard Worker   } pn_msg_u;
50*8d67ca89SAndroid Build Coastguard Worker };
51*8d67ca89SAndroid Build Coastguard Worker #define PN_COMMON_MESSAGE 0xF0
52*8d67ca89SAndroid Build Coastguard Worker #define PN_COMMGR 0x10
53*8d67ca89SAndroid Build Coastguard Worker #define PN_PREFIX 0xE0
54*8d67ca89SAndroid Build Coastguard Worker #define pn_submsg_id pn_msg_u.base.pn_submsg_id
55*8d67ca89SAndroid Build Coastguard Worker #define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id
56*8d67ca89SAndroid Build Coastguard Worker #define pn_e_res_id pn_msg_u.ext.pn_e_res_id
57*8d67ca89SAndroid Build Coastguard Worker #define pn_data pn_msg_u.base.pn_data
58*8d67ca89SAndroid Build Coastguard Worker #define pn_e_data pn_msg_u.ext.pn_e_data
59*8d67ca89SAndroid Build Coastguard Worker #define PN_COMM_SERVICE_NOT_IDENTIFIED_RESP 0x01
60*8d67ca89SAndroid Build Coastguard Worker #define PN_COMM_ISA_ENTITY_NOT_REACHABLE_RESP 0x14
61*8d67ca89SAndroid Build Coastguard Worker #define pn_orig_msg_id pn_data[0]
62*8d67ca89SAndroid Build Coastguard Worker #define pn_status pn_data[1]
63*8d67ca89SAndroid Build Coastguard Worker #define pn_e_orig_msg_id pn_e_data[0]
64*8d67ca89SAndroid Build Coastguard Worker #define pn_e_status pn_e_data[1]
65*8d67ca89SAndroid Build Coastguard Worker struct sockaddr_pn {
66*8d67ca89SAndroid Build Coastguard Worker   __kernel_sa_family_t spn_family;
67*8d67ca89SAndroid Build Coastguard Worker   __u8 spn_obj;
68*8d67ca89SAndroid Build Coastguard Worker   __u8 spn_dev;
69*8d67ca89SAndroid Build Coastguard Worker   __u8 spn_resource;
70*8d67ca89SAndroid Build Coastguard Worker   __u8 spn_zero[sizeof(struct sockaddr) - sizeof(__kernel_sa_family_t) - 3];
71*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
72*8d67ca89SAndroid Build Coastguard Worker #define PN_DEV_PC 0x10
73*8d67ca89SAndroid Build Coastguard Worker #endif
74