Rtos API example

Embed: (wiki syntax)

« Back to documentation index

net_nvm_api.h File Reference

net_nvm_api.h File Reference

Library PANA NVM API for Client and Server. More...

Go to the source code of this file.

Typedefs

typedef void wpan_params_updated (wpan_nvm_params_t *parameters)
 NVM memory user callback for updated parameters.
typedef bool wpan_params_get (wpan_nvm_params_t *parameters)
 NVM memory user for get parameter->pan_id network setup.
typedef void pana_client_session_update_cb (uint16_t pan_id, pana_client_nvm_update_process_t process)
 Pana client session update callback.
typedef bool pana_client_session_get_cb (uint16_t pan_id)
 Pana client discover session from NVM user based on pan id.
typedef uint16_t pana_server_update_cb (pana_nvm_update_process_t operation)
 Pana server call this when it create /Update / delete client session or update Server material.
typedef bool pana_server_session_get_cb (uint8_t *linklocal_address)
 Pana server call this when discover client session from NVM for given address.
typedef bool pana_server_session_get_by_id_cb (uint32_t session_id)
 Pana server call this when discover client session from NVM for pana session.

Enumerations

enum  pana_nvm_update_process_t { PANA_SERVER_MATERIAL_UPDATE, PANA_SERVER_CLIENT_SESSION_UPDATE, PANA_SERVER_CLIENT_SESSION_REMOVE_UPDATE }
 

PANA server NVM update states.

More...
enum  pana_client_nvm_update_process_t { PANA_CLIENT_SESSION_UPDATE, PANA_CLIENT_SESSION_REMOVE }
 

PANA client NVM update states.

More...

Functions

int8_t pana_server_nvm_callback_set (pana_server_update_cb *update_cb, pana_server_session_get_cb *nvm_get, pana_server_session_get_by_id_cb *nvm_session_get, uint8_t *nvm_static_buffer)
 PANA server NVM functionality initialization.
int8_t pana_server_restore_from_nvm (uint8_t *nvm_data, int8_t interface_id)
 PANA server base restore from NVM.
int8_t pana_server_nvm_client_session_load (uint8_t *nvm_pointer)
 PANA client session load from NVM API.
int8_t pana_client_nvm_callback_set (pana_client_session_update_cb *nvm_update, pana_client_session_get_cb *nvm_get, uint8_t *nvm_static_buffer)
 PANA client NVM functionality init.
int8_t net_nvm_data_clean (int8_t interface_id)
 Clean node persistent data and all PANA client sessions from the stack.
int8_t net_nvm_wpan_params_storage_enable (int8_t interface_id, wpan_params_updated *nvm_update_cb, wpan_params_get *nvm_get_cb)
 Enable and init network NVM parameter automatic update.
int8_t net_nvm_wpan_params_storage_reset (int8_t interface_id)
 Reset stored WPAN parameter's at interface .
int8_t net_nvm_wpan_params_storage_disable (int8_t interface_id)
 Disable stored WPAN parameter's to interface .

Detailed Description

Library PANA NVM API for Client and Server.

Server NVM API

Client NVM API

nw_nvm.c use already this API and the application can just use net_nvm_api.h.

Definition in file net_nvm_api.h.


Typedef Documentation

typedef bool pana_client_session_get_cb(uint16_t pan_id)

Pana client discover session from NVM user based on pan id.

Parameters:
pan_iddefine which pan session is
Returns:
true When Session is stored to behind given session buffer
false NVM can't detect session for given pan id

Definition at line 131 of file net_nvm_api.h.

typedef void pana_client_session_update_cb(uint16_t pan_id, pana_client_nvm_update_process_t process)

Pana client session update callback.

Parameters:
pan_iddefine which pan session is
processPANA_CLIENT_SESSION_UPDATE or PANA_CLIENT_SESSION_REMOVE

Definition at line 121 of file net_nvm_api.h.

typedef bool pana_server_session_get_by_id_cb(uint32_t session_id)

Pana server call this when discover client session from NVM for pana session.

Parameters:
session_idPana session Id
Returns:
true When Session is stored to behind given session buffer
false NVM can't detect session for given session id

Definition at line 160 of file net_nvm_api.h.

typedef bool pana_server_session_get_cb(uint8_t *linklocal_address)

Pana server call this when discover client session from NVM for given address.

Parameters:
linklocal_addressLink local address for sesion
Returns:
true When Session is stored to behind given session buffer
false NVM can't detect session for given address

Definition at line 150 of file net_nvm_api.h.

typedef uint16_t pana_server_update_cb(pana_nvm_update_process_t operation)

Pana server call this when it create /Update / delete client session or update Server material.

