Crate cryptoauthlib_sys

Source

Structs§

ATCAHAL_t
\brief an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation.
ATCAIfaceCfg
ATCAIfaceCfg__bindgen_ty_1__bindgen_ty_1
ATCAIfaceCfg__bindgen_ty_1__bindgen_ty_2
ATCAIfaceCfg__bindgen_ty_1__bindgen_ty_3
ATCAIfaceCfg__bindgen_ty_1__bindgen_ty_4
ATCAIfaceCfg__bindgen_ty_1__bindgen_ty_5
ATCAPacket
__fsid_t
__locale_data
__locale_struct
atca_aes_cbc_ctx
atca_aes_cmac_ctx
atca_aes_ctr_ctx
atca_aes_gcm_ctx
Context structure for AES GCM operations.
atca_command
\brief atca_command is the C object backing ATCACommand.
atca_device
\brief atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods.
atca_iface
\brief atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods
atca_sha256_ctx
atcac_sha2_256_ctx
max_align_t

Constants§

AES_COUNT
AES_DATA_SIZE
AES_INPUT_IDX
AES_KEYID_IDX
AES_MODE_IDX
AES_MODE_KEY_BLOCK_POS
ATCADeviceType_ATCA_DEV_UNKNOWN
ATCADeviceType_ATECC108A
ATCADeviceType_ATECC508A
ATCADeviceType_ATECC608A
ATCADeviceType_ATSHA204A
ATCADeviceType_ATSHA206A
ATCAIfaceType_ATCA_CUSTOM_IFACE
ATCAIfaceType_ATCA_HID_IFACE
ATCAIfaceType_ATCA_I2C_IFACE
ATCAIfaceType_ATCA_SPI_IFACE
ATCAIfaceType_ATCA_SWI_IFACE
ATCAIfaceType_ATCA_UART_IFACE
ATCAIfaceType_ATCA_UNKNOWN_IFACE
ATCAKitType_ATCA_KIT_AUTO_IFACE
ATCAKitType_ATCA_KIT_I2C_IFACE
ATCAKitType_ATCA_KIT_SWI_IFACE
ATCAKitType_ATCA_KIT_UNKNOWN_IFACE
ATCA_ADDRESS_MASK
ATCA_ADDRESS_MASK_CONFIG
ATCA_ADDRESS_MASK_OTP
ATCA_AES_GCM_IV_STD_LENGTH
ATCA_AES_GFM_SIZE
ATCA_AES_KEY_TYPE
ATCA_B283_KEY_TYPE
ATCA_BLOCK_SIZE
ATCA_CHIPMODE_OFFSET
ATCA_COUNT_IDX
ATCA_DATA_IDX
ATCA_ECC_CONFIG_SIZE
ATCA_K283_KEY_TYPE
ATCA_KEY_COUNT
ATCA_KEY_SIZE
ATCA_LOCKED
ATCA_OPCODE_IDX
ATCA_OTP_SIZE
ATCA_P256_KEY_TYPE
ATCA_PARAM1_IDX
ATCA_PARAM2_IDX
ATCA_POST_DELAY_MSEC
ATCA_PRIV_KEY_SIZE
ATCA_PUB_KEY_PAD
ATCA_PUB_KEY_SIZE
ATCA_RSP_DATA_IDX
ATCA_SERIAL_NUM_SIZE
ATCA_SHA2_256_DIGEST_SIZE
ATCA_SHA256_BLOCK_SIZE
ATCA_SHA_CONFIG_SIZE
ATCA_SHA_DIGEST_SIZE
ATCA_SHA_KEY_TYPE
ATCA_SIG_SIZE
ATCA_STATUS_ATCA_ALLOC_FAILURE
!< Couldn’t allocate required memory
ATCA_STATUS_ATCA_ASSERT_FAILURE
!< Code failed run-time consistency check
ATCA_STATUS_ATCA_BAD_OPCODE
!< opcode is not supported by the device
ATCA_STATUS_ATCA_BAD_PARAM
!< bad argument (out of range, null pointer, etc.)
ATCA_STATUS_ATCA_CHECKMAC_VERIFY_FAILED
!< response status byte indicates CheckMac failure (status byte = 0x01)
ATCA_STATUS_ATCA_COMM_FAIL
!< Communication with device failed. Same as in hardware dependent modules.
ATCA_STATUS_ATCA_CONFIG_ZONE_LOCKED
ATCA_STATUS_ATCA_DATA_ZONE_LOCKED
ATCA_STATUS_ATCA_EXECUTION_ERROR
!< chip was in a state where it could not execute the command, response status byte indicates command execution error (status byte = 0x0F)
ATCA_STATUS_ATCA_FUNC_FAIL
!< Function could not execute due to incorrect condition / state.
ATCA_STATUS_ATCA_GEN_FAIL
!< unspecified error
ATCA_STATUS_ATCA_HEALTH_TEST_ERROR
!< random number generator health test error
ATCA_STATUS_ATCA_INVALID_ID
!< invalid device id, id not set
ATCA_STATUS_ATCA_INVALID_SIZE
!< Count value is out of range or greater than buffer size.
ATCA_STATUS_ATCA_NOT_LOCKED
!< required zone was not locked
ATCA_STATUS_ATCA_NO_DEVICES
!< For protocols that support device discovery (kit protocol), no devices were found
ATCA_STATUS_ATCA_PARITY_ERROR
!< for protocols needing parity
ATCA_STATUS_ATCA_PARSE_ERROR
!< response status byte indicates parsing error (status byte = 0x03)
ATCA_STATUS_ATCA_RESYNC_WITH_WAKEUP
!< Re-synchronization succeeded, but only after generating a Wake-up
ATCA_STATUS_ATCA_RX_CRC_ERROR
!< CRC error in data received from device
ATCA_STATUS_ATCA_RX_FAIL
!< Timed out while waiting for response. Number of bytes received is > 0.
ATCA_STATUS_ATCA_RX_NO_RESPONSE
!< Not an error while the Command layer is polling for a command response.
ATCA_STATUS_ATCA_RX_TIMEOUT
!< for Microchip PHY protocol, timeout on receipt waiting for master
ATCA_STATUS_ATCA_SMALL_BUFFER
!< Supplied buffer is too small for data required
ATCA_STATUS_ATCA_STATUS_CRC
!< response status byte indicates DEVICE did not receive data properly (status byte = 0xFF)
ATCA_STATUS_ATCA_STATUS_ECC
!< response status byte is ECC fault (status byte = 0x05)
ATCA_STATUS_ATCA_STATUS_SELFTEST_ERROR
!< response status byte is Self Test Error, chip in failure mode (status byte = 0x07)
ATCA_STATUS_ATCA_STATUS_UNKNOWN
!< response status byte is unknown
ATCA_STATUS_ATCA_SUCCESS
!< Function succeeded.
ATCA_STATUS_ATCA_TIMEOUT
!< Timed out while waiting for response. Number of bytes received is 0.
ATCA_STATUS_ATCA_TOO_MANY_COMM_RETRIES
!< Device did not respond too many times during a transmission. Could indicate no device present.
ATCA_STATUS_ATCA_TX_FAIL
!< Failed to write
ATCA_STATUS_ATCA_TX_TIMEOUT
!< for Microchip PHY protocol, timeout on transmission waiting for master
ATCA_STATUS_ATCA_UNIMPLEMENTED
!< Function or some element of it hasn’t been implemented yet
ATCA_STATUS_ATCA_USE_FLAGS_CONSUMED
!< Use flags on the device indicates its consumed fully
ATCA_STATUS_ATCA_WAKE_FAILED
!< response status byte indicates CheckMac failure (status byte = 0x01)
ATCA_STATUS_ATCA_WAKE_SUCCESS
!< received proper wake token
ATCA_TEMPKEY_KEYID
ATCA_UNLOCKED
ATCA_WORD_SIZE
CHECKMAC_CLIENT_CHALLENGE_IDX
CHECKMAC_CLIENT_CHALLENGE_SIZE
CHECKMAC_CLIENT_COMMAND_SIZE
CHECKMAC_CLIENT_RESPONSE_IDX
CHECKMAC_CLIENT_RESPONSE_SIZE
CHECKMAC_CMD_MATCH
CHECKMAC_CMD_MISMATCH
CHECKMAC_COUNT
CHECKMAC_DATA_IDX
CHECKMAC_KEYID_IDX
CHECKMAC_MODE_IDX
CHECKMAC_OTHER_DATA_SIZE
COUNTER_KEYID_IDX
COUNTER_MODE_IDX
DERIVE_KEY_COUNT_LARGE
DERIVE_KEY_MAC_IDX
DERIVE_KEY_MAC_SIZE
DERIVE_KEY_RANDOM_IDX
DERIVE_KEY_TARGETKEY_IDX
ECDH_KEY_SIZE
GENDIG_DATA_IDX
GENDIG_KEYID_IDX
GENDIG_ZONE_IDX
GENKEY_COUNT_DATA
GENKEY_DATA_IDX
GENKEY_KEYID_IDX
GENKEY_MODE_IDX
GENKEY_OTHER_DATA_SIZE
HMAC_DIGEST_SIZE
HMAC_KEYID_IDX
HMAC_MODE_IDX
INFO_PARAM1_IDX
INFO_PARAM2_IDX
INT8_MAX
INT8_MIN
INT16_MAX
INT16_MIN
INT32_MAX
INT32_MIN
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MAX
INT_FAST8_MIN
INT_FAST16_MAX
INT_FAST16_MIN
INT_FAST32_MAX
INT_FAST32_MIN
INT_LEAST8_MAX
INT_LEAST8_MIN
INT_LEAST16_MAX
INT_LEAST16_MIN
INT_LEAST32_MAX
INT_LEAST32_MIN
KDF_DETAILS_IDX
KDF_DETAILS_SIZE
KDF_KEYID_IDX
KDF_MESSAGE_IDX
KDF_MODE_IDX
LOCK_SUMMARY_IDX
LOCK_ZONE_IDX
LOCK_ZONE_MASK
MAC_CHALLENGE_IDX
MAC_CHALLENGE_SIZE
MAC_COUNT_LONG
MAC_KEYID_IDX
MAC_MODE_IDX
MAC_SIZE
NONCE_INPUT_IDX
NONCE_MODE_IDX
NONCE_NUMIN_SIZE
NONCE_NUMIN_SIZE_PASSTHROUGH
NONCE_PARAM2_IDX
OUTNONCE_SIZE
PAUSE_PARAM2_IDX
PAUSE_SELECT_IDX
PRIVWRITE_COUNT
PRIVWRITE_KEYID_IDX
PRIVWRITE_MAC_IDX
PRIVWRITE_VALUE_IDX
PRIVWRITE_ZONE_IDX
PTRDIFF_MAX
PTRDIFF_MIN
RANDOM_MODE_IDX
RANDOM_PARAM2_IDX
READ_ADDR_IDX
READ_ZONE_IDX
RSA2048_KEY_SIZE
SECUREBOOTCONFIG_OFFSET
SECUREBOOT_DIGEST_SIZE
SECUREBOOT_MAC_SIZE
SECUREBOOT_MODE_IDX
SECUREBOOT_SIGNATURE_SIZE
SELFTEST_MODE_IDX
SHA_CONTEXT_MAX_SIZE
SHA_DATA_MAX
SIGN_KEYID_IDX
SIGN_MODE_IDX
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
UPDATE_MODE_IDX
UPDATE_VALUE_IDX
VERIFY_256_EXTERNAL_COUNT
VERIFY_256_KEY_SIZE
VERIFY_256_SIGNATURE_SIZE
VERIFY_256_STORED_COUNT
VERIFY_256_VALIDATE_COUNT
VERIFY_283_EXTERNAL_COUNT
VERIFY_283_KEY_SIZE
VERIFY_283_SIGNATURE_SIZE
VERIFY_283_STORED_COUNT
VERIFY_283_VALIDATE_COUNT
VERIFY_DATA_IDX
VERIFY_KEYID_IDX
VERIFY_MODE_IDX
VERIFY_OTHER_DATA_SIZE
WINT_MAX
WINT_MIN
WRITE_ADDR_IDX
WRITE_MAC_SIZE
WRITE_MAC_VL_IDX
WRITE_MAC_VS_IDX
WRITE_VALUE_IDX
WRITE_ZONE_IDX
_ATFILE_SOURCE
_BITS_STDINT_INTN_H
_BITS_STDINT_UINTN_H
_BITS_TYPESIZES_H
_BITS_TYPES_H
_BITS_TYPES_LOCALE_T_H
_BITS_TYPES___LOCALE_T_H
_BITS_WCHAR_H
_DEFAULT_SOURCE
_FEATURES_H
_POSIX_C_SOURCE
_POSIX_SOURCE
_STDC_PREDEF_H
_STDINT_H
_STRINGS_H
_STRING_H
_SYS_CDEFS_H
__FD_SETSIZE
__GLIBC_MINOR__
__GLIBC_USE_DEPRECATED_GETS
__GLIBC_USE_IEC_60559_BFP_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNU_LIBRARY__
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__OFF_T_MATCHES_OFF64_T
__RLIM_T_MATCHES_RLIM64_T
__STDC_IEC_559_COMPLEX__
__STDC_IEC_559__
__STDC_ISO_10646__
__STDC_NO_THREADS__
__SYSCALL_WORDSIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
__bool_true_false_are_defined
__glibc_c99_flexarr_available
false_
true_

