spandsp  3.0.0
fax_modems.h File Reference

Go to the source code of this file.

Typedefs

typedef struct fax_modems_state_s fax_modems_state_t
 

Enumerations

enum  {
  FAX_MODEM_NONE = -1, FAX_MODEM_FLUSH = 0, FAX_MODEM_SILENCE_TX, FAX_MODEM_SILENCE_RX,
  FAX_MODEM_CED_TONE_TX, FAX_MODEM_CNG_TONE_TX, FAX_MODEM_NOCNG_TONE_TX, FAX_MODEM_CED_TONE_RX,
  FAX_MODEM_CNG_TONE_RX, FAX_MODEM_V21_TX, FAX_MODEM_V17_TX, FAX_MODEM_V27TER_TX,
  FAX_MODEM_V29_TX, FAX_MODEM_V21_RX, FAX_MODEM_V17_RX, FAX_MODEM_V27TER_RX,
  FAX_MODEM_V29_RX
}
 

Functions

void fax_modems_hdlc_accept (void *user_data, const uint8_t *msg, int len, int ok)
 
const char * fax_modem_to_str (int modem)
 Convert a FAX modem type to a short text description. More...
 
int fax_modems_v17_v21_rx (void *user_data, const int16_t amp[], int len)
 
int fax_modems_v27ter_v21_rx (void *user_data, const int16_t amp[], int len)
 
int fax_modems_v29_v21_rx (void *user_data, const int16_t amp[], int len)
 
int fax_modems_v17_v21_rx_fillin (void *user_data, int len)
 
int fax_modems_v27ter_v21_rx_fillin (void *user_data, int len)
 
int fax_modems_v29_v21_rx_fillin (void *user_data, int len)
 
void fax_modems_hdlc_tx_frame (void *user_data, const uint8_t *msg, int len)
 
void fax_modems_hdlc_tx_flags (fax_modems_state_t *s, int flags)
 
void fax_modems_start_fast_modem (fax_modems_state_t *s, int which, int bit_rate, int short_train, int hdlc_mode)
 
void fax_modems_start_slow_modem (fax_modems_state_t *s, int which)
 
void fax_modems_set_tep_mode (fax_modems_state_t *s, int use_tep)
 
void fax_modems_set_put_bit (fax_modems_state_t *s, put_bit_func_t put_bit, void *user_data)
 
void fax_modems_set_get_bit (fax_modems_state_t *s, get_bit_func_t get_bit, void *user_data)
 
void fax_modems_set_rx_handler (fax_modems_state_t *s, span_rx_handler_t rx_handler, void *rx_user_data, span_rx_fillin_handler_t rx_fillin_handler, void *rx_fillin_user_data)
 
void fax_modems_set_rx_active (fax_modems_state_t *s, int active)
 
void fax_modems_set_tx_handler (fax_modems_state_t *s, span_tx_handler_t handler, void *user_data)
 
void fax_modems_set_next_tx_handler (fax_modems_state_t *s, span_tx_handler_t handler, void *user_data)
 
int fax_modems_set_next_tx_type (fax_modems_state_t *s)
 
int fax_modems_restart (fax_modems_state_t *s)
 
logging_state_tfax_modems_get_logging_state (fax_modems_state_t *s)
 Get a pointer to the logging context associated with a FAX modems context. More...
 
fax_modems_state_tfax_modems_init (fax_modems_state_t *s, int use_tep, hdlc_frame_handler_t hdlc_accept, hdlc_underflow_handler_t hdlc_tx_underflow, put_bit_func_t non_ecm_put_bit, get_bit_func_t non_ecm_get_bit, tone_report_func_t tone_callback, void *user_data)
 
int fax_modems_release (fax_modems_state_t *s)
 
int fax_modems_free (fax_modems_state_t *s)
 

Typedef Documentation

◆ fax_modems_state_t

The set of modems needed for FAX, plus the auxilliary stuff, like tone generation.

Function Documentation

◆ fax_modem_to_str()

const char* fax_modem_to_str ( int  modem)

Convert a FAX modem type to a short text description.

Convert a FAX modem type to a short text description.

Parameters
modemThe modem code.
Returns
A pointer to the description.

◆ fax_modems_get_logging_state()

logging_state_t* fax_modems_get_logging_state ( fax_modems_state_t s)

Get a pointer to the logging context associated with a FAX modems context.

Get a pointer to the logging context associated with a FAX modems context.

Parameters
sThe FAX modems context.
Returns
A pointer to the logging context, or NULL.

References fax_modems_state_s::logging.