ble/net/llcp.h header reference
[Bluetooth Low Energy library module]
The source code of this header can be browsed online.
Description [link]
This header defines Network Layer API for Link-Layer Control Protocol.
LLCP takes care of most aspects of the out-of-band communication of BLE:
connection parameters negociation and updates,
channel mapping,
encryption setup,
link termination.
To this extent, LLCP layer needs to communicate with:
physical layer (for updating connection parameters and channels),
link layer (for enabling / disabling cryptography),
Security DB (for key lookup),
LLCP is expected to be bound on a link layer.
There is a generic implementation of this layer in the library that can be created through ble_llcp_create.
Members [link]
Types [link]
- struct ble_llcp_channel_map_update_s
- enum ble_llcp_child_e
- struct ble_llcp_connection_parameters_update_s
- struct ble_llcp_delegate_vtable_s
- struct ble_llcp_encryption_setup_s
- struct ble_llcp_handler_s
- struct ble_llcp_length_update_s
- struct ble_llcp_params_s
- enum ble_llcp_task_id_e
Functions [link]
- struct ble_llcp_channel_map_update_s * ble_llcp_channel_map_update_s_from_task(void *x)
- void ble_llcp_connection_close(struct net_layer_s *layer)
- struct ble_llcp_connection_parameters_update_s * ble_llcp_connection_parameters_update_s_from_task(void *x)
- struct ble_llcp_delegate_vtable_s * ble_llcp_delegate_vtable_s_from_base(void *x)
- error_t ble_llcp_encryption_enable(struct net_layer_s *layer)
- error_t ble_llcp_encryption_restart(struct net_layer_s *layer)
- struct ble_llcp_encryption_setup_s * ble_llcp_encryption_setup_s_from_task(void *x)
- struct ble_llcp_handler_s * ble_llcp_handler_s_from_base(void *x)
- struct ble_llcp_length_update_s * ble_llcp_length_update_s_from_task(void *x)
Members detail [link]
#define BLE_LLCP_H_ [link]
This macro is declared in ble/net/llcp.h source file, line 21.
struct ble_llcp_channel_map_update_s [link]
This struct is declared in ble/net/llcp.h source file, line 102.
Field | Description |
---|---|
struct net_task_s task; | |
uint64_t channel_map; | |
uint16_t instant; |
struct ble_llcp_channel_map_update_s * ble_llcp_channel_map_update_s_from_task(void *x) [link]
This function is declared in ble/net/llcp.h source file, line 109.
enum ble_llcp_child_e [link]
This enum is declared in ble/net/llcp.h source file, line 69.
Identifier | Description |
---|---|
BLE_LLCP_CHILD_GAP |
void ble_llcp_connection_close(struct net_layer_s *layer) [link]
This function is declared in ble/net/llcp.h source file, line 144.
struct ble_llcp_connection_parameters_update_s [link]
This struct is declared in ble/net/llcp.h source file, line 93.
Field | Description |
---|---|
struct net_task_s task; | |
struct ble_conn_params_update update; |
struct ble_llcp_connection_parameters_update_s * ble_llcp_connection_parameters_update_s_from_task(void *x) [link]
This function is declared in ble/net/llcp.h source file, line 99.
struct ble_llcp_delegate_vtable_s [link]
This struct is declared in ble/net/llcp.h source file, line 74.
Field | Description |
---|---|
struct net_layer_delegate_vtable_s base; | |
void (*connection_closed)(void *delegate, struct net_layer_s *layer, uint8_t reason) ; |
struct ble_llcp_delegate_vtable_s * ble_llcp_delegate_vtable_s_from_base(void *x) [link]
This function is declared in ble/net/llcp.h source file, line 80.
error_t ble_llcp_encryption_enable(struct net_layer_s *layer) [link]
This function is declared in ble/net/llcp.h source file, line 150.
error_t ble_llcp_encryption_restart(struct net_layer_s *layer) [link]
This function is declared in ble/net/llcp.h source file, line 156.
struct ble_llcp_encryption_setup_s [link]
This struct is declared in ble/net/llcp.h source file, line 112.
Field | Description |
---|---|
struct net_task_s task; | |
uint8_t sk[16]; | |
uint8_t iv[8]; | |
bool_t authenticated; |
struct ble_llcp_encryption_setup_s * ble_llcp_encryption_setup_s_from_task(void *x) [link]
This function is declared in ble/net/llcp.h source file, line 120.
struct ble_llcp_handler_s [link]
This struct is declared in ble/net/llcp.h source file, line 133.
Field | Description |
---|---|
struct net_layer_handler_s base; | |
void (*connection_close)(struct net_layer_s *layer) ; | |
error_t (*encryption_enable)(struct net_layer_s *layer) ; | |
error_t (*encryption_restart)(struct net_layer_s *layer) ; |
struct ble_llcp_handler_s * ble_llcp_handler_s_from_base(void *x) [link]
This function is declared in ble/net/llcp.h source file, line 141.
struct ble_llcp_length_update_s [link]
This struct is declared in ble/net/llcp.h source file, line 123.
Field | Description |
---|---|
struct net_task_s task; | |
uint16_t rx_mtu; |
struct ble_llcp_length_update_s * ble_llcp_length_update_s_from_task(void *x) [link]
This function is declared in ble/net/llcp.h source file, line 129.
struct ble_llcp_params_s [link]
This struct is declared in ble/net/llcp.h source file, line 162.
Field | Description |
---|---|
struct dev_rng_s * rng; | |
struct ble_peer_s * peer; | |
struct ble_conn_timing_param_s conn_timing; | |
struct ble_gap_preferred_conn_params_s wanted_timing; |
enum ble_llcp_task_id_e [link]
This enum is declared in ble/net/llcp.h source file, line 83.
Identifier | Description |
---|---|
BLE_LLCP_CONNECTION_PARAMETERS_UPDATE | |
BLE_LLCP_CHANNEL_MAP_UPDATE | |
BLE_LLCP_CONNECTION_PARAMETERS_REQ | |
BLE_LLCP_ENCRYPTION_SETUP | |
BLE_LLCP_LENGTH_UPDATE | |
BLE_LLCP_PING |