Statics§

_gDevice
atca_basic_aes_gcm_version
atcab_b64rules_default
atcab_b64rules_mime
atcab_b64rules_urlsafe
cfg_ateccx08a_i2c_default
cfg_ateccx08a_kitcdc_default
cfg_ateccx08a_kithid_default
cfg_ateccx08a_swi_default
cfg_atsha20xa_i2c_default
cfg_atsha20xa_kitcdc_default
cfg_atsha20xa_kithid_default
cfg_atsha20xa_swi_default

Functions§

__stpcpy
__stpncpy
__strtok_r
_atcab_exit
atAES
atCRC
atCalcCrc
atCheckCrc
atCheckMAC
atCounter
atDeriveKey
atECDH
atGenDig
atGenKey
atGetCommands
atGetIFace
atHMAC
atInfo
atIsECCFamily
atIsSHAFamily
atKDF
atLock
atMAC
atNonce
atPause
atPrivWrite
atRandom
atRead
atSHA
atSecureBoot
atSelfTest
atSign
atUpdateExtra
atVerify
atWrite
atca_delay_ms
atca_delay_us
atcab_aes
atcab_aes_cbc_decrypt_block
atcab_aes_cbc_encrypt_block
atcab_aes_cbc_init
atcab_aes_cmac_finish
atcab_aes_cmac_init
atcab_aes_cmac_update
atcab_aes_ctr_block
atcab_aes_ctr_decrypt_block
atcab_aes_ctr_encrypt_block
atcab_aes_ctr_increment
atcab_aes_ctr_init
atcab_aes_ctr_init_rand
atcab_aes_decrypt
atcab_aes_encrypt
atcab_aes_gcm_aad_update
atcab_aes_gcm_decrypt_finish
atcab_aes_gcm_decrypt_update
atcab_aes_gcm_encrypt_finish
atcab_aes_gcm_encrypt_update
atcab_aes_gcm_init
atcab_aes_gcm_init_rand
atcab_aes_gfm
atcab_base64decode
atcab_base64decode_
atcab_base64encode
atcab_base64encode_
atcab_bin2hex
atcab_bin2hex_
atcab_cfg_discover
atcab_challenge
atcab_challenge_seed_update
atcab_checkmac
atcab_cmp_config_zone
atcab_counter
atcab_counter_increment
atcab_counter_read
atcab_derivekey
atcab_ecdh
atcab_ecdh_base
atcab_ecdh_enc
atcab_ecdh_ioenc
atcab_ecdh_tempkey
atcab_ecdh_tempkey_ioenc
atcab_gendig
atcab_genkey
atcab_genkey_base
atcab_get_addr
atcab_get_device
atcab_get_device_type
atcab_get_pubkey
atcab_get_zone_size
atcab_hex2bin
atcab_hex2bin_
atcab_hmac
atcab_hw_sha2_256
atcab_hw_sha2_256_finish
atcab_hw_sha2_256_init
atcab_hw_sha2_256_update
atcab_idle
atcab_info
atcab_info_base
atcab_info_get_latch
atcab_info_set_latch
atcab_init
atcab_init_device
atcab_is_locked
atcab_is_slot_locked
atcab_kdf
atcab_lock
atcab_lock_config_zone
atcab_lock_config_zone_crc
atcab_lock_data_slot
atcab_lock_data_zone
atcab_lock_data_zone_crc
atcab_mac
atcab_nonce
atcab_nonce_base
atcab_nonce_load
atcab_nonce_rand
atcab_printbin
atcab_printbin_label
atcab_printbin_sp
atcab_priv_write
atcab_random
atcab_read_bytes_zone
atcab_read_config_zone
atcab_read_enc
atcab_read_pubkey
atcab_read_serial_number
atcab_read_sig
atcab_read_zone
atcab_release
atcab_reversal
atcab_secureboot
atcab_secureboot_mac
atcab_selftest
atcab_sha
atcab_sha_base
atcab_sha_end
atcab_sha_hmac
atcab_sha_hmac_finish
atcab_sha_hmac_init
atcab_sha_hmac_update
atcab_sha_read_context
atcab_sha_start
atcab_sha_update
atcab_sha_write_context
atcab_sign
atcab_sign_base
atcab_sign_internal
atcab_sleep
atcab_updateextra
atcab_verify
atcab_verify_extern
atcab_verify_extern_mac
atcab_verify_invalidate
atcab_verify_stored
atcab_verify_stored_mac
atcab_verify_validate
atcab_version
atcab_wakeup
atcab_write
atcab_write_bytes_zone
atcab_write_config_counter
atcab_write_config_zone
atcab_write_enc
atcab_write_pubkey
atcab_write_zone
atcac_sw_sha2_256
atcac_sw_sha2_256_finish
atcac_sw_sha2_256_init
atcac_sw_sha2_256_update
atgetifacecfg
atgetifacehaldat
atidle
atinit
atpostinit
atreceive
atsend
atsleep
atwake
base64Char
base64Index
bcmp
bcopy
bzero
deleteATCACommand
deleteATCADevice
deleteATCAIface
explicit_bzero
ffs
ffsl
ffsll
hal_check_wake
hal_create_mutex
\brief Optional hal interfaces
hal_delay_ms
hal_delay_us
hal_destroy_mutex
hal_i2c_discover_buses
hal_i2c_discover_devices
hal_i2c_idle
hal_i2c_init
hal_i2c_post_init
hal_i2c_receive
hal_i2c_release
hal_i2c_send
hal_i2c_sleep
hal_i2c_wake
hal_iface_init
hal_iface_release
hal_lock_mutex
hal_rtos_delay_ms
\brief Timer API implemented at the HAL level
hal_unlock_mutex
index
initATCACommand
initATCADevice
initATCAIface
isATCAError
isAlpha
isBase64
isBase64Digit
isDigit
isHex
isHexAlpha
isHexDigit
isWhiteSpace
memccpy
memchr
memcmp
memcpy
memmove
memset
newATCACommand
newATCADevice
newATCAIface
packHex
releaseATCADevice
releaseATCAIface
rindex
stpcpy
stpncpy
strcasecmp
strcasecmp_l
strcat
strchr
strcmp
strcoll
strcoll_l
strcpy
strcspn
strdup
strerror
strerror_l
strerror_r
strlen
strncasecmp
strncasecmp_l
strncat
strncmp
strncpy
strndup
strnlen
strpbrk
strrchr
strsep
strsignal
strspn
strstr
strtok
strtok_r
strxfrm
strxfrm_l