Parameters:
operationPana server NVM update
Returns:
session offset . Requirement for operation PANA_SERVER_CLIENT_SESSION_UPDATE

Definition at line 140 of file net_nvm_api.h.

typedef bool wpan_params_get(wpan_nvm_params_t *parameters)

NVM memory user for get parameter->pan_id network setup.

Parameters:
parametersPointer for request parameters parameter->pan_id is configured for proper setup
Returns:
true when configure is loaded to buffer
false when there is no proper data for current wpan

Definition at line 113 of file net_nvm_api.h.

typedef void wpan_params_updated(wpan_nvm_params_t *parameters)

NVM memory user callback for updated parameters.

Parameters:
parametersUpdated wpan parameters

Definition at line 103 of file net_nvm_api.h.


Enumeration Type Documentation

PANA client NVM update states.

Enumerator:
PANA_CLIENT_SESSION_UPDATE 

PANA client session update.

PANA_CLIENT_SESSION_REMOVE 

PANA client session remove.

Definition at line 83 of file net_nvm_api.h.

PANA server NVM update states.

Enumerator:
PANA_SERVER_MATERIAL_UPDATE 

PANA server security material update.

PANA_SERVER_CLIENT_SESSION_UPDATE 

PANA client session update.

PANA_SERVER_CLIENT_SESSION_REMOVE_UPDATE 

PANA client session remove.

Definition at line 73 of file net_nvm_api.h.


Function Documentation

int8_t net_nvm_data_clean ( int8_t  interface_id )

Clean node persistent data and all PANA client sessions from the stack.

This function disables the network ID filter, sets EUID-16 to 0xffff and removes PANA client sessions. It is only for client purposes.

Returns:
0, Clean OK.
-1, Stack is active.
int8_t net_nvm_wpan_params_storage_disable ( int8_t  interface_id )

Disable stored WPAN parameter's to interface .

Parameters:
interface_idInterface ID.
Returns:
0, Disable OK.
-1, Unknown Interface.
int8_t net_nvm_wpan_params_storage_enable ( int8_t  interface_id,
wpan_params_updated nvm_update_cb,
wpan_params_get nvm_get_cb 
)

Enable and init network NVM parameter automatic update.

This function enables MAC and MLE protocol critical components update process to NVM memory user.

Parameters:
interface_idInterface ID.
nvm_update_cbFunction pointer for update NVM
nvm_get_cbFunction for stack to request setup from NVM.
Returns:
0, Init OK.
-1, Unknown Interface.
-2, Memory allocation fail.
int8_t net_nvm_wpan_params_storage_reset ( int8_t  interface_id )

Reset stored WPAN parameter's at interface .

This function clean state at WPAN params at stack. Force Request from NVM

Parameters:
interface_idInterface ID.
Returns:
0, reset OK.
-1, Unknown Interface.
int8_t pana_client_nvm_callback_set ( pana_client_session_update_cb nvm_update,
pana_client_session_get_cb nvm_get,
uint8_t *  nvm_static_buffer 
)

PANA client NVM functionality init.

Parameters:
nvm_updateA function pointer to NVM update process.
nvm_getA function pointer for discover session from NVM for given Pan-id
nvm_static_bufferA pointer to application allocated static memory, minimum size for session 86 bytes + 16-bit pan-id.
Returns:
0, Init OK.
-1, Null parameter detect.
int8_t pana_server_nvm_callback_set ( pana_server_update_cb update_cb,
pana_server_session_get_cb nvm_get,
pana_server_session_get_by_id_cb nvm_session_get,
uint8_t *  nvm_static_buffer 
)

PANA server NVM functionality initialization.

Parameters:
update_cbA function pointer to NVM update process.
nvm_getA function pointer for discover session data from NVM by link local address
nvm_session_getA function pointer for discover session data from NVM by pana session id
nvm_static_bufferA pointer to application allocated static memory, minimum size PANA_SERVER_CLIENT_NVM_SESSION_BUF_SIZE (116 bytes).
Returns:
0, Init OK.
-1, Null parameter detect.
int8_t pana_server_nvm_client_session_load ( uint8_t *  nvm_pointer )

PANA client session load from NVM API.

Parameters:
nvm_pointerA pointer PANA client session.
Returns:
0, Restore OK.
-1, Memory allocation fail.
int8_t pana_server_restore_from_nvm ( uint8_t *  nvm_data,
int8_t  interface_id 
)

PANA server base restore from NVM.

Parameters:
nvm_dataA pointer to PANA server base data.
interface_idInterface ID.
Returns:
0, Restore OK.
-1, Memory allocation fail.