XCORE SDK
XCORE Software Development Kit
sl_wfx_secure_link.h
1 /**************************************************************************/
17 /*
18  * All the routines the underlying platform needs to define to port wf200 driver
19  */
20 
21 #ifndef SL_WFX_SECURE_LINK_H
22 #define SL_WFX_SECURE_LINK_H
23 
24 #include "sl_wfx.h"
25 
26 #ifdef __cplusplus
27 extern "C"
28 {
29 #endif
30 
31 #ifdef SL_WFX_USE_SECURE_LINK
32 
33 void sl_wfx_init_secure_link_encryption_bitmap(uint8_t *bitmap);
34 
35 sl_status_t sl_wfx_secure_link_set_mac_key(const uint8_t *sl_mac_key, sl_wfx_securelink_mac_key_dest_t destination);
36 
37 sl_status_t sl_wfx_secure_link_exchange_keys(const uint8_t *sl_mac_key, uint8_t *sl_host_pub_key);
38 
39 sl_status_t sl_wfx_secure_link_renegotiate_session_key(void);
40 
41 sl_status_t sl_wfx_secure_link_configure(const uint8_t *encryption_bitmap, uint8_t disable_session_key_protection);
42 
43 sl_status_t sl_wfx_secure_link_send(uint8_t command_id, sl_wfx_generic_message_t **request, uint16_t *request_length);
44 
45 sl_status_t sl_wfx_secure_link_receive(sl_wfx_generic_message_t **network_rx_buffer, uint32_t read_length);
46 
47 sl_status_t sl_wfx_secure_link_renegotiate(void);
48 
49 void sl_wfx_secure_link_bitmap_set_all_encrypted(uint8_t *bitmap);
50 
51 void sl_wfx_secure_link_bitmap_add_request_id(uint8_t *bitmap, uint8_t request_id);
52 
53 void sl_wfx_secure_link_bitmap_remove_request_id(uint8_t *bitmap, uint8_t request_id);
54 
55 uint8_t sl_wfx_secure_link_encryption_required_get(uint8_t request_id);
56 
57 #endif //SL_WFX_USE_SECURE_LINK
58 
59 #ifdef __cplusplus
60 } /*extern "C" */
61 #endif
62 
63 #endif // SL_WFX_SECURE_LINK_H
Generic message structure for all requests, confirmations and indications.
Definition: sl_wfx_general_api.h:124