1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_NFC_H
20 #define __LINUX_NFC_H
21 #include <linux/types.h>
22 #include <linux/socket.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define NFC_GENL_NAME "nfc"
25 #define NFC_GENL_VERSION 1
26 #define NFC_GENL_MCAST_EVENT_NAME "events"
27 enum nfc_commands {
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29   NFC_CMD_UNSPEC,
30   NFC_CMD_GET_DEVICE,
31   NFC_CMD_DEV_UP,
32   NFC_CMD_DEV_DOWN,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   NFC_CMD_DEP_LINK_UP,
35   NFC_CMD_DEP_LINK_DOWN,
36   NFC_CMD_START_POLL,
37   NFC_CMD_STOP_POLL,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   NFC_CMD_GET_TARGET,
40   NFC_EVENT_TARGETS_FOUND,
41   NFC_EVENT_DEVICE_ADDED,
42   NFC_EVENT_DEVICE_REMOVED,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   NFC_EVENT_TARGET_LOST,
45   NFC_EVENT_TM_ACTIVATED,
46   NFC_EVENT_TM_DEACTIVATED,
47   NFC_CMD_LLC_GET_PARAMS,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   NFC_CMD_LLC_SET_PARAMS,
50   NFC_CMD_ENABLE_SE,
51   NFC_CMD_DISABLE_SE,
52   NFC_CMD_LLC_SDREQ,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   NFC_EVENT_LLC_SDRES,
55   NFC_CMD_FW_DOWNLOAD,
56   NFC_EVENT_SE_ADDED,
57   NFC_EVENT_SE_REMOVED,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   NFC_EVENT_SE_CONNECTIVITY,
60   NFC_EVENT_SE_TRANSACTION,
61   NFC_CMD_GET_SE,
62   NFC_CMD_SE_IO,
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   __NFC_CMD_AFTER_LAST
65 };
66 #define NFC_CMD_MAX (__NFC_CMD_AFTER_LAST - 1)
67 enum nfc_attrs {
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   NFC_ATTR_UNSPEC,
70   NFC_ATTR_DEVICE_INDEX,
71   NFC_ATTR_DEVICE_NAME,
72   NFC_ATTR_PROTOCOLS,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   NFC_ATTR_TARGET_INDEX,
75   NFC_ATTR_TARGET_SENS_RES,
76   NFC_ATTR_TARGET_SEL_RES,
77   NFC_ATTR_TARGET_NFCID1,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   NFC_ATTR_TARGET_SENSB_RES,
80   NFC_ATTR_TARGET_SENSF_RES,
81   NFC_ATTR_COMM_MODE,
82   NFC_ATTR_RF_MODE,
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   NFC_ATTR_DEVICE_POWERED,
85   NFC_ATTR_IM_PROTOCOLS,
86   NFC_ATTR_TM_PROTOCOLS,
87   NFC_ATTR_LLC_PARAM_LTO,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   NFC_ATTR_LLC_PARAM_RW,
90   NFC_ATTR_LLC_PARAM_MIUX,
91   NFC_ATTR_SE,
92   NFC_ATTR_LLC_SDP,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   NFC_ATTR_FIRMWARE_NAME,
95   NFC_ATTR_SE_INDEX,
96   NFC_ATTR_SE_TYPE,
97   NFC_ATTR_SE_AID,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS,
100   NFC_ATTR_SE_APDU,
101   NFC_ATTR_TARGET_ISO15693_DSFID,
102   NFC_ATTR_TARGET_ISO15693_UID,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   __NFC_ATTR_AFTER_LAST
105 };
106 #define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST - 1)
107 enum nfc_sdp_attr {
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   NFC_SDP_ATTR_UNSPEC,
110   NFC_SDP_ATTR_URI,
111   NFC_SDP_ATTR_SAP,
112   __NFC_SDP_ATTR_AFTER_LAST
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 };
115 #define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1)
116 #define NFC_DEVICE_NAME_MAXSIZE 8
117 #define NFC_NFCID1_MAXSIZE 10
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 #define NFC_NFCID2_MAXSIZE 8
120 #define NFC_NFCID3_MAXSIZE 10
121 #define NFC_SENSB_RES_MAXSIZE 12
122 #define NFC_SENSF_RES_MAXSIZE 18
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #define NFC_GB_MAXSIZE 48
125 #define NFC_FIRMWARE_NAME_MAXSIZE 32
126 #define NFC_ISO15693_UID_MAXSIZE 8
127 #define NFC_PROTO_JEWEL 1
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 #define NFC_PROTO_MIFARE 2
130 #define NFC_PROTO_FELICA 3
131 #define NFC_PROTO_ISO14443 4
132 #define NFC_PROTO_NFC_DEP 5
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 #define NFC_PROTO_ISO14443_B 6
135 #define NFC_PROTO_ISO15693 7
136 #define NFC_PROTO_MAX 8
137 #define NFC_COMM_ACTIVE 0
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define NFC_COMM_PASSIVE 1
140 #define NFC_RF_INITIATOR 0
141 #define NFC_RF_TARGET 1
142 #define NFC_RF_NONE 2
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define NFC_PROTO_JEWEL_MASK (1 << NFC_PROTO_JEWEL)
145 #define NFC_PROTO_MIFARE_MASK (1 << NFC_PROTO_MIFARE)
146 #define NFC_PROTO_FELICA_MASK (1 << NFC_PROTO_FELICA)
147 #define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443)
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP)
150 #define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B)
151 #define NFC_PROTO_ISO15693_MASK (1 << NFC_PROTO_ISO15693)
152 #define NFC_SE_UICC 0x1
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define NFC_SE_EMBEDDED 0x2
155 #define NFC_SE_DISABLED 0x0
156 #define NFC_SE_ENABLED 0x1
157 struct sockaddr_nfc {
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   sa_family_t sa_family;
160   __u32 dev_idx;
161   __u32 target_idx;
162   __u32 nfc_protocol;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 };
165 #define NFC_LLCP_MAX_SERVICE_NAME 63
166 struct sockaddr_nfc_llcp {
167   sa_family_t sa_family;
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169   __u32 dev_idx;
170   __u32 target_idx;
171   __u32 nfc_protocol;
172   __u8 dsap;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   __u8 ssap;
175   char service_name[NFC_LLCP_MAX_SERVICE_NAME];
176 ;
177   size_t service_name_len;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 };
180 #define NFC_SOCKPROTO_RAW 0
181 #define NFC_SOCKPROTO_LLCP 1
182 #define NFC_SOCKPROTO_MAX 2
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define NFC_HEADER_SIZE 1
185 #define NFC_RAW_HEADER_SIZE 2
186 #define NFC_DIRECTION_RX 0x00
187 #define NFC_DIRECTION_TX 0x01
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 #define RAW_PAYLOAD_LLCP 0
190 #define RAW_PAYLOAD_NCI 1
191 #define RAW_PAYLOAD_HCI 2
192 #define RAW_PAYLOAD_DIGITAL 3
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define RAW_PAYLOAD_PROPRIETARY 4
195 #define NFC_LLCP_RW 0
196 #define NFC_LLCP_MIUX 1
197 #define NFC_LLCP_REMOTE_MIU 2
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 #define NFC_LLCP_REMOTE_LTO 3
200 #define NFC_LLCP_REMOTE_RW 4
201 #endif
202