Type Aliases§

ATCACommand
ATCADevice
ATCADeviceType
\brief The supported Device type in Cryptoauthlib library
ATCAIface
ATCAIfaceType
ATCAKitType
ATCA_STATUS
__blkcnt64_t
__blkcnt_t
__blksize_t
__caddr_t
__clock_t
__clockid_t
__daddr_t
__dev_t
__fsblkcnt64_t
__fsblkcnt_t
__fsfilcnt64_t
__fsfilcnt_t
__fsword_t
__gid_t
__id_t
__ino64_t
__ino_t
__int8_t
__int16_t
__int32_t
__int64_t
__intmax_t
__intptr_t
__key_t
__locale_t
__loff_t
__mode_t
__nlink_t
__off64_t
__off_t
__pid_t
__quad_t
__rlim64_t
__rlim_t
__sig_atomic_t
__socklen_t
__ssize_t
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__time_t
__timer_t
__u_char
__u_int
__u_long
__u_quad_t
__u_short
__uid_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
__uintmax_t
__useconds_t
atca_aes_cbc_ctx_t
atca_aes_cmac_ctx_t
atca_aes_ctr_ctx_t
atca_aes_gcm_ctx_t
atca_hmac_sha256_ctx_t
atca_sha256_ctx_t
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
locale_t
size_t
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
wchar_t

Unions§

ATCAIfaceCfg__bindgen_ty_1