Z-Wave Protocol Controller Reference
Z-Wave S2 Keystore internals

Internal functions for the S2 Keystore. More...

Collaboration diagram for Z-Wave S2 Keystore internals:

Classes

struct  nvm_config
 

Macros

#define NVM_MAGIC   0xa11d1900
 
#define nvm_config_get(par_name, dst)
 
#define nvm_config_set(par_name, src)
 

Functions

struct nvm_config __attribute__ ((__packed__)) nvm_config_t
 
void zwave_s2_keystore_init ()
 Initialize the keystore. More...
 
void zwave_s2_create_new_dynamic_ecdh_key ()
 
void zwave_s2_keystore_set_ecdh_key_mode (zwave_s2_keystore_ecdh_key_mode_t mode)
 Set ecdh key mode for use in zwave_s2_keystore. More...
 

Detailed Description

Internal functions for the S2 Keystore.

Macro Definition Documentation

◆ nvm_config_get

#define nvm_config_get (   par_name,
  dst 
)
Value:
zwapi_memory_get_buffer(offsetof(struct nvm_config, par_name), \
(uint8_t*)dst, \
sizeof(((struct nvm_config *)0)->par_name))
sl_status_t zwapi_memory_get_buffer(uint16_t offset, uint8_t *buffer, uint8_t length)
Read the number of bytes from the EEPROM.
Definition: zwapi_protocol_mem.c:140
Definition: zwave_s2_keystore_int.h:35

◆ nvm_config_set

#define nvm_config_set (   par_name,
  src 
)
Value:
zwapi_memory_put_buffer(offsetof(struct nvm_config, par_name), \
(uint8_t*)src, \
sizeof(((struct nvm_config *)0)->par_name), \
NULL)
uint8_t zwapi_memory_put_buffer(uint16_t offset, const uint8_t *buffer, uint16_t length, void(*callback_function)(void))
Copy the number of bytes to the EEPROM.
Definition: zwapi_protocol_mem.c:178

◆ NVM_MAGIC

#define NVM_MAGIC   0xa11d1900

Function Documentation

◆ __attribute__()

struct nvm_config __attribute__ ( (__packed__)  )

◆ zwave_s2_create_new_dynamic_ecdh_key()

void zwave_s2_create_new_dynamic_ecdh_key ( )

Create a new Elliptic curve key for add node mode and for unauthenticated learnmode.

Here is the caller graph for this function:

◆ zwave_s2_keystore_init()

void zwave_s2_keystore_init ( )

Initialize the keystore.

This also validates the nvm contents. If the validation fails new keys are g generated.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_s2_keystore_set_ecdh_key_mode()

void zwave_s2_keystore_set_ecdh_key_mode ( zwave_s2_keystore_ecdh_key_mode_t  mode)

Set ecdh key mode for use in zwave_s2_keystore.

Parameters
modeecdh key mode to use
Here is the caller graph for this function: