28#if !defined(_SPANDSP_FAX_TESTER_H_) 
   29#define _SPANDSP_FAX_TESTER_H_ 
   40typedef void (*faxtester_flush_handler_t)(
faxtester_state_t *s, 
void *user_data, 
int which);
 
   57typedef void (*faxtester_front_end_step_complete_handler_t)(
faxtester_state_t *s, 
void *user_data);
 
   67    faxtester_flush_handler_t flush_handler;
 
   68    void *flush_user_data;
 
   76    faxtester_front_end_step_complete_handler_t front_end_step_complete_handler;
 
   77    void *front_end_step_complete_user_data;
 
   79    faxtester_front_end_step_complete_handler_t front_end_step_timeout_handler;
 
   80    void *front_end_step_timeout_user_data;
 
   82    const uint8_t *image_buffer;
 
  105    int wait_for_silence;
 
  108    int64_t tone_on_time;
 
  117#if defined(__cplusplus) 
  142void faxtester_set_tx_type(
void *user_data, 
int type, 
int bit_rate, 
int short_train, 
int use_hdlc);
 
  144void faxtester_set_rx_type(
void *user_data, 
int type, 
int bit_rate, 
int short_train, 
int use_hdlc);
 
  150void faxtester_send_hdlc_msg(
faxtester_state_t *s, 
const uint8_t *msg, 
int len, 
int crc_ok);
 
  152void faxtester_set_flush_handler(
faxtester_state_t *s, faxtester_flush_handler_t handler, 
void *user_data);
 
  172void faxtester_set_front_end_step_complete_handler(
faxtester_state_t *s, faxtester_front_end_step_complete_handler_t handler, 
void *user_data);
 
  174void faxtester_set_front_end_step_timeout_handler(
faxtester_state_t *s, faxtester_front_end_step_complete_handler_t handler, 
void *user_data);
 
  178void faxtester_set_non_ecm_image_buffer(
faxtester_state_t *s, 
const uint8_t *buf, 
int len);
 
  180void faxtester_set_ecm_image_buffer(
faxtester_state_t *s, 
const uint8_t *buf, 
int len, 
int block, 
int frame_size, 
int crc_hit);
 
  203#if defined(__cplusplus) 
faxtester_state_t * faxtester_init(faxtester_state_t *s, int calling_party)
Initialise a FAX context.
Definition fax_tester.c:696
int faxtester_free(faxtester_state_t *s)
Free a FAX context.
Definition fax_tester.c:721
int faxtester_rx(faxtester_state_t *s, int16_t *amp, int len)
Apply T.30 receive processing to a block of audio samples.
Definition fax_tester.c:386
void(* faxtester_real_time_frame_handler_t)(faxtester_state_t *s, void *user_data, int direction, const uint8_t *msg, int len)
FAX tester real time frame handler.
Definition fax_tester.h:51
void faxtester_set_tep_mode(faxtester_state_t *s, int use_tep)
Select whether TEP will be sent for the image modems.
Definition fax_tester.c:633
void faxtester_set_transmit_on_idle(faxtester_state_t *s, int transmit_on_idle)
Select whether silent audio will be sent when FAX transmit is idle.
Definition fax_tester.c:627
int faxtester_release(faxtester_state_t *s)
Release a FAX context.
Definition fax_tester.c:715
int faxtester_tx(faxtester_state_t *s, int16_t *amp, int max_len)
Apply T.30 transmit processing to generate a block of audio samples.
Definition fax_tester.c:406
Definition private/fax_modems.h:35
Definition fax_tester.h:63
logging_state_t logging
Error and flow logging control.
Definition fax_tester.h:114
faxtester_real_time_frame_handler_t real_time_frame_handler
A pointer to a callback routine to be called when frames are exchanged.
Definition fax_tester.h:72
int transmit
Definition fax_tester.h:95
int current_rx_type
The currently select receiver type.
Definition fax_tester.h:101
int short_train
TRUE is the short training sequence should be used.
Definition fax_tester.h:98
void * real_time_frame_user_data
An opaque pointer supplied in real time frame callbacks.
Definition fax_tester.h:74
int current_tx_type
The currently select transmitter type.
Definition fax_tester.h:103
xmlNodePtr cur
Pointer to our current step in the test.
Definition fax_tester.h:65
Definition private/logging.h:34