3#include <nfc/protocols/iso15693_3/iso15693_3.h>
9#define SLIX_BLOCK_SIZE (4U)
10#define SLIX_SIGNATURE_SIZE (32U)
12#define SLIX_COUNTER_BLOCK_NUM (79U)
14#define SLIX_PP_CONDITION_RL (1U << 0)
15#define SLIX_PP_CONDITION_WL (1U << 1)
16#define SLIX_PP_CONDITION_RH (1U << 4)
17#define SLIX_PP_CONDITION_WH (1U << 5)
19#define SLIX_FEATURE_FLAG_UM_PP (1UL << 0)
20#define SLIX_FEATURE_FLAG_COUNTER (1UL << 1)
21#define SLIX_FEATURE_FLAG_EAS_ID (1UL << 2)
22#define SLIX_FEATURE_FLAG_EAS_PP (1UL << 3)
23#define SLIX_FEATURE_FLAG_AFI_PP (1UL << 4)
24#define SLIX_FEATURE_FLAG_INVENTORY_READ_EXT (1UL << 5)
25#define SLIX_FEATURE_FLAG_EAS_IR (1UL << 6)
26#define SLIX_FEATURE_FLAG_ORIGINALITY_SIG (1UL << 8)
27#define SLIX_FEATURE_FLAG_ORIGINALITY_SIG_PP (1UL << 9)
28#define SLIX_FEATURE_FLAG_PERSISTENT_QUIET (1UL << 10)
29#define SLIX_FEATURE_FLAG_PRIVACY (1UL << 12)
30#define SLIX_FEATURE_FLAG_DESTROY (1UL << 13)
31#define SLIX_FEATURE_EXT (1UL << 31)
33#define SLIX_TYPE_FEATURE_READ (1U << 0)
34#define SLIX_TYPE_FEATURE_WRITE (1U << 1)
35#define SLIX_TYPE_FEATURE_PRIVACY (1U << 2)
36#define SLIX_TYPE_FEATURE_DESTROY (1U << 3)
37#define SLIX_TYPE_FEATURE_EAS (1U << 4)
38#define SLIX_TYPE_FEATURE_SIGNATURE (1U << 5)
39#define SLIX_TYPE_FEATURE_PROTECTION (1U << 6)
40#define SLIX_TYPE_FEATURE_NFC_SYSTEM_INFO (1U << 7)
42typedef uint32_t SlixTypeFeatures;
48 SlixErrorNotSupported,
50 SlixErrorWrongPassword,
67 SlixPasswordTypeWrite,
68 SlixPasswordTypePrivacy,
69 SlixPasswordTypeDestroy,
70 SlixPasswordTypeEasAfi,
71 SlixPasswordTypeCount,
74typedef uint32_t SlixPassword;
75typedef uint8_t SlixSignature[SLIX_SIGNATURE_SIZE];
76typedef bool SlixPrivacy;
77typedef uint16_t SlixRandomNumber;
95 SlixCapabilitiesDefault,
96 SlixCapabilitiesAcceptAllPasswords,
98 SlixCapabilitiesCount,
104 SlixSignature signature;
105 SlixPassword passwords[SlixPasswordTypeCount];
107 SlixCapabilities capabilities;
128const uint8_t* slix_get_uid(
const SlixData* data,
size_t* uid_len);
130bool slix_set_uid(
SlixData* data,
const uint8_t* uid,
size_t uid_len);
136SlixType slix_get_type(
const SlixData* data);
138SlixPassword slix_get_password(
const SlixData* data, SlixPasswordType password_type);
140uint16_t slix_get_counter(
const SlixData* data);
142bool slix_is_privacy_mode(
const SlixData* data);
144bool slix_is_block_protected(
146 SlixPasswordType password_type,
149bool slix_is_counter_increment_protected(
const SlixData* data);
152bool slix_type_has_features(SlixType slix_type, SlixTypeFeatures features);
154bool slix_type_supports_password(SlixType slix_type, SlixPasswordType password_type);
NfcDeviceNameType
Verbosity level of the displayed NFC device name.
Definition nfc_device_base.h:14
Definition iso15693_3.h:117