//-----------------------------------------------------------------------------
// Hitag2 type prototyping
//-----------------------------------------------------------------------------
+// HitagS added
+//-----------------------------------------------------------------------------
#ifndef _HITAG2_H_
#define _HITAG2_H_
+#ifdef _MSC_VER
+#define PACKED
+#else
+#define PACKED __attribute__((packed))
+#endif
+
typedef enum {
- RHT2F_PASSWORD = 21,
- RHT2F_AUTHENTICATE = 22,
- RHT2F_TEST_AUTH_ATTEMPTS = 25,
+ RHTSF_CHALLENGE = 01,
+ RHTSF_KEY = 02,
+ WHTSF_CHALLENGE = 03,
+ WHTSF_KEY = 04,
+ RHT2F_PASSWORD = 21,
+ RHT2F_AUTHENTICATE = 22,
+ RHT2F_CRYPTO = 23,
+ RHT2F_TEST_AUTH_ATTEMPTS = 25,
+ RHT2F_UID_ONLY = 26
} hitag_function;
typedef struct {
typedef struct {
byte_t NrAr[8];
+ byte_t data[4];
} PACKED rht2d_authenticate;
+typedef struct {
+ byte_t key[6];
+ byte_t data[4];
+} PACKED rht2d_crypto;
+
typedef union {
rht2d_password pwd;
rht2d_authenticate auth;
+ rht2d_crypto crypto;
} hitag_data;
#endif