Libtrap: Internal development docs
1.16.1
|
Modules | |
Message format | |
Functions | |
int | trap_free_ifc_spec (trap_ifc_spec_t ifc_spec) |
int | trap_init (trap_module_info_t *module_info, trap_ifc_spec_t ifc_spec) |
int | trap_terminate () |
int | trap_finalize () |
int | trap_send_data (unsigned int ifcidx, const void *data, uint16_t size, int timeout) |
int | trap_recv (uint32_t ifcidx, const void **data, uint16_t *size) |
Receive data from input interface. More... | |
int | trap_send (uint32_t ifcidx, const void *data, uint16_t size) |
Send data via output interface. More... | |
void | trap_set_verbose_level (int level) |
int | trap_get_verbose_level () |
void | trap_set_help_section (int level) |
void | trap_print_help (const trap_module_info_t *module_info) |
void | trap_print_ifc_spec_help () |
int | trap_ifcctl (int8_t type, uint32_t ifcidx, int32_t request,...) |
Control TRAP interface. More... | |
void | trap_send_flush (uint32_t ifc) |
Force flush of buffer. More... | |
Variables | |
int | trap_last_error |
Code of last error (one of the codes above) More... | |
const char * | trap_last_error_msg |
Human-readable message about last error. More... | |
int trap_finalize | ( | ) |
int trap_free_ifc_spec | ( | trap_ifc_spec_t | ifc_spec | ) |
int trap_get_verbose_level | ( | ) |
int trap_ifcctl | ( | int8_t | type, |
uint32_t | ifcidx, | ||
int32_t | request, | ||
... | |||
) |
Control TRAP interface.
[in] | type | trap_ifc_type direction of interface |
[in] | ifcidx | index of TRAP interface |
[in] | request | trap_ifcctl_request type of operation |
[in,out] | ... | arguments of request, see trap_ifcctl_request for more details on requests and their arguments. |
Examples:
int trap_init | ( | trap_module_info_t * | module_info, |
trap_ifc_spec_t | ifc_spec | ||
) |
void trap_print_help | ( | const trap_module_info_t * | module_info | ) |
void trap_print_ifc_spec_help | ( | ) |
Print help about interface specifier. Prints help message about format of interface specifier and description of all available interface types. This message is normally a part of help printed by trap_print_help, this function is useful when you don't use standard TRAP command-line parameters but you still use the same format of interface specifier.
Print help about interface specifier. Prints help message about format of interface specifier and description of all available interface types.
int trap_recv | ( | uint32_t | ifcidx, |
const void ** | data, | ||
uint16_t * | size | ||
) |
Receive data from input interface.
Receive a message from interface specified by ifcidx
and set pointer to the data
. When function returns due to timeout, contents of data
and size
are undefined.
[in] | ifcidx | Index of input IFC. |
[out] | data | Pointer to received data. |
[out] | size | Size of received data in bytes of data. |
int trap_send | ( | uint32_t | ifcidx, |
const void * | data, | ||
uint16_t | size | ||
) |
Send data via output interface.
Send a message given by data
pointer of size
message size via interface specified by ifcidx
that is the index of output interfaces (counted from 0).
[in] | ifcidx | Index of input IFC. |
[out] | data | Pointer to message to send. |
[out] | size | Size of message in bytes. |
int trap_send_data | ( | unsigned int | ifcidx, |
const void * | data, | ||
uint16_t | size, | ||
int | timeout | ||
) |
Send data to output interface. Write data of size size
given by data
pointer into interface ifc
. If data cannot be written immediately (e.g. because of full buffer or lost connection), wait until write is possible or timeout
microseconds elapses. If timeout
< 0, wait indefinitely.
[in] | ifcidx | Index of interface to write into. |
[in] | data | Pointer to data. |
[in] | size | Number of bytes of data. |
[in] | timeout | Timeout in microseconds for non-blocking mode; timeout can be also: TRAP_WAIT, TRAP_HALFWAIT, or TRAP_NO_WAIT. |
void trap_send_flush | ( | uint32_t | ifc | ) |
void trap_set_help_section | ( | int | level | ) |
Set section for trap_print_help()
[in] | level | 0 for default info about module, 1 for info about IFC specifier |
void trap_set_verbose_level | ( | int | level | ) |
Set verbosity level of library functions. Verbosity levels may be:
[in] | level | Desired level of verbosity. |
Set verbosity level. Verbosity levels are:
[in] | level | Desired level of verbosity. |
int trap_terminate | ( | ) |
Function to terminate module's operation. This function stops all read/write operations on all interfaces. Any waiting in trap_recv() and trap_send()_data is interrupted and these functions return immediately with TRAP_E_TERMINATED. Any call of trap_recv() or trap_send() after call of this function returns TRAP_E_TERMINATED.
This function is used to terminate module's operation (asynchronously), e.g. in SIGTERM handler.
int trap_last_error |