Host Communication Protocol  2.0
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: