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
00029
00030 #if !defined(_SPANDSP_FAX_MODEMS_H_)
00031 #define _SPANDSP_FAX_MODEMS_H_
00032
00033 enum
00034 {
00035 FAX_MODEM_NONE = -1,
00036 FAX_MODEM_FLUSH = 0,
00037 FAX_MODEM_SILENCE_TX,
00038 FAX_MODEM_SILENCE_RX,
00039 FAX_MODEM_CED_TONE,
00040 FAX_MODEM_CNG_TONE,
00041 FAX_MODEM_NOCNG_TONE,
00042 FAX_MODEM_V21_TX,
00043 FAX_MODEM_V17_TX,
00044 FAX_MODEM_V27TER_TX,
00045 FAX_MODEM_V29_TX,
00046 FAX_MODEM_V21_RX,
00047 FAX_MODEM_V17_RX,
00048 FAX_MODEM_V27TER_RX,
00049 FAX_MODEM_V29_RX
00050 };
00051
00052
00053
00054
00055 typedef struct fax_modems_state_s fax_modems_state_t;
00056
00057 #if defined(__cplusplus)
00058 extern "C"
00059 {
00060 #endif
00061
00062
00063 SPAN_DECLARE(int) fax_modems_v17_v21_rx(void *user_data, const int16_t amp[], int len);
00064 SPAN_DECLARE(int) fax_modems_v27ter_v21_rx(void *user_data, const int16_t amp[], int len);
00065 SPAN_DECLARE(int) fax_modems_v29_v21_rx(void *user_data, const int16_t amp[], int len);
00066 SPAN_DECLARE(int) fax_modems_v17_v21_rx_fillin(void *user_data, int len);
00067 SPAN_DECLARE(int) fax_modems_v27ter_v21_rx_fillin(void *user_data, int len);
00068 SPAN_DECLARE(int) fax_modems_v29_v21_rx_fillin(void *user_data, int len);
00069 SPAN_DECLARE(void) fax_modems_start_rx_modem(fax_modems_state_t *s, int which);
00070
00071 SPAN_DECLARE(void) fax_modems_set_tep_mode(fax_modems_state_t *s, int use_tep);
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