SEcube
SEcube Open Source Library - Device
|
L0 structures and functions. More...
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include "sha256.h"
#include "aes256.h"
#include "se3c0def.h"
#include "se3_common.h"
Go to the source code of this file.
Data Structures | |
struct | SE3_COMM_STATUS_ |
structure holding host-device communication status and buffers More... | |
struct | SE3_FLASH_INFO_ |
Flash management structure. More... | |
struct | SE3_SERIAL_ |
serial number data and state More... | |
struct | se3c0_req_header_ |
decoded request header More... | |
struct | se3c0_resp_header_ |
response header to be encoded More... | |
struct | SE3_L0_GLOBALS_ |
L0 globals structure. More... | |
Macros | |
#define | SE3_ALIGN_16 |
#define | SE3_BMAP_MAKE(n) ((uint32_t)(0xFFFFFFFF >> (32 - (n)))) |
Typedefs | |
typedef struct SE3_COMM_STATUS_ | SE3_COMM_STATUS |
structure holding host-device communication status and buffers More... | |
typedef struct SE3_FLASH_INFO_ | SE3_FLASH_INFO |
Flash management structure. | |
typedef struct SE3_SERIAL_ | SE3_SERIAL |
serial number data and state | |
typedef struct se3c0_req_header_ | se3c0_req_header |
decoded request header | |
typedef struct se3c0_resp_header_ | se3c0_resp_header |
response header to be encoded | |
typedef uint16_t(* | se3_cmd_func) (uint16_t, const uint8_t *, uint16_t *, uint8_t *) |
typedef struct SE3_L0_GLOBALS_ | SE3_L0_GLOBALS |
L0 globals structure. | |
Functions | |
void | se3c0_init () |
uint64_t | se3c0_time_get () |
void | se3c0_time_set (uint64_t t) |
void | se3c0_time_inc () |
Variables | |
const uint8_t | se3_hello [SE3_HELLO_SIZE] |
uint8_t | se3_comm_request_buffer [SE3_COMM_N *SE3_COMM_BLOCK] |
uint8_t | se3_comm_response_buffer [SE3_COMM_N *SE3_COMM_BLOCK] |
SE3_L0_GLOBALS | se3c0 |
L0 structures and functions.
typedef uint16_t(* se3_cmd_func) (uint16_t, const uint8_t *, uint16_t *, uint8_t *) |
L0 command handler
typedef struct SE3_COMM_STATUS_ SE3_COMM_STATUS |
structure holding host-device communication status and buffers
req_ready and resp_ready must be volatile, otherwise -O3 optimization will not work.