fax_modems.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #if !defined(_SPANDSP_FAX_MODEMS_H_)
00029 #define _SPANDSP_FAX_MODEMS_H_
00030
00031 enum
00032 {
00033 FAX_MODEM_NONE = -1,
00034 FAX_MODEM_FLUSH = 0,
00035 FAX_MODEM_SILENCE_TX,
00036 FAX_MODEM_SILENCE_RX,
00037 FAX_MODEM_CED_TONE,
00038 FAX_MODEM_CNG_TONE,
00039 FAX_MODEM_NOCNG_TONE,
00040 FAX_MODEM_V21_TX,
00041 FAX_MODEM_V17_TX,
00042 FAX_MODEM_V27TER_TX,
00043 FAX_MODEM_V29_TX,
00044 FAX_MODEM_V21_RX,
00045 FAX_MODEM_V17_RX,
00046 FAX_MODEM_V27TER_RX,
00047 FAX_MODEM_V29_RX
00048 };
00049
00050
00051
00052
00053 typedef struct fax_modems_state_s fax_modems_state_t;
00054
00055 #if defined(__cplusplus)
00056 extern "C"
00057 {
00058 #endif
00059
00060
00061 SPAN_DECLARE_NONSTD(int) fax_modems_v17_v21_rx(void *user_data, const int16_t amp[], int len);
00062 SPAN_DECLARE_NONSTD(int) fax_modems_v27ter_v21_rx(void *user_data, const int16_t amp[], int len);
00063 SPAN_DECLARE_NONSTD(int) fax_modems_v29_v21_rx(void *user_data, const int16_t amp[], int len);
00064 SPAN_DECLARE_NONSTD(int) fax_modems_v17_v21_rx_fillin(void *user_data, int len);
00065 SPAN_DECLARE_NONSTD(int) fax_modems_v27ter_v21_rx_fillin(void *user_data, int len);
00066 SPAN_DECLARE_NONSTD(int) fax_modems_v29_v21_rx_fillin(void *user_data, int len);
00067 SPAN_DECLARE(void) fax_modems_start_rx_modem(fax_modems_state_t *s, int which);
00068
00069 SPAN_DECLARE(void) fax_modems_set_tep_mode(fax_modems_state_t *s, int use_tep);
00070
00071 SPAN_DECLARE(int) fax_modems_restart(fax_modems_state_t *s);
00072
00073 SPAN_DECLARE(fax_modems_state_t *) fax_modems_init(fax_modems_state_t *s,
00074 int use_tep,
00075 hdlc_frame_handler_t hdlc_accept,
00076 hdlc_underflow_handler_t hdlc_tx_underflow,
00077 put_bit_func_t non_ecm_put_bit,
00078 get_bit_func_t non_ecm_get_bit,
00079 tone_report_func_t tone_callback,
00080 void *user_data);
00081
00082 SPAN_DECLARE(int) fax_modems_release(fax_modems_state_t *s);
00083
00084 SPAN_DECLARE(int) fax_modems_free(fax_modems_state_t *s);
00085
00086 #if defined(__cplusplus)
00087 }
00088 #endif
00089
00090 #endif
00091