IPC@CHIP® RTOS-PPC – API Documentation

Header image

Main page

FossilExternalPortCallbacks Struct Reference
[Fossil API types and data structures]

Fossil external port callbacks. More...

Detailed Description

Structure holding pointers to callback functions to be registered in conjunction with an external port.

When implementing the callback functions make sure they exactly match the documentation of the corresponding fossil_* functions. Not doing so may result in incompatibility with newer RTOS versions.

At least the callback function unsupported_func() must be implemented. All other callback function pointers can optionally be set to NULL. If such a function is triggered by one of the fossil_* API functions, the unsupported_func() callback function will be called instead. This callback function is also called when an unknown function is triggered. This might happen for example if your external port driver runs on an RTOS version which knows of more fossil API functions than the CLIB you compiled your driver against did.

Note that there are no callback counterparts for the API functions fossil_register_external_port() and fossil_unregister_external_port().

SC2x3 V1.02 - CLIB V1.02
See also:

Data Fields

int(* initmode )(int port, BOOL dcd, BOOL txDMA, BOOL rxDMA)
void(* deinit )(int port)
int(* setbaud )(int port, long baudrate, int parity, int wordlen, int stopbits)
void(* set_multidrop )(int port, FOS_MULTIDROP_MODE mode)
void(* set_flowcontrol )(int port, FOS_FLOW_CTRL flowctrl)
void(* force_rts )(int port, FOS_RTS_MODE mode)
BYTE(* read_cts )(int port)
BYTE(* cts_changed )(int port)
BYTE(* read_dcd )(int port)
BYTE(* dcd_changed )(int port)
void(* user_callback )(int port, FOSSIL_USER_CALLBACK pfFossUCB)
int(* status_request )(int port)
int(* get_driver_info )(int port, FossilDriverInfo_t *drv_info)
int(* get_bytes_in_uart )(int port)
void(* set_rs485 )(int port, RS485_MODE mode)
int(* putbyte_wait )(int port, int ch)
int(* putbyte )(int port, int ch)
unsigned int(* writeblock )(int port, const BYTE *buffer, unsigned int count)
void(* writeblock_wait )(int port, const BYTE *buffer, unsigned int count)
int(* output_done )(int port)
void(* flush_output )(int port)
void(* purge_output )(int port)
void(* send_break )(int port, FOS_BREAK_SIZE break_size)
int(* data_avail )(int port)
void(* enable_transmitter )(int port, FOS_TXRX_MODE mode)
int(* getbyte_wait )(int port)
int(* getbyte )(int port)
int(* peek_input )(int port)
unsigned int(* readblock )(int port, unsigned char *buffer, unsigned int count)
unsigned int(* readblock_wait )(int port, unsigned char *buffer, unsigned int count)
void(* purge_input )(int port)
void(* enable_receiver )(int port, FOS_TXRX_MODE mode)
unsigned int(* unsupported_func )(int port, int funcNo)

Top of page | Main page

Copyright © 2018 Beck IPC GmbH
Generated on Thu Nov 1 13:20:17 2018 by Doxygen 1.6.1