]>
git.zerfleddert.de Git - proxmark3-svn/blob - include/hitagS.h
1 //-----------------------------------------------------------------------------
2 // This code is licensed to you under the terms of the GNU GPL, version 2 or,
3 // at your option, any later version. See the LICENSE.txt file for the text of
5 //-----------------------------------------------------------------------------
6 // HitagS emulation (preliminary test version)
8 // (c) 2016 Oguzhan Cicek, Hendrik Schwartke, Ralf Spenneberg
10 //-----------------------------------------------------------------------------
18 typedef enum PROTO_STATE
{READY
=0,INIT
,AUTHENTICATE
,SELECTED
,QUIET
,TTF
,FAIL
} PSTATE
; //protocol-state
19 typedef enum TAG_STATE
{NO_OP
=0,READING_PAGE
,WRITING_PAGE_ACK
,WRITING_PAGE_DATA
,WRITING_BLOCK_DATA
} TSATE
; //tag-state
20 typedef enum SOF_TYPE
{STANDARD
=0,ADVANCED
,FAST_ADVANCED
,ONE
,NO_BITS
} stype
; //number of start-of-frame bits
23 PSTATE pstate
; //protocol-state
24 TSATE tstate
; //tag-state
26 uint32_t pages
[16][4];
28 byte_t pwdl0
,pwdl1
,pwdh0
;
33 bool auth
; //0=Plain 1=Auth
34 bool TTFC
; //Transponder Talks first coding. 0=Manchester 1=Biphase
35 int TTFDR
; //data rate in TTF Mode
36 int TTFM
; //the number of pages that are sent to the RWD
37 bool LCON
; //0=con1/2 read write 1=con1 read only and con2 OTP
38 bool LKP
; //0=page2/3 read write 1=page2/3 read only in Plain mode and no access in authenticate mode
40 //0=read write 1=read only
44 bool LCK4
; //page12-15
45 bool LCK3
; //page16-23
46 bool LCK2
; //page24-31
47 bool LCK1
; //page32-47
48 bool LCK0
; //page48-63