fpc_com_chain Struct Reference

`#include <fpc_com_chain.h>`

Collaboration diagram for fpc_com_chain:
[legend]

## Data Fields

bool | initialized
uint32_t(* | crc_calc )(uint32_t start, const void *data, uint32_t size)
fpc_com_chain_private_t | private_vars
void * | session
| User session pointer. User private stuff, to be able to pass necessary info from the layer that calls hcp down to the user's TX and RX functions (phy_tx/rx), to enable multi threaded applications at the host side. More...
void * | context
| User context pointer. User private stuff, to be able to pass nessecary context to argument_allocator and argument_free. More...
HCP Layer
void *(* | argument_allocator )(fpc_hcp_cmd_t cmd, fpc_hcp_arg_t arg, uint16_t size, bool *free_data, void *context)
void(* | argument_free )(fpc_hcp_cmd_t cmd, fpc_hcp_arg_data_t *arg_data, void *context)
Application Layer
fpc_com_result_t(* | app_tx )(fpc_com_chain_t *chain)
fpc_com_result_t(* | app_rx )(fpc_com_chain_t *chain)
uint16_t(* | app_overhead_get )(uint16_t *offset)
uint16_t | app_packet_size [2]
uint16_t | app_mtu_size [2]
uint8_t * | app_mtu_buffer [2]
Transport Layer
fpc_com_result_t(* | tsp_tx )(fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain)
fpc_com_result_t(* | tsp_rx )(fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain)
uint16_t(* | tsp_overhead_get )(uint16_t *offset)
Link Layer
uint16_t(* | link_overhead_get )(uint16_t *offset)
fpc_com_channel_t | channel
Physical Layer
fpc_com_result_t(* | phy_tx )(uint16_t size, const uint8_t *buffer, uint32_t timeout, void *session)
fpc_com_result_t(* | phy_rx )(uint16_t size, uint8_t *buffer, uint32_t timeout, void *session)
uint16_t | phy_mtu_size [2]
uint8_t * | phy_mtu_buffer [2]
uint32_t | phy_timeout_tx
uint32_t | phy_timeout_rx

## Detailed Description

Communication chain struct

Definition at line 50 of file fpc_com_chain.h.

## Field Documentation

uint8_t* fpc_com_chain::app_mtu_buffer[2]

Application MTU buffers

Definition at line 83 of file fpc_com_chain.h.

uint16_t fpc_com_chain::app_mtu_size[2]

Application MTU sizes

Definition at line 81 of file fpc_com_chain.h.

uint16_t(* fpc_com_chain::app_overhead_get) (uint16_t *offset)

Application layer overhead get interface function

Definition at line 77 of file fpc_com_chain.h.

uint16_t fpc_com_chain::app_packet_size[2]

Application packet sizes

Definition at line 79 of file fpc_com_chain.h.

fpc_com_result_t(* fpc_com_chain::app_rx) (fpc_com_chain_t *chain)

Application layer receive interface function

Definition at line 75 of file fpc_com_chain.h.

fpc_com_result_t(* fpc_com_chain::app_tx) (fpc_com_chain_t *chain)

Application layer transmit interface function

Definition at line 73 of file fpc_com_chain.h.

void*(* fpc_com_chain::argument_allocator) (fpc_hcp_cmd_t cmd, fpc_hcp_arg_t arg, uint16_t size, bool *free_data, void *context)

Argument allocator interface function

Definition at line 59 of file fpc_com_chain.h.

void(* fpc_com_chain::argument_free) (fpc_hcp_cmd_t cmd, fpc_hcp_arg_data_t *arg_data, void *context)

Argument free interface function

Definition at line 62 of file fpc_com_chain.h.

fpc_com_channel_t fpc_com_chain::channel

Communication channel

Definition at line 105 of file fpc_com_chain.h.

void* fpc_com_chain::context

User context pointer. User private stuff, to be able to pass nessecary context to argument_allocator and argument_free.

Definition at line 143 of file fpc_com_chain.h.

uint32_t(* fpc_com_chain::crc_calc) (uint32_t start, const void *data, uint32_t size)

CRC calculation interface function

Definition at line 66 of file fpc_com_chain.h.

bool fpc_com_chain::initialized

Initialization status

Definition at line 52 of file fpc_com_chain.h.

uint16_t(* fpc_com_chain::link_overhead_get) (uint16_t *offset)

Link layer overhead get interface function

Definition at line 103 of file fpc_com_chain.h.

uint8_t* fpc_com_chain::phy_mtu_buffer[2]

Physical MTU buffers

Definition at line 121 of file fpc_com_chain.h.

uint16_t fpc_com_chain::phy_mtu_size[2]

Physical MTU sizes

Definition at line 119 of file fpc_com_chain.h.

fpc_com_result_t(* fpc_com_chain::phy_rx) (uint16_t size, uint8_t *buffer, uint32_t timeout, void *session)

Physical layer receive interface function

Definition at line 116 of file fpc_com_chain.h.

uint32_t fpc_com_chain::phy_timeout_rx

Physical receive timeout

Definition at line 125 of file fpc_com_chain.h.

uint32_t fpc_com_chain::phy_timeout_tx

Physical transmit timeout

Definition at line 123 of file fpc_com_chain.h.

fpc_com_result_t(* fpc_com_chain::phy_tx) (uint16_t size, const uint8_t *buffer, uint32_t timeout, void *session)

Physical layer transmit interface function

Definition at line 113 of file fpc_com_chain.h.

fpc_com_chain_private_t fpc_com_chain::private_vars

Communication change private variables

Definition at line 129 of file fpc_com_chain.h.

void* fpc_com_chain::session

User session pointer. User private stuff, to be able to pass necessary info from the layer that calls hcp down to the user's TX and RX functions (phy_tx/rx), to enable multi threaded applications at the host side.

Definition at line 137 of file fpc_com_chain.h.

uint16_t(* fpc_com_chain::tsp_overhead_get) (uint16_t *offset)

Transport layer overhead get interface function

Definition at line 95 of file fpc_com_chain.h.

fpc_com_result_t(* fpc_com_chain::tsp_rx) (fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain)

Transport layer receive interface function

Definition at line 93 of file fpc_com_chain.h.

fpc_com_result_t(* fpc_com_chain::tsp_tx) (fpc_com_packet_tsp_t *packet, fpc_com_chain_t *chain)

Transport layer transmit interface function

Definition at line 91 of file fpc_com_chain.h.

The documentation for this struct was generated from the following file:

- inc/fpc_com_chain.h