28#if !defined(_SPANDSP_PRIVATE_FAX_MODEMS_H_)
29#define _SPANDSP_PRIVATE_FAX_MODEMS_H_
79#if defined(SPANDSP_SUPPORT_V34)
114 hdlc_frame_handler_t hdlc_accept;
115 void *hdlc_accept_user_data;
124 int deferred_rx_handler_updates;
136 void *rx_fillin_user_data;
145 void *next_tx_user_data;
void(* put_bit_func_t)(void *user_data, int bit)
Definition: async.h:107
int(* get_bit_func_t)(void *user_data)
Definition: async.h:110
Definition: dc_restore.h:58
Definition: private/fax_modems.h:35
span_rx_handler_t rx_handler
The current receive signal handler.
Definition: private/fax_modems.h:126
bool transmit
If True, transmission is in progress.
Definition: private/fax_modems.h:153
span_rx_fillin_handler_t base_rx_fillin_handler
The current receive signal fillin handler. Actual receiving hops between this and a dummy receive rou...
Definition: private/fax_modems.h:135
span_tx_handler_t tx_handler
The current transmit signal handler.
Definition: private/fax_modems.h:139
put_bit_func_t put_bit
The callback function used to put each bit received.
Definition: private/fax_modems.h:105
span_rx_fillin_handler_t rx_fillin_handler
The current receive missing signal fill-in handler.
Definition: private/fax_modems.h:132
v29_rx_state_t v29_rx
A V.29 modem context used when receiving FAXes at 7200bps or 9600bps.
Definition: private/fax_modems.h:78
int current_rx_type
The currently selected receiver type.
Definition: private/fax_modems.h:97
v27ter_rx_state_t v27ter_rx
A V.27ter modem context used when receiving FAXes at 2400bps or 4800bps.
Definition: private/fax_modems.h:72
hdlc_tx_state_t hdlc_tx
An HDLC context used when transmitting HDLC messages.
Definition: private/fax_modems.h:50
bool use_tep
Definition: private/fax_modems.h:37
v27ter_tx_state_t v27ter_tx
A V.27ter modem context used when sending FAXes at 2400bps or 4800bps.
Definition: private/fax_modems.h:69
bool rx_frame_received
True if an HDLC frame has been received correctly.
Definition: private/fax_modems.h:122
int audio_tx_log
Audio logging file handle for transmitted audio.
Definition: private/fax_modems.h:157
void * tone_callback_user_data
A user specified opaque pointer passed to the tone_callback function.
Definition: private/fax_modems.h:41
silence_gen_state_t silence_gen
Used to insert timed silences.
Definition: private/fax_modems.h:85
int fast_modem
The fast modem type currently in use.
Definition: private/fax_modems.h:94
int tx_bit_rate
The current bit rate of the transmitter.
Definition: private/fax_modems.h:148
v17_rx_state_t v17_rx
A V.29 modem context used when receiving FAXes at 7200bps, 9600bps 12000bps or 14400bps.
Definition: private/fax_modems.h:66
get_bit_func_t get_bit
The callback function used to get the next bit to be transmitted.
Definition: private/fax_modems.h:110
v17_tx_state_t v17_tx
A V.17 modem context used when sending FAXes at 7200bps, 9600bps 12000bps or 14400bps.
Definition: private/fax_modems.h:63
modem_connect_tones_rx_state_t connect_rx
CED or CNG detector.
Definition: private/fax_modems.h:89
void * get_bit_user_data
A user specified opaque pointer passed to the get_bit function.
Definition: private/fax_modems.h:112
hdlc_rx_state_t hdlc_rx
An HDLC context used when receiving HDLC messages.
Definition: private/fax_modems.h:52
int transmit_on_idle
Definition: private/fax_modems.h:47
v29_tx_state_t v29_tx
A V.29 modem context used when sending FAXes at 7200bps or 9600bps.
Definition: private/fax_modems.h:75
tone_report_func_t tone_callback
The callback function used to report detected tones.
Definition: private/fax_modems.h:39
fsk_tx_state_t v21_tx
A V.21 FSK modem context used when transmitting HDLC over V.21 messages.
Definition: private/fax_modems.h:55
void * put_bit_user_data
A user specified opaque pointer passed to the put_bit routine.
Definition: private/fax_modems.h:107
span_tx_handler_t next_tx_handler
The next transmit signal handler, for two stage transmit operations. E.g. a short silence followed by...
Definition: private/fax_modems.h:144
logging_state_t logging
Error and flow logging control.
Definition: private/fax_modems.h:159
int rx_bit_rate
The current bit rate of the receiver.
Definition: private/fax_modems.h:150
span_rx_handler_t base_rx_handler
The current receive signal handler. Actual receiving hops between this and a dummy receive routine.
Definition: private/fax_modems.h:129
int current_tx_type
The currently selected transmitter type.
Definition: private/fax_modems.h:99
bool rx_trained
True if a modem has trained correctly.
Definition: private/fax_modems.h:120
int audio_rx_log
Audio logging file handle for received audio.
Definition: private/fax_modems.h:155
fsk_rx_state_t v21_rx
A V.21 FSK modem context used when receiving HDLC over V.21 messages.
Definition: private/fax_modems.h:58
bool rx_signal_present
True if a carrier is present. Otherwise false.
Definition: private/fax_modems.h:118
modem_connect_tones_tx_state_t connect_tx
CED or CNG generator.
Definition: private/fax_modems.h:87
Definition: private/fsk.h:59
Definition: private/fsk.h:34
Definition: private/hdlc.h:33
Definition: private/hdlc.h:92
Definition: private/logging.h:34
Definition: private/modem_connect_tones.h:58
Definition: private/modem_connect_tones.h:38
Definition: private/silence_gen.h:30
Definition: private/v17rx.h:54
Definition: private/v17tx.h:39
Definition: private/v27ter_rx.h:52
Definition: private/v27ter_tx.h:37
Definition: private/v29rx.h:44
Definition: private/v29tx.h:37