caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
cfn_sal_nwk_transport.h File Reference

Generic abstract interface for data transport (Streaming/Datagram). More...

#include "cfn_sal.h"

Go to the source code of this file.

Data Structures

struct  cfn_sal_nwk_transport_config_t
 
struct  cfn_sal_nwk_transport_api_s
 Transport Virtual Method Table (VMT). More...
 

Macros

#define CFN_SAL_NWK_TYPE_TRANSPORT   CFN_SAL_TYPE('T', 'P', 'T')
 

Typedefs

typedef struct cfn_sal_nwk_transport_s cfn_sal_nwk_transport_t
 
typedef struct cfn_sal_nwk_transport_api_s cfn_sal_nwk_transport_api_t
 
typedef void(* cfn_sal_nwk_transport_callback_t) (cfn_sal_nwk_transport_t *driver, uint32_t event, uint32_t error, size_t data_len, void *user_arg)
 

Enumerations

enum  cfn_sal_nwk_transport_event_t { CFN_SAL_NWK_TRANSPORT_EVENT_NONE = 0 , CFN_SAL_NWK_TRANSPORT_EVENT_TX_COMPLETE = CFN_HAL_BIT(0) , CFN_SAL_NWK_TRANSPORT_EVENT_RX_READY = CFN_HAL_BIT(1) , CFN_SAL_NWK_TRANSPORT_EVENT_BUFFER_OVERFLOW = CFN_HAL_BIT(2) }
 

Functions

 CFN_HAL_VMT_CHECK (struct cfn_sal_nwk_transport_api_s)
 
 CFN_SAL_CREATE_DRIVER_TYPE (sal_nwk_transport, cfn_sal_nwk_transport_config_t, cfn_sal_nwk_transport_api_t, cfn_sal_phy_t, cfn_sal_nwk_transport_callback_t)
 
CFN_HAL_INLINE void cfn_sal_nwk_transport_populate (cfn_sal_nwk_transport_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_nwk_transport_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_nwk_transport_config_t *config, cfn_sal_nwk_transport_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_nwk_transport_construct (cfn_sal_nwk_transport_t *driver, const cfn_sal_nwk_transport_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_nwk_transport_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_nwk_transport_destruct (cfn_sal_nwk_transport_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_init (cfn_sal_nwk_transport_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_deinit (cfn_sal_nwk_transport_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_config_set (cfn_sal_nwk_transport_t *driver, const cfn_sal_nwk_transport_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_config_get (cfn_sal_nwk_transport_t *driver, cfn_sal_nwk_transport_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_callback_register (cfn_sal_nwk_transport_t *driver, cfn_sal_nwk_transport_callback_t callback, void *user_arg)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_power_state_set (cfn_sal_nwk_transport_t *driver, cfn_hal_power_state_t state)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_event_enable (cfn_sal_nwk_transport_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_event_disable (cfn_sal_nwk_transport_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_event_get (cfn_sal_nwk_transport_t *driver, uint32_t *event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_error_enable (cfn_sal_nwk_transport_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_error_disable (cfn_sal_nwk_transport_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_error_get (cfn_sal_nwk_transport_t *driver, uint32_t *error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_send (cfn_sal_nwk_transport_t *driver, const uint8_t *data, size_t len, uint32_t timeout)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_receive (cfn_sal_nwk_transport_t *driver, uint8_t *buffer, size_t max_len, size_t *received_len, uint32_t timeout)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_send_async (cfn_sal_nwk_transport_t *driver, const uint8_t *data, size_t len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_receive_async (cfn_sal_nwk_transport_t *driver, uint8_t *buffer, size_t max_len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_flush (cfn_sal_nwk_transport_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_flush_rx (cfn_sal_nwk_transport_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_flush_tx (cfn_sal_nwk_transport_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_listen (cfn_sal_nwk_transport_t *driver, uint16_t port)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_accept (cfn_sal_nwk_transport_t *driver, cfn_sal_nwk_transport_t **client_driver_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_get_bytes_available (cfn_sal_nwk_transport_t *driver, size_t *count_out)
 

Detailed Description

Generic abstract interface for data transport (Streaming/Datagram).

Macro Definition Documentation

◆ CFN_SAL_NWK_TYPE_TRANSPORT

#define CFN_SAL_NWK_TYPE_TRANSPORT   CFN_SAL_TYPE('T', 'P', 'T')

Typedef Documentation

◆ cfn_sal_nwk_transport_api_t

◆ cfn_sal_nwk_transport_callback_t

typedef void(* cfn_sal_nwk_transport_callback_t) (cfn_sal_nwk_transport_t *driver, uint32_t event, uint32_t error, size_t data_len, void *user_arg)

◆ cfn_sal_nwk_transport_t

typedef struct cfn_sal_nwk_transport_s cfn_sal_nwk_transport_t

Enumeration Type Documentation

◆ cfn_sal_nwk_transport_event_t

Enumerator
CFN_SAL_NWK_TRANSPORT_EVENT_NONE 
CFN_SAL_NWK_TRANSPORT_EVENT_TX_COMPLETE 
CFN_SAL_NWK_TRANSPORT_EVENT_RX_READY 
CFN_SAL_NWK_TRANSPORT_EVENT_BUFFER_OVERFLOW 

Function Documentation

◆ CFN_HAL_VMT_CHECK()

CFN_HAL_VMT_CHECK ( struct cfn_sal_nwk_transport_api_s  )

◆ CFN_SAL_CREATE_DRIVER_TYPE()

CFN_SAL_CREATE_DRIVER_TYPE ( sal_nwk_transport  ,
cfn_sal_nwk_transport_config_t  ,
cfn_sal_nwk_transport_api_t  ,
cfn_sal_phy_t  ,
cfn_sal_nwk_transport_callback_t   
)

◆ cfn_sal_nwk_transport_accept()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_accept ( cfn_sal_nwk_transport_t driver,
cfn_sal_nwk_transport_t **  client_driver_out 
)

◆ cfn_sal_nwk_transport_callback_register()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_callback_register ( cfn_sal_nwk_transport_t driver,
cfn_sal_nwk_transport_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_nwk_transport_config_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_config_get ( cfn_sal_nwk_transport_t driver,
cfn_sal_nwk_transport_config_t config 
)

◆ cfn_sal_nwk_transport_config_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_config_set ( cfn_sal_nwk_transport_t driver,
const cfn_sal_nwk_transport_config_t config 
)

◆ cfn_sal_nwk_transport_construct()

cfn_hal_error_code_t cfn_sal_nwk_transport_construct ( cfn_sal_nwk_transport_t driver,
const cfn_sal_nwk_transport_config_t config,
const cfn_sal_phy_t phy,
void *  dependency,
cfn_sal_nwk_transport_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_nwk_transport_deinit()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_deinit ( cfn_sal_nwk_transport_t driver)

◆ cfn_sal_nwk_transport_destruct()

cfn_hal_error_code_t cfn_sal_nwk_transport_destruct ( cfn_sal_nwk_transport_t driver)

◆ cfn_sal_nwk_transport_error_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_error_disable ( cfn_sal_nwk_transport_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_nwk_transport_error_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_error_enable ( cfn_sal_nwk_transport_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_nwk_transport_error_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_error_get ( cfn_sal_nwk_transport_t driver,
uint32_t *  error_mask 
)

◆ cfn_sal_nwk_transport_event_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_event_disable ( cfn_sal_nwk_transport_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_nwk_transport_event_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_event_enable ( cfn_sal_nwk_transport_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_nwk_transport_event_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_event_get ( cfn_sal_nwk_transport_t driver,
uint32_t *  event_mask 
)

◆ cfn_sal_nwk_transport_flush()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_flush ( cfn_sal_nwk_transport_t driver)

◆ cfn_sal_nwk_transport_flush_rx()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_flush_rx ( cfn_sal_nwk_transport_t driver)

◆ cfn_sal_nwk_transport_flush_tx()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_flush_tx ( cfn_sal_nwk_transport_t driver)

◆ cfn_sal_nwk_transport_get_bytes_available()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_get_bytes_available ( cfn_sal_nwk_transport_t driver,
size_t *  count_out 
)

◆ cfn_sal_nwk_transport_init()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_init ( cfn_sal_nwk_transport_t driver)

◆ cfn_sal_nwk_transport_listen()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_listen ( cfn_sal_nwk_transport_t driver,
uint16_t  port 
)

◆ cfn_sal_nwk_transport_populate()

CFN_HAL_INLINE void cfn_sal_nwk_transport_populate ( cfn_sal_nwk_transport_t driver,
uint32_t  peripheral_id,
void *  dependency,
const cfn_sal_nwk_transport_api_t api,
const cfn_sal_phy_t phy,
const cfn_sal_nwk_transport_config_t config,
cfn_sal_nwk_transport_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_nwk_transport_power_state_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_power_state_set ( cfn_sal_nwk_transport_t driver,
cfn_hal_power_state_t  state 
)

◆ cfn_sal_nwk_transport_receive()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_receive ( cfn_sal_nwk_transport_t driver,
uint8_t *  buffer,
size_t  max_len,
size_t *  received_len,
uint32_t  timeout 
)

◆ cfn_sal_nwk_transport_receive_async()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_receive_async ( cfn_sal_nwk_transport_t driver,
uint8_t *  buffer,
size_t  max_len 
)

◆ cfn_sal_nwk_transport_send()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_send ( cfn_sal_nwk_transport_t driver,
const uint8_t *  data,
size_t  len,
uint32_t  timeout 
)

◆ cfn_sal_nwk_transport_send_async()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_nwk_transport_send_async ( cfn_sal_nwk_transport_t driver,
const uint8_t *  data,
size_t  len 
)