initial checkin of harald welte's original librfid project
[rfid/librfid.git] / include / librfid / rfid_layer2_iso15693.h
1 #ifndef _RFID_ISO15693_H
2 #define _RFID_ISO15693_H
3
4 #include <sys/types.h>
5
6 /*
7 07h = TagIt
8 04h = I.CODE
9 05h = Infineon
10 02h = ST
11 */
12
13 /* protocol definitions */
14
15 struct iso15693_handle;
16
17 struct iso15693_transport {
18         unsigned char   *name;
19
20         struct {
21                 int (*init)(struct iso15693_handle *handle);
22                 int (*fini)(struct iso15693_handle *handle);
23
24 #if 0
25                 int (*transcieve_sf)(struct iso14443a_handle *handle,
26                                      unsigned char cmd,
27                                      struct iso14443a_atqa *atqa);
28                 int (*transcieve_acf)(struct iso14443a_handle *handle,
29                                       struct iso14443a_anticol_cmd *acf,
30                                       unsigned int *bit_of_col);
31 #endif
32                 int (*transcieve)(struct iso15693_handle *handle,
33                                   const unsigned char *tx_buf,
34                                   unsigned int tx_len,
35                                   unsigned char *rx_buf,
36                                   unsigned int *rx_len);
37         } fn;
38
39         union {
40         } priv;
41 };
42
43 struct iso15693_handle {
44         unsigned int state;
45 };
46
47 enum iso15693_state {
48         ISO15693_STATE_ERROR,
49         ISO15693_STATE_NONE,
50 };
51
52 #include <librfid/rfid_layer2.h>
53 extern struct rfid_layer2 rfid_layer2_iso15693;
54
55 #endif /* _ISO15693_H */