~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/nfc.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/nfc.h (Version linux-6.12-rc7) and /include/uapi/linux/nfc.h (Version linux-2.6.0)


  1 /*                                                  1 
  2  * Copyright (C) 2011 Instituto Nokia de Tecno    
  3  *                                                
  4  * Authors:                                       
  5  *    Lauro Ramos Venancio <lauro.venancio@ope    
  6  *    Aloisio Almeida Jr <aloisio.almeida@open    
  7  *                                                
  8  * Permission to use, copy, modify, and/or dis    
  9  * purpose with or without fee is hereby grant    
 10  * copyright notice and this permission notice    
 11  *                                                
 12  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AU    
 13  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL     
 14  * MERCHANTABILITY AND FITNESS. IN NO EVENT SH    
 15  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUEN    
 16  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA    
 17  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TOR    
 18  * OR IN CONNECTION WITH THE USE OR PERFORMANC    
 19  */                                               
 20                                                   
 21 #ifndef __LINUX_NFC_H                             
 22 #define __LINUX_NFC_H                             
 23                                                   
 24 #include <linux/types.h>                          
 25 #include <linux/socket.h>                         
 26                                                   
 27 #define NFC_GENL_NAME "nfc"                       
 28 #define NFC_GENL_VERSION 1                        
 29                                                   
 30 #define NFC_GENL_MCAST_EVENT_NAME "events"        
 31                                                   
 32 /**                                               
 33  * enum nfc_commands - supported nfc commands     
 34  *                                                
 35  * @NFC_CMD_UNSPEC: unspecified command           
 36  *                                                
 37  * @NFC_CMD_GET_DEVICE: request information ab    
 38  *      %NFC_ATTR_DEVICE_INDEX) or dump reques    
 39  * @NFC_CMD_DEV_UP: turn on the nfc device        
 40  *      (requires %NFC_ATTR_DEVICE_INDEX)         
 41  * @NFC_CMD_DEV_DOWN: turn off the nfc device     
 42  *      (requires %NFC_ATTR_DEVICE_INDEX)         
 43  * @NFC_CMD_START_POLL: start polling for targ    
 44  *      (requires %NFC_ATTR_DEVICE_INDEX and %    
 45  * @NFC_CMD_STOP_POLL: stop polling for target    
 46  *      %NFC_ATTR_DEVICE_INDEX)                   
 47  * @NFC_CMD_GET_TARGET: dump all targets found    
 48  *      %NFC_ATTR_DEVICE_INDEX)                   
 49  * @NFC_EVENT_TARGETS_FOUND: event emitted whe    
 50  *      (it sends %NFC_ATTR_DEVICE_INDEX)         
 51  * @NFC_EVENT_DEVICE_ADDED: event emitted when    
 52  *      (it sends %NFC_ATTR_DEVICE_NAME, %NFC_    
 53  *      %NFC_ATTR_PROTOCOLS)                      
 54  * @NFC_EVENT_DEVICE_REMOVED: event emitted wh    
 55  *      (it sends %NFC_ATTR_DEVICE_INDEX)         
 56  * @NFC_EVENT_TM_ACTIVATED: event emitted when    
 57  *      target mode.                              
 58  * @NFC_EVENT_DEVICE_DEACTIVATED: event emitte    
 59  *      from target mode.                         
 60  * @NFC_CMD_LLC_GET_PARAMS: request LTO, RW, a    
 61  * @NFC_CMD_LLC_SET_PARAMS: set one or more of    
 62  *      a device. LTO must be set before the l    
 63  *      is returned. RW and MIUX can be set at    
 64  *      subsequent CONNECT and CC messages.       
 65  *      If one of the passed parameters is wro    
 66  *      returned.                                 
 67  * @NFC_CMD_ENABLE_SE: Enable the physical lin    
 68  *      Once enabled a secure element will han    
 69  *      starting a poll from a device which ha    
 70  *      we want to do SE based card emulation.    
 71  * @NFC_CMD_DISABLE_SE: Disable the physical l    
 72  * @NFC_CMD_FW_DOWNLOAD: Request to Load/flash    
 73  *      that some firmware was loaded             
 74  * @NFC_EVENT_SE_ADDED: Event emitted when a n    
 75  *      This typically will be sent whenever a    
 76  *      an embedded SE or an UICC one connecte    
 77  * @NFC_EVENT_SE_REMOVED: Event emitted when a    
 78  *      the system, as a consequence of e.g. a    
 79  * @NFC_EVENT_SE_CONNECTIVITY: This event is e    
 80  *      is requesting connectivity access. For    
 81  *      talk with a sleeping modem and will no    
 82  *      event. It is then up to userspace to d    
 83  *      up or not.                                
 84  * @NFC_EVENT_SE_TRANSACTION: This event is se    
 85  *      a specific SE notifies us about the en    
 86  *      for this event is the application ID (    
 87  * @NFC_CMD_GET_SE: Dump all discovered secure    
 88  * @NFC_CMD_SE_IO: Send/Receive APDUs to/from     
 89  * @NFC_CMD_ACTIVATE_TARGET: Request NFC contr    
 90  * @NFC_CMD_VENDOR: Vendor specific command, t    
 91  *      from the driver in order to support ha    
 92  * @NFC_CMD_DEACTIVATE_TARGET: Request NFC con    
 93  */                                               
 94 enum nfc_commands {                               
 95         NFC_CMD_UNSPEC,                           
 96         NFC_CMD_GET_DEVICE,                       
 97         NFC_CMD_DEV_UP,                           
 98         NFC_CMD_DEV_DOWN,                         
 99         NFC_CMD_DEP_LINK_UP,                      
100         NFC_CMD_DEP_LINK_DOWN,                    
101         NFC_CMD_START_POLL,                       
102         NFC_CMD_STOP_POLL,                        
103         NFC_CMD_GET_TARGET,                       
104         NFC_EVENT_TARGETS_FOUND,                  
105         NFC_EVENT_DEVICE_ADDED,                   
106         NFC_EVENT_DEVICE_REMOVED,                 
107         NFC_EVENT_TARGET_LOST,                    
108         NFC_EVENT_TM_ACTIVATED,                   
109         NFC_EVENT_TM_DEACTIVATED,                 
110         NFC_CMD_LLC_GET_PARAMS,                   
111         NFC_CMD_LLC_SET_PARAMS,                   
112         NFC_CMD_ENABLE_SE,                        
113         NFC_CMD_DISABLE_SE,                       
114         NFC_CMD_LLC_SDREQ,                        
115         NFC_EVENT_LLC_SDRES,                      
116         NFC_CMD_FW_DOWNLOAD,                      
117         NFC_EVENT_SE_ADDED,                       
118         NFC_EVENT_SE_REMOVED,                     
119         NFC_EVENT_SE_CONNECTIVITY,                
120         NFC_EVENT_SE_TRANSACTION,                 
121         NFC_CMD_GET_SE,                           
122         NFC_CMD_SE_IO,                            
123         NFC_CMD_ACTIVATE_TARGET,                  
124         NFC_CMD_VENDOR,                           
125         NFC_CMD_DEACTIVATE_TARGET,                
126 /* private: internal use only */                  
127         __NFC_CMD_AFTER_LAST                      
128 };                                                
129 #define NFC_CMD_MAX (__NFC_CMD_AFTER_LAST - 1)    
130                                                   
131 /**                                               
132  * enum nfc_attrs - supported nfc attributes      
133  *                                                
134  * @NFC_ATTR_UNSPEC: unspecified attribute        
135  *                                                
136  * @NFC_ATTR_DEVICE_INDEX: index of nfc device    
137  * @NFC_ATTR_DEVICE_NAME: device name, max 8 c    
138  * @NFC_ATTR_PROTOCOLS: nfc protocols - bitwis    
139  *      NFC_PROTO_*_MASK constants                
140  * @NFC_ATTR_TARGET_INDEX: index of the nfc ta    
141  * @NFC_ATTR_TARGET_SENS_RES: NFC-A targets ex    
142  * @NFC_ATTR_TARGET_SEL_RES: NFC-A targets ext    
143  *      target is not NFC-Forum compliant)        
144  * @NFC_ATTR_TARGET_NFCID1: NFC-A targets iden    
145  * @NFC_ATTR_TARGET_SENSB_RES: NFC-B targets e    
146  * @NFC_ATTR_TARGET_SENSF_RES: NFC-F targets e    
147  * @NFC_ATTR_COMM_MODE: Passive or active mode    
148  * @NFC_ATTR_RF_MODE: Initiator or target         
149  * @NFC_ATTR_IM_PROTOCOLS: Initiator mode prot    
150  * @NFC_ATTR_TM_PROTOCOLS: Target mode protoco    
151  * @NFC_ATTR_LLC_PARAM_LTO: Link TimeOut param    
152  * @NFC_ATTR_LLC_PARAM_RW: Receive Window size    
153  * @NFC_ATTR_LLC_PARAM_MIUX: MIU eXtension par    
154  * @NFC_ATTR_SE: Available Secure Elements        
155  * @NFC_ATTR_FIRMWARE_NAME: Free format firmwa    
156  * @NFC_ATTR_SE_INDEX: Secure element index       
157  * @NFC_ATTR_SE_TYPE: Secure element type (UIC    
158  * @NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS: Firmwar    
159  * @NFC_ATTR_APDU: Secure element APDU            
160  * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693     
161  * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Un    
162  * @NFC_ATTR_SE_PARAMS: Parameters data from a    
163  * @NFC_ATTR_VENDOR_ID: NFC manufacturer uniqu    
164  * @NFC_ATTR_VENDOR_SUBCMD: Vendor specific su    
165  * @NFC_ATTR_VENDOR_DATA: Vendor specific data    
166  *      to a vendor specific command implement    
167  */                                               
168 enum nfc_attrs {                                  
169         NFC_ATTR_UNSPEC,                          
170         NFC_ATTR_DEVICE_INDEX,                    
171         NFC_ATTR_DEVICE_NAME,                     
172         NFC_ATTR_PROTOCOLS,                       
173         NFC_ATTR_TARGET_INDEX,                    
174         NFC_ATTR_TARGET_SENS_RES,                 
175         NFC_ATTR_TARGET_SEL_RES,                  
176         NFC_ATTR_TARGET_NFCID1,                   
177         NFC_ATTR_TARGET_SENSB_RES,                
178         NFC_ATTR_TARGET_SENSF_RES,                
179         NFC_ATTR_COMM_MODE,                       
180         NFC_ATTR_RF_MODE,                         
181         NFC_ATTR_DEVICE_POWERED,                  
182         NFC_ATTR_IM_PROTOCOLS,                    
183         NFC_ATTR_TM_PROTOCOLS,                    
184         NFC_ATTR_LLC_PARAM_LTO,                   
185         NFC_ATTR_LLC_PARAM_RW,                    
186         NFC_ATTR_LLC_PARAM_MIUX,                  
187         NFC_ATTR_SE,                              
188         NFC_ATTR_LLC_SDP,                         
189         NFC_ATTR_FIRMWARE_NAME,                   
190         NFC_ATTR_SE_INDEX,                        
191         NFC_ATTR_SE_TYPE,                         
192         NFC_ATTR_SE_AID,                          
193         NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS,        
194         NFC_ATTR_SE_APDU,                         
195         NFC_ATTR_TARGET_ISO15693_DSFID,           
196         NFC_ATTR_TARGET_ISO15693_UID,             
197         NFC_ATTR_SE_PARAMS,                       
198         NFC_ATTR_VENDOR_ID,                       
199         NFC_ATTR_VENDOR_SUBCMD,                   
200         NFC_ATTR_VENDOR_DATA,                     
201 /* private: internal use only */                  
202         __NFC_ATTR_AFTER_LAST                     
203 };                                                
204 #define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST -     
205                                                   
206 enum nfc_sdp_attr {                               
207         NFC_SDP_ATTR_UNSPEC,                      
208         NFC_SDP_ATTR_URI,                         
209         NFC_SDP_ATTR_SAP,                         
210 /* private: internal use only */                  
211         __NFC_SDP_ATTR_AFTER_LAST                 
212 };                                                
213 #define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER    
214                                                   
215 #define NFC_DEVICE_NAME_MAXSIZE         8         
216 #define NFC_NFCID1_MAXSIZE              10        
217 #define NFC_NFCID2_MAXSIZE              8         
218 #define NFC_NFCID3_MAXSIZE              10        
219 #define NFC_SENSB_RES_MAXSIZE           12        
220 #define NFC_SENSF_RES_MAXSIZE           18        
221 #define NFC_ATR_REQ_MAXSIZE             64        
222 #define NFC_ATR_RES_MAXSIZE             64        
223 #define NFC_ATR_REQ_GB_MAXSIZE          48        
224 #define NFC_ATR_RES_GB_MAXSIZE          47        
225 #define NFC_GB_MAXSIZE                  48        
226 #define NFC_FIRMWARE_NAME_MAXSIZE       32        
227 #define NFC_ISO15693_UID_MAXSIZE        8         
228                                                   
229 /* NFC protocols */                               
230 #define NFC_PROTO_JEWEL         1                 
231 #define NFC_PROTO_MIFARE        2                 
232 #define NFC_PROTO_FELICA        3                 
233 #define NFC_PROTO_ISO14443      4                 
234 #define NFC_PROTO_NFC_DEP       5                 
235 #define NFC_PROTO_ISO14443_B    6                 
236 #define NFC_PROTO_ISO15693      7                 
237                                                   
238 #define NFC_PROTO_MAX           8                 
239                                                   
240 /* NFC communication modes */                     
241 #define NFC_COMM_ACTIVE  0                        
242 #define NFC_COMM_PASSIVE 1                        
243                                                   
244 /* NFC RF modes */                                
245 #define NFC_RF_INITIATOR 0                        
246 #define NFC_RF_TARGET    1                        
247 #define NFC_RF_NONE      2                        
248                                                   
249 /* NFC protocols masks used in bitsets */         
250 #define NFC_PROTO_JEWEL_MASK      (1 << NFC_PR    
251 #define NFC_PROTO_MIFARE_MASK     (1 << NFC_PR    
252 #define NFC_PROTO_FELICA_MASK     (1 << NFC_PR    
253 #define NFC_PROTO_ISO14443_MASK   (1 << NFC_PR    
254 #define NFC_PROTO_NFC_DEP_MASK    (1 << NFC_PR    
255 #define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PR    
256 #define NFC_PROTO_ISO15693_MASK   (1 << NFC_PR    
257                                                   
258 /* NFC Secure Elements */                         
259 #define NFC_SE_UICC     0x1                       
260 #define NFC_SE_EMBEDDED 0x2                       
261                                                   
262 #define NFC_SE_DISABLED 0x0                       
263 #define NFC_SE_ENABLED  0x1                       
264                                                   
265 struct sockaddr_nfc {                             
266         __kernel_sa_family_t sa_family;           
267         __u32 dev_idx;                            
268         __u32 target_idx;                         
269         __u32 nfc_protocol;                       
270 };                                                
271                                                   
272 #define NFC_LLCP_MAX_SERVICE_NAME 63              
273 struct sockaddr_nfc_llcp {                        
274         __kernel_sa_family_t sa_family;           
275         __u32 dev_idx;                            
276         __u32 target_idx;                         
277         __u32 nfc_protocol;                       
278         __u8 dsap; /* Destination SAP, if know    
279         __u8 ssap; /* Source SAP to be bound t    
280         char service_name[NFC_LLCP_MAX_SERVICE    
281         __kernel_size_t service_name_len;         
282 };                                                
283                                                   
284 /* NFC socket protocols */                        
285 #define NFC_SOCKPROTO_RAW       0                 
286 #define NFC_SOCKPROTO_LLCP      1                 
287 #define NFC_SOCKPROTO_MAX       2                 
288                                                   
289 #define NFC_HEADER_SIZE 1                         
290                                                   
291 /**                                               
292  * Pseudo-header info for raw socket packets      
293  * First byte is the adapter index                
294  * Second byte contains flags                     
295  *  - 0x01 - Direction (0=RX, 1=TX)               
296  *  - 0x02-0x04 - Payload type (000=LLCP, 001=    
297  *                              100=Proprietar    
298  *  - 0x05-0x80 - Reserved                        
299  **/                                              
300 #define NFC_RAW_HEADER_SIZE     2                 
301 #define NFC_DIRECTION_RX                0x00      
302 #define NFC_DIRECTION_TX                0x01      
303                                                   
304 #define RAW_PAYLOAD_LLCP 0                        
305 #define RAW_PAYLOAD_NCI 1                         
306 #define RAW_PAYLOAD_HCI 2                         
307 #define RAW_PAYLOAD_DIGITAL     3                 
308 #define RAW_PAYLOAD_PROPRIETARY 4                 
309                                                   
310 /* socket option names */                         
311 #define NFC_LLCP_RW             0                 
312 #define NFC_LLCP_MIUX           1                 
313 #define NFC_LLCP_REMOTE_MIU     2                 
314 #define NFC_LLCP_REMOTE_LTO     3                 
315 #define NFC_LLCP_REMOTE_RW      4                 
316                                                   
317 #endif /*__LINUX_NFC_H */                         
318                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php