6#ifndef CAFFEINE_SAL_NWK_CONNECTION_H
7#define CAFFEINE_SAL_NWK_CONNECTION_H
19#define CFN_SAL_NWK_TYPE_CONNECTION CFN_SAL_TYPE('C', 'O', 'N')
87 const uint8_t *gateway);
101 uint32_t peripheral_id,
109 CFN_HAL_POPULATE_DRIVER(
125 return CFN_HAL_ERROR_BAD_PARAM;
127 driver->base.vmt = (
const struct cfn_hal_api_base_s *) driver->api;
135 return CFN_HAL_ERROR_BAD_PARAM;
145 return CFN_HAL_ERROR_BAD_PARAM;
147 driver->config = config;
154 if (!driver || !config || !driver->config)
156 return CFN_HAL_ERROR_BAD_PARAM;
158 *config = *(driver->config);
159 return CFN_HAL_ERROR_OK;
168 return CFN_HAL_ERROR_BAD_PARAM;
170 driver->cb = callback;
171 driver->cb_user_arg = user_arg;
172 return cfn_hal_base_callback_register(
177 cfn_hal_power_state_t state)
181 return CFN_HAL_ERROR_BAD_PARAM;
191 return CFN_HAL_ERROR_BAD_PARAM;
201 return CFN_HAL_ERROR_BAD_PARAM;
207 uint32_t *event_mask)
211 return CFN_HAL_ERROR_BAD_PARAM;
221 return CFN_HAL_ERROR_BAD_PARAM;
231 return CFN_HAL_ERROR_BAD_PARAM;
237 uint32_t *error_mask)
241 return CFN_HAL_ERROR_BAD_PARAM;
250 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
257 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
265 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
273 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
282 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
283 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(
291 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
299 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
307 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
314 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
322 const uint8_t *gateway)
324 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
Core definitions and macros for Caffeine SAL.
#define CFN_SAL_CREATE_DRIVER_TYPE(prefix, config_type, api_type, phy_type, cb_type)
Definition cfn_sal.h:38
cfn_sal_nwk_connection_status_t
Definition cfn_sal_nwk_connection.h:32
@ CFN_SAL_NWK_CONNECTION_STATUS_ERROR
Definition cfn_sal_nwk_connection.h:36
@ CFN_SAL_NWK_CONNECTION_STATUS_CONNECTING
Definition cfn_sal_nwk_connection.h:34
@ CFN_SAL_NWK_CONNECTION_STATUS_DISCONNECTED
Definition cfn_sal_nwk_connection.h:33
@ CFN_SAL_NWK_CONNECTION_STATUS_CONNECTED
Definition cfn_sal_nwk_connection.h:35
CFN_HAL_INLINE void cfn_sal_nwk_connection_populate(cfn_sal_nwk_connection_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_nwk_connection_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_nwk_connection_config_t *config, cfn_sal_nwk_connection_callback_t callback, void *user_arg)
Definition cfn_sal_nwk_connection.h:100
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_power_state_set(cfn_sal_nwk_connection_t *driver, cfn_hal_power_state_t state)
Definition cfn_sal_nwk_connection.h:176
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_connect(cfn_sal_nwk_connection_t *driver)
Definition cfn_sal_nwk_connection.h:248
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_error_disable(cfn_sal_nwk_connection_t *driver, uint32_t error_mask)
Definition cfn_sal_nwk_connection.h:226
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_get_gateway(cfn_sal_nwk_connection_t *driver, uint8_t *ip_buf)
Definition cfn_sal_nwk_connection.h:304
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_set_static_ip(cfn_sal_nwk_connection_t *driver, const uint8_t *ip, const uint8_t *mask, const uint8_t *gateway)
Definition cfn_sal_nwk_connection.h:319
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_get_ip_address(cfn_sal_nwk_connection_t *driver, uint8_t *ip_buf)
Definition cfn_sal_nwk_connection.h:296
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_get_status(cfn_sal_nwk_connection_t *driver, cfn_sal_nwk_connection_status_t *status_out)
Definition cfn_sal_nwk_connection.h:262
struct cfn_sal_nwk_connection_s cfn_sal_nwk_connection_t
Definition cfn_sal_nwk_connection.h:55
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_scan_networks(cfn_sal_nwk_connection_t *driver, void *results_array, size_t max_count)
Definition cfn_sal_nwk_connection.h:278
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_event_disable(cfn_sal_nwk_connection_t *driver, uint32_t event_mask)
Definition cfn_sal_nwk_connection.h:196
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_deinit(cfn_sal_nwk_connection_t *driver)
Definition cfn_sal_nwk_connection.h:131
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_event_enable(cfn_sal_nwk_connection_t *driver, uint32_t event_mask)
Definition cfn_sal_nwk_connection.h:186
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_init(cfn_sal_nwk_connection_t *driver)
Definition cfn_sal_nwk_connection.h:121
#define CFN_SAL_NWK_TYPE_CONNECTION
Definition cfn_sal_nwk_connection.h:19
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_get_mac_address(cfn_sal_nwk_connection_t *driver, uint8_t *mac_buf)
Definition cfn_sal_nwk_connection.h:288
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_callback_register(cfn_sal_nwk_connection_t *driver, cfn_sal_nwk_connection_callback_t callback, void *user_arg)
Definition cfn_sal_nwk_connection.h:162
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_get_dns(cfn_sal_nwk_connection_t *driver, uint8_t *ip_buf)
Definition cfn_sal_nwk_connection.h:312
cfn_hal_error_code_t cfn_sal_nwk_connection_destruct(cfn_sal_nwk_connection_t *driver)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_config_get(cfn_sal_nwk_connection_t *driver, cfn_sal_nwk_connection_config_t *config)
Definition cfn_sal_nwk_connection.h:151
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_error_get(cfn_sal_nwk_connection_t *driver, uint32_t *error_mask)
Definition cfn_sal_nwk_connection.h:236
void(* cfn_sal_nwk_connection_callback_t)(cfn_sal_nwk_connection_t *driver, uint32_t event, uint32_t error, void *user_arg)
Definition cfn_sal_nwk_connection.h:58
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_event_get(cfn_sal_nwk_connection_t *driver, uint32_t *event_mask)
Definition cfn_sal_nwk_connection.h:206
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_config_set(cfn_sal_nwk_connection_t *driver, const cfn_sal_nwk_connection_config_t *config)
Definition cfn_sal_nwk_connection.h:140
cfn_sal_nwk_connection_event_t
Definition cfn_sal_nwk_connection.h:24
@ CFN_SAL_NWK_CONNECTION_EVENT_DISCONNECTED
Definition cfn_sal_nwk_connection.h:27
@ CFN_SAL_NWK_CONNECTION_EVENT_NONE
Definition cfn_sal_nwk_connection.h:25
@ CFN_SAL_NWK_CONNECTION_EVENT_LINK_LOST
Definition cfn_sal_nwk_connection.h:28
@ CFN_SAL_NWK_CONNECTION_EVENT_CONNECTED
Definition cfn_sal_nwk_connection.h:26
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_get_info(cfn_sal_nwk_connection_t *driver, cfn_sal_nwk_connection_info_t *info_out)
Definition cfn_sal_nwk_connection.h:270
cfn_hal_error_code_t cfn_sal_nwk_connection_construct(cfn_sal_nwk_connection_t *driver, const cfn_sal_nwk_connection_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_nwk_connection_callback_t callback, void *user_arg)
CFN_HAL_VMT_CHECK(struct cfn_sal_nwk_connection_api_s)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_error_enable(cfn_sal_nwk_connection_t *driver, uint32_t error_mask)
Definition cfn_sal_nwk_connection.h:216
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_connection_disconnect(cfn_sal_nwk_connection_t *driver)
Definition cfn_sal_nwk_connection.h:255
Connection Virtual Method Table (VMT).
Definition cfn_sal_nwk_connection.h:67
cfn_hal_error_code_t(* get_info)(cfn_sal_nwk_connection_t *driver, cfn_sal_nwk_connection_info_t *info_out)
Definition cfn_sal_nwk_connection.h:76
cfn_hal_error_code_t(* get_dns)(cfn_sal_nwk_connection_t *driver, uint8_t *ip_buf)
Definition cfn_sal_nwk_connection.h:83
cfn_hal_api_base_t base
Definition cfn_sal_nwk_connection.h:68
cfn_hal_error_code_t(* get_ip_address)(cfn_sal_nwk_connection_t *driver, uint8_t *ip_buf)
Definition cfn_sal_nwk_connection.h:81
cfn_hal_error_code_t(* connect)(cfn_sal_nwk_connection_t *driver)
Definition cfn_sal_nwk_connection.h:71
cfn_hal_error_code_t(* get_status)(cfn_sal_nwk_connection_t *driver, cfn_sal_nwk_connection_status_t *status_out)
Definition cfn_sal_nwk_connection.h:75
cfn_hal_error_code_t(* get_gateway)(cfn_sal_nwk_connection_t *driver, uint8_t *ip_buf)
Definition cfn_sal_nwk_connection.h:82
cfn_hal_error_code_t(* get_mac_address)(cfn_sal_nwk_connection_t *driver, uint8_t *mac_buf)
Definition cfn_sal_nwk_connection.h:80
cfn_hal_error_code_t(* disconnect)(cfn_sal_nwk_connection_t *driver)
Definition cfn_sal_nwk_connection.h:72
cfn_hal_error_code_t(* set_static_ip)(cfn_sal_nwk_connection_t *driver, const uint8_t *ip, const uint8_t *mask, const uint8_t *gateway)
Definition cfn_sal_nwk_connection.h:84
cfn_hal_error_code_t(* scan_networks)(cfn_sal_nwk_connection_t *driver, void *results_array, size_t max_count)
Definition cfn_sal_nwk_connection.h:79
Definition cfn_sal_nwk_connection.h:49
bool auto_reconnect
Definition cfn_sal_nwk_connection.h:51
uint32_t timeout_ms
Definition cfn_sal_nwk_connection.h:50
void * custom
Definition cfn_sal_nwk_connection.h:52
Definition cfn_sal_nwk_connection.h:42
int8_t snr_db
Definition cfn_sal_nwk_connection.h:44
uint8_t link_quality_percent
Definition cfn_sal_nwk_connection.h:45
int16_t rssi_dbm
Definition cfn_sal_nwk_connection.h:43
Generic physical mapping for services.
Definition cfn_sal_types.h:26