xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/nfc.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 __LINUX_NFC_H
8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX_NFC_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 NFC_GENL_NAME "nfc"
12*8d67ca89SAndroid Build Coastguard Worker #define NFC_GENL_VERSION 1
13*8d67ca89SAndroid Build Coastguard Worker #define NFC_GENL_MCAST_EVENT_NAME "events"
14*8d67ca89SAndroid Build Coastguard Worker enum nfc_commands {
15*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_UNSPEC,
16*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_GET_DEVICE,
17*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_DEV_UP,
18*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_DEV_DOWN,
19*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_DEP_LINK_UP,
20*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_DEP_LINK_DOWN,
21*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_START_POLL,
22*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_STOP_POLL,
23*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_GET_TARGET,
24*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_TARGETS_FOUND,
25*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_DEVICE_ADDED,
26*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_DEVICE_REMOVED,
27*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_TARGET_LOST,
28*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_TM_ACTIVATED,
29*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_TM_DEACTIVATED,
30*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_LLC_GET_PARAMS,
31*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_LLC_SET_PARAMS,
32*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_ENABLE_SE,
33*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_DISABLE_SE,
34*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_LLC_SDREQ,
35*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_LLC_SDRES,
36*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_FW_DOWNLOAD,
37*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_SE_ADDED,
38*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_SE_REMOVED,
39*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_SE_CONNECTIVITY,
40*8d67ca89SAndroid Build Coastguard Worker   NFC_EVENT_SE_TRANSACTION,
41*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_GET_SE,
42*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_SE_IO,
43*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_ACTIVATE_TARGET,
44*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_VENDOR,
45*8d67ca89SAndroid Build Coastguard Worker   NFC_CMD_DEACTIVATE_TARGET,
46*8d67ca89SAndroid Build Coastguard Worker   __NFC_CMD_AFTER_LAST
47*8d67ca89SAndroid Build Coastguard Worker };
48*8d67ca89SAndroid Build Coastguard Worker #define NFC_CMD_MAX (__NFC_CMD_AFTER_LAST - 1)
49*8d67ca89SAndroid Build Coastguard Worker enum nfc_attrs {
50*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_UNSPEC,
51*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_DEVICE_INDEX,
52*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_DEVICE_NAME,
53*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_PROTOCOLS,
54*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_INDEX,
55*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_SENS_RES,
56*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_SEL_RES,
57*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_NFCID1,
58*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_SENSB_RES,
59*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_SENSF_RES,
60*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_COMM_MODE,
61*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_RF_MODE,
62*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_DEVICE_POWERED,
63*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_IM_PROTOCOLS,
64*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TM_PROTOCOLS,
65*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_LLC_PARAM_LTO,
66*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_LLC_PARAM_RW,
67*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_LLC_PARAM_MIUX,
68*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_SE,
69*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_LLC_SDP,
70*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_FIRMWARE_NAME,
71*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_SE_INDEX,
72*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_SE_TYPE,
73*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_SE_AID,
74*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS,
75*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_SE_APDU,
76*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_ISO15693_DSFID,
77*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_TARGET_ISO15693_UID,
78*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_SE_PARAMS,
79*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_VENDOR_ID,
80*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_VENDOR_SUBCMD,
81*8d67ca89SAndroid Build Coastguard Worker   NFC_ATTR_VENDOR_DATA,
82*8d67ca89SAndroid Build Coastguard Worker   __NFC_ATTR_AFTER_LAST
83*8d67ca89SAndroid Build Coastguard Worker };
84*8d67ca89SAndroid Build Coastguard Worker #define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST - 1)
85*8d67ca89SAndroid Build Coastguard Worker enum nfc_sdp_attr {
86*8d67ca89SAndroid Build Coastguard Worker   NFC_SDP_ATTR_UNSPEC,
87*8d67ca89SAndroid Build Coastguard Worker   NFC_SDP_ATTR_URI,
88*8d67ca89SAndroid Build Coastguard Worker   NFC_SDP_ATTR_SAP,
89*8d67ca89SAndroid Build Coastguard Worker   __NFC_SDP_ATTR_AFTER_LAST
90*8d67ca89SAndroid Build Coastguard Worker };
91*8d67ca89SAndroid Build Coastguard Worker #define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1)
92*8d67ca89SAndroid Build Coastguard Worker #define NFC_DEVICE_NAME_MAXSIZE 8
93*8d67ca89SAndroid Build Coastguard Worker #define NFC_NFCID1_MAXSIZE 10
94*8d67ca89SAndroid Build Coastguard Worker #define NFC_NFCID2_MAXSIZE 8
95*8d67ca89SAndroid Build Coastguard Worker #define NFC_NFCID3_MAXSIZE 10
96*8d67ca89SAndroid Build Coastguard Worker #define NFC_SENSB_RES_MAXSIZE 12
97*8d67ca89SAndroid Build Coastguard Worker #define NFC_SENSF_RES_MAXSIZE 18
98*8d67ca89SAndroid Build Coastguard Worker #define NFC_ATR_REQ_MAXSIZE 64
99*8d67ca89SAndroid Build Coastguard Worker #define NFC_ATR_RES_MAXSIZE 64
100*8d67ca89SAndroid Build Coastguard Worker #define NFC_ATR_REQ_GB_MAXSIZE 48
101*8d67ca89SAndroid Build Coastguard Worker #define NFC_ATR_RES_GB_MAXSIZE 47
102*8d67ca89SAndroid Build Coastguard Worker #define NFC_GB_MAXSIZE 48
103*8d67ca89SAndroid Build Coastguard Worker #define NFC_FIRMWARE_NAME_MAXSIZE 32
104*8d67ca89SAndroid Build Coastguard Worker #define NFC_ISO15693_UID_MAXSIZE 8
105*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_JEWEL 1
106*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_MIFARE 2
107*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_FELICA 3
108*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_ISO14443 4
109*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_NFC_DEP 5
110*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_ISO14443_B 6
111*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_ISO15693 7
112*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_MAX 8
113*8d67ca89SAndroid Build Coastguard Worker #define NFC_COMM_ACTIVE 0
114*8d67ca89SAndroid Build Coastguard Worker #define NFC_COMM_PASSIVE 1
115*8d67ca89SAndroid Build Coastguard Worker #define NFC_RF_INITIATOR 0
116*8d67ca89SAndroid Build Coastguard Worker #define NFC_RF_TARGET 1
117*8d67ca89SAndroid Build Coastguard Worker #define NFC_RF_NONE 2
118*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_JEWEL_MASK (1 << NFC_PROTO_JEWEL)
119*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_MIFARE_MASK (1 << NFC_PROTO_MIFARE)
120*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_FELICA_MASK (1 << NFC_PROTO_FELICA)
121*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443)
122*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP)
123*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B)
124*8d67ca89SAndroid Build Coastguard Worker #define NFC_PROTO_ISO15693_MASK (1 << NFC_PROTO_ISO15693)
125*8d67ca89SAndroid Build Coastguard Worker #define NFC_SE_UICC 0x1
126*8d67ca89SAndroid Build Coastguard Worker #define NFC_SE_EMBEDDED 0x2
127*8d67ca89SAndroid Build Coastguard Worker #define NFC_SE_DISABLED 0x0
128*8d67ca89SAndroid Build Coastguard Worker #define NFC_SE_ENABLED 0x1
129*8d67ca89SAndroid Build Coastguard Worker struct sockaddr_nfc {
130*8d67ca89SAndroid Build Coastguard Worker   __kernel_sa_family_t sa_family;
131*8d67ca89SAndroid Build Coastguard Worker   __u32 dev_idx;
132*8d67ca89SAndroid Build Coastguard Worker   __u32 target_idx;
133*8d67ca89SAndroid Build Coastguard Worker   __u32 nfc_protocol;
134*8d67ca89SAndroid Build Coastguard Worker };
135*8d67ca89SAndroid Build Coastguard Worker #define NFC_LLCP_MAX_SERVICE_NAME 63
136*8d67ca89SAndroid Build Coastguard Worker struct sockaddr_nfc_llcp {
137*8d67ca89SAndroid Build Coastguard Worker   __kernel_sa_family_t sa_family;
138*8d67ca89SAndroid Build Coastguard Worker   __u32 dev_idx;
139*8d67ca89SAndroid Build Coastguard Worker   __u32 target_idx;
140*8d67ca89SAndroid Build Coastguard Worker   __u32 nfc_protocol;
141*8d67ca89SAndroid Build Coastguard Worker   __u8 dsap;
142*8d67ca89SAndroid Build Coastguard Worker   __u8 ssap;
143*8d67ca89SAndroid Build Coastguard Worker   char service_name[NFC_LLCP_MAX_SERVICE_NAME];
144*8d67ca89SAndroid Build Coastguard Worker ;
145*8d67ca89SAndroid Build Coastguard Worker   __kernel_size_t service_name_len;
146*8d67ca89SAndroid Build Coastguard Worker };
147*8d67ca89SAndroid Build Coastguard Worker #define NFC_SOCKPROTO_RAW 0
148*8d67ca89SAndroid Build Coastguard Worker #define NFC_SOCKPROTO_LLCP 1
149*8d67ca89SAndroid Build Coastguard Worker #define NFC_SOCKPROTO_MAX 2
150*8d67ca89SAndroid Build Coastguard Worker #define NFC_HEADER_SIZE 1
151*8d67ca89SAndroid Build Coastguard Worker #define NFC_RAW_HEADER_SIZE 2
152*8d67ca89SAndroid Build Coastguard Worker #define NFC_DIRECTION_RX 0x00
153*8d67ca89SAndroid Build Coastguard Worker #define NFC_DIRECTION_TX 0x01
154*8d67ca89SAndroid Build Coastguard Worker #define RAW_PAYLOAD_LLCP 0
155*8d67ca89SAndroid Build Coastguard Worker #define RAW_PAYLOAD_NCI 1
156*8d67ca89SAndroid Build Coastguard Worker #define RAW_PAYLOAD_HCI 2
157*8d67ca89SAndroid Build Coastguard Worker #define RAW_PAYLOAD_DIGITAL 3
158*8d67ca89SAndroid Build Coastguard Worker #define RAW_PAYLOAD_PROPRIETARY 4
159*8d67ca89SAndroid Build Coastguard Worker #define NFC_LLCP_RW 0
160*8d67ca89SAndroid Build Coastguard Worker #define NFC_LLCP_MIUX 1
161*8d67ca89SAndroid Build Coastguard Worker #define NFC_LLCP_REMOTE_MIU 2
162*8d67ca89SAndroid Build Coastguard Worker #define NFC_LLCP_REMOTE_LTO 3
163*8d67ca89SAndroid Build Coastguard Worker #define NFC_LLCP_REMOTE_RW 4
164*8d67ca89SAndroid Build Coastguard Worker #endif
165