47#if !defined(_SPANDSP_ASYNC_H_)
48#define _SPANDSP_ASYNC_H_
110#define modem_rx_status_func_t modem_status_func_t
111#define modem_tx_status_func_t modem_status_func_t
140#if defined(__cplusplus)
212#if defined(__cplusplus)
int(* get_msg_func_t)(void *user_data, uint8_t *msg, int max_len)
Definition: async.h:96
void(* modem_status_func_t)(void *user_data, int status)
Definition: async.h:114
@ SIG_STATUS_LINK_CONNECTED
The link protocol (e.g. V.42) has connected.
Definition: async.h:85
@ SIG_STATUS_BREAK
A break signal (e.g. an async break) has been received.
Definition: async.h:75
@ SIG_STATUS_TRAINING_FAILED
The modem has failed to train.
Definition: async.h:67
@ SIG_STATUS_LINK_ERROR
An error has occurred in the link protocol (e.g. V.42).
Definition: async.h:89
@ SIG_STATUS_ABORT
An abort signal (e.g. an HDLC abort) has been received.
Definition: async.h:73
@ SIG_STATUS_MODEM_RETRAIN_OCCURRED
Notification that a modem retrain has occurred.
Definition: async.h:83
@ SIG_STATUS_TRAINING_SUCCEEDED
The modem has trained, and is ready for data exchange.
Definition: async.h:65
@ SIG_STATUS_CARRIER_UP
The carrier signal is up. This merely indicates that carrier energy has been seen....
Definition: async.h:58
@ SIG_STATUS_CARRIER_DOWN
The carrier signal has dropped.
Definition: async.h:54
@ SIG_STATUS_END_OF_DATA
The data stream has ended.
Definition: async.h:71
@ SIG_STATUS_FRAMING_OK
Packet framing (e.g. HDLC framing) is OK.
Definition: async.h:69
@ SIG_STATUS_TRAINING_IN_PROGRESS
The modem is training. This is an early indication that the signal seems to be of the right type....
Definition: async.h:63
@ SIG_STATUS_OCTET_REPORT
Regular octet report for things like HDLC to the MTP standards.
Definition: async.h:79
@ SIG_STATUS_SHUTDOWN_COMPLETE
A modem has completed its task, and shut down.
Definition: async.h:77
@ SIG_STATUS_POOR_SIGNAL_QUALITY
Notification that a modem has detected signal quality degradation.
Definition: async.h:81
@ SIG_STATUS_LINK_DISCONNECTED
The link protocol (e.g. V.42) has disconnected.
Definition: async.h:87
@ ASYNC_PARITY_NONE
Definition: async.h:133
@ ASYNC_PARITY_ODD
Definition: async.h:137
@ ASYNC_PARITY_EVEN
Definition: async.h:135
const char * signal_status_to_str(int status)
Convert a signal status to a short text description.
Definition: async.c:42
async_tx_state_t * async_tx_init(async_tx_state_t *s, int data_bits, int parity_bits, int stop_bits, int use_v14, get_byte_func_t get_byte, void *user_data)
Initialise an asynchronous data transmit context.
Definition: async.c:208
void(* put_bit_func_t)(void *user_data, int bit)
Definition: async.h:105
int(* get_byte_func_t)(void *user_data)
Definition: async.h:102
void(* put_byte_func_t)(void *user_data, int byte)
Definition: async.h:99
void(* put_msg_func_t)(void *user_data, const uint8_t *msg, int len)
Definition: async.h:93
SPAN_DECLARE_NONSTD(int) async_tx_get_bit(void *user_data)
Get the next bit of a transmitted serial bit stream.
int(* get_bit_func_t)(void *user_data)
Definition: async.h:108
async_rx_state_t * async_rx_init(async_rx_state_t *s, int data_bits, int parity_bits, int stop_bits, int use_v14, put_byte_func_t put_byte, void *user_data)
Initialise an asynchronous data receiver context.
Definition: async.c:83
Definition: private/async.h:61
int data_bits
The number of data bits per character.
Definition: private/async.h:63
int stop_bits
The number of stop bits per character.
Definition: private/async.h:67
int use_v14
TRUE if V.14 rate adaption processing should be performed.
Definition: private/async.h:69
put_byte_func_t put_byte
A pointer to the callback routine used to handle received characters.
Definition: private/async.h:71
void * user_data
An opaque pointer passed when calling put_byte.
Definition: private/async.h:73
Definition: private/async.h:35