]> err.no Git - yubikey-personalization/commitdiff
ykdef.h 2.3 from JE (copied from python-yubico)
authorKlas Lindfors <klas@yubico.com>
Tue, 27 Mar 2012 12:21:09 +0000 (14:21 +0200)
committerKlas Lindfors <klas@yubico.com>
Tue, 27 Mar 2012 12:21:09 +0000 (14:21 +0200)
ykcore/ykdef.h

index 428258755af204c21cda04edc8807b0b74fe0fd8..2eced9e3f686de010f6c4fc64e644f1121c40f3a 100644 (file)
@@ -10,6 +10,7 @@
 **     09-06-02        / 2.0.0         / J E   / Added version 2 flags                 **
 **     09-09-23        / 2.1.0         / J E   / Added version 2.1 flags (OATH-HOTP)   **
 **     10-05-01        / 2.2.0         / J E   / Added support for 2.2 ext. + frame    **
+**     11-04-15        / 2.3.0         / J E   / Added support for 2.3 extensions      **
 **                                                                                     **
 *****************************************************************************************/
 
 
 /* Slot entries */
 
-#define        SLOT_CONFIG             0x01   /* First (default / V1) configuration */
-#define        SLOT_NAV                0x02   /* V1 only */
-#define        SLOT_CONFIG2    0x03   /* Second (V2) configuration */
-#define        SLOT_UPDATE1    0x04   /* update first configuration */
-#define        SLOT_UPDATE2    0x05   /* update second configuration */
-#define        SLOT_SWAP               0x06   /* swap the two slots */
+#define        SLOT_CONFIG             1   /* First (default / V1) configuration */
+#define        SLOT_NAV                2   /* V1 only */
+#define SLOT_CONFIG2           3   /* Second (V2) configuration */
+#define SLOT_UPDATE1           4   /* Update slot 1 */
+#define SLOT_UPDATE2           5   /* Update slot 2 */
+#define SLOT_SWAP              6   /* Swap slot 1 and 2 */
 
 #define SLOT_DEVICE_SERIAL     0x10    /* Device serial number */
 
@@ -152,12 +153,25 @@ struct config_st {
 #define CFGFLAG_CHAL_YUBICO            0x20    /* Challenge-response enabled - Yubico OTP mode */
 #define CFGFLAG_CHAL_HMAC              0x22    /* Challenge-response enabled - HMAC-SHA1 */
 #define CFGFLAG_HMAC_LT64              0x04    /* Set when HMAC message is less than 64 bytes */
-#define CFGFLAG_CHAL_BTN_TRIG          0x08    /* Challenge-respoonse operation requires button press */
+#define CFGFLAG_CHAL_BTN_TRIG          0x08    /* Challenge-response operation requires button press */
 
 #define EXTFLAG_SERIAL_BTN_VISIBLE     0x01    /* Serial number visible at startup (button press) */
 #define EXTFLAG_SERIAL_USB_VISIBLE     0x02    /* Serial number visible in USB iSerial field */
 #define EXTFLAG_SERIAL_API_VISIBLE     0x04    /* Serial number visible via API call */
 
+/* V2.3 flags only */
+
+#define EXTFLAG_USE_NUMERIC_KEYPAD     0x08    /* Use numeric keypad for digits */
+#define EXTFLAG_FAST_TRIG              0x10    /* Use fast trig if only cfg1 set */
+#define EXTFLAG_ALLOW_UPDATE           0x20    /* Allow update of existing configuration (selected flags + access code) */
+#define EXTFLAG_DORMANT                        0x40    /* Dormant configuration (can be woken up and flag removed = requires update flag) */
+
+/* Flags valid for update */
+
+#define TKTFLAG_UPDATE_MASK         (TKTFLAG_TAB_FIRST | TKTFLAG_APPEND_TAB1 | TKTFLAG_APPEND_TAB2 | TKTFLAG_APPEND_DELAY1 | TKTFLAG_APPEND_DELAY2 | TKTFLAG_APPEND_CR)
+#define CFGFLAG_UPDATE_MASK         0
+#define EXTFLAG_UPDATE_MASK         (EXTFLAG_SERIAL_BTN_VISIBLE | EXTFLAG_SERIAL_USB_VISIBLE |  EXTFLAG_SERIAL_API_VISIBLE | EXTFLAG_USE_NUMERIC_KEYPAD | EXTFLAG_FAST_TRIG | EXTFLAG_ALLOW_UPDATE)
+
 /* Navigation */
 
 /* NOTE: Navigation isn't available since Yubikey 1.3.5 and is strongly
@@ -193,7 +207,7 @@ struct status_st {
 };
 
 #define CONFIG1_VALID               0x01        /* Bit in touchLevel indicating that configuration 1 is valid (from firmware 2.1) */
-#define CONFIG2_VALID               0x02        /* Bit in touchLevel indicating that configuration 1 is valid (from firmware 2.1) */
+#define CONFIG2_VALID               0x02        /* Bit in touchLevel indicating that configuration 2 is valid (from firmware 2.1) */
 
 /* Modified hex string mapping */