summaryrefslogtreecommitdiff
path: root/include/rfid/rfid_protocol_tcl.h
diff options
context:
space:
mode:
authorlaforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede>2005-05-29 18:05:31 +0000
committerlaforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede>2005-05-29 18:05:31 +0000
commitb0fef13efe84d8601a9496098429b4a080e20c9e (patch)
tree3439f4cb8ce60a622eb2b372b8c7e92068f2f654 /include/rfid/rfid_protocol_tcl.h
move librfid to new location in repository
git-svn-id: https://svn.gnumonks.org/trunk/librfid@1181 e0336214-984f-0b4b-a45f-81c69e1f0ede
Diffstat (limited to 'include/rfid/rfid_protocol_tcl.h')
-rw-r--r--include/rfid/rfid_protocol_tcl.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/include/rfid/rfid_protocol_tcl.h b/include/rfid/rfid_protocol_tcl.h
new file mode 100644
index 0000000..b913e80
--- /dev/null
+++ b/include/rfid/rfid_protocol_tcl.h
@@ -0,0 +1,65 @@
+#ifndef _RFID_PROTOCOL_TCL_H
+#define _RFID_PROTOCOL_TCL_H
+
+enum tcl_transport_rate {
+ TCL_RATE_106 = 0x01,
+ TCL_RATE_212 = 0x02,
+ TCL_RATE_424 = 0x04,
+ TCL_RATE_848 = 0x08,
+};
+
+enum tcl_transport_transcieve_flags {
+ TCL_TRANSP_F_TX_CRC = 0x01, /* transport adds TX CRC */
+ TCL_TRANSP_F_RX_CRC = 0x02,
+};
+
+
+struct tcl_handle {
+ /* derived from ats */
+ unsigned char *historical_bytes; /* points into ats */
+ unsigned int historical_len;
+
+ unsigned int fsc; /* max frame size accepted by card */
+ unsigned int fsd; /* max frame size accepted by reader */
+ unsigned int fwt; /* frame waiting time */
+ unsigned char ta; /* divisor information */
+ unsigned char sfgt; /* start-up frame guard time */
+
+ /* otherwise determined */
+ unsigned int cid; /* Card ID */
+ unsigned int nad; /* Node Address */
+
+ unsigned int flags;
+ unsigned int state; /* protocol state */
+
+ unsigned int ats_len;
+ unsigned char ats[0];
+};
+
+enum tcl_handle_flags {
+ TCL_HANDLE_F_NAD_SUPPORTED = 0x0001,
+ TCL_HANDLE_F_CID_SUPPORTED = 0x0002,
+ TCL_HANDLE_F_NAD_USED = 0x0010,
+ TCL_HANDLE_F_CID_USED = 0x0020,
+};
+
+
+enum tcl_pcb_bits {
+ TCL_PCB_CID_FOLLOWING = 0x08,
+ TCL_PCB_NAD_FOLLOWING = 0x04,
+};
+
+enum tcl_pcd_state {
+ TCL_STATE_NONE = 0x00,
+ TCL_STATE_INITIAL,
+ TCL_STATE_RATS_SENT, /* waiting for ATS */
+ TCL_STATE_ATS_RCVD, /* ATS received */
+ TCL_STATE_PPS_SENT, /* waiting for PPS response */
+ TCL_STATE_ESTABLISHED, /* xchg transparent data */
+ TCL_STATE_DESELECT_SENT, /* waiting for DESELECT response */
+ TCL_STATE_DESELECTED, /* card deselected or HLTA'd */
+};
+
+struct rfid_protocol rfid_protocol_tcl;
+
+#endif
personal git repositories of Harald Welte. Your mileage may vary