Typedefs | Functions | Variables

fax.h File Reference

Go to the source code of this file.

Typedefs

typedef struct fax_state_s fax_state_t

Functions

 SPAN_DECLARE_NONSTD (int) fax_rx(fax_state_t *s
 Apply T.30 receive processing to a block of audio samples.
void fax_set_transmit_on_idle (fax_state_t *s, int transmit_on_idle)
 Select whether silent audio will be sent when FAX transmit is idle.
void fax_set_tep_mode (fax_state_t *s, int use_tep)
 Select whether TEP will be sent for the image modems.
t30_state_tfax_get_t30_state (fax_state_t *s)
 Get a pointer to the T.30 engine associated with a FAX context.
logging_state_tfax_get_logging_state (fax_state_t *s)
 Get a pointer to the logging context associated with a FAX context.
int fax_restart (fax_state_t *s, int calling_party)
 Restart a FAX context.
fax_state_tfax_init (fax_state_t *s, int calling_party)
 Initialise a FAX context.
int fax_release (fax_state_t *s)
 Release a FAX context.
int fax_free (fax_state_t *s)
 Free a FAX context.

Variables

int16_t * amp
int16_t int len
int16_t int max_len

Detailed Description


Function Documentation

int fax_free ( fax_state_t s  ) 

Free a FAX context.

Free a FAX context.

Parameters:
s The FAX context.
Returns:
0 for OK, else -1.

References t30_release().

logging_state_t* fax_get_logging_state ( fax_state_t s  ) 

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

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

Parameters:
s The FAX context.
Returns:
A pointer to the logging context, or NULL.
t30_state_t* fax_get_t30_state ( fax_state_t s  ) 

Get a pointer to the T.30 engine associated with a FAX context.

Get a pointer to the T.30 engine associated with a FAX context.

Parameters:
s The FAX context.
Returns:
A pointer to the T.30 context, or NULL.
fax_state_t* fax_init ( fax_state_t s,
int  calling_party 
)

Initialise a FAX context.

Initialise a FAX context.

Parameters:
s The FAX context.
calling_party TRUE if the context is for a calling party. FALSE if the context is for an answering party.
Returns:
A pointer to the FAX context, or NULL if there was a problem.

References fax_restart(), t30_init(), t30_set_supported_modems(), T30_SUPPORT_V17, T30_SUPPORT_V27TER, T30_SUPPORT_V29, T30_SUPPORT_V34HDX, and v8_init().

int fax_release ( fax_state_t s  ) 

Release a FAX context.

Release a FAX context.

Parameters:
s The FAX context.
Returns:
0 for OK, else -1.

References t30_release().

int fax_restart ( fax_state_t s,
int  calling_party 
)

Restart a FAX context.

Restart a FAX context.

Parameters:
s The FAX context.
calling_party TRUE if the context is for a calling party. FALSE if the context is for an answering party.
Returns:
0 for OK, else -1.

References t30_restart(), T30_SUPPORT_V17, T30_SUPPORT_V27TER, T30_SUPPORT_V29, and T30_SUPPORT_V34HDX.

Referenced by fax_init().

void fax_set_tep_mode ( fax_state_t s,
int  use_tep 
)

Select whether TEP will be sent for the image modems.

Select whether talker echo protection tone will be sent for the image modems.

Parameters:
s The FAX context.
use_tep TRUE if TEP should be sent.
void fax_set_transmit_on_idle ( fax_state_t s,
int  transmit_on_idle 
)

Select whether silent audio will be sent when FAX transmit is idle.

Select whether silent audio will be sent when FAX transmit is idle.

Parameters:
s The FAX context.
transmit_on_idle TRUE if silent audio should be output when the FAX transmitter is idle. FALSE to transmit zero length audio when the FAX transmitter is idle. The default behaviour is FALSE.
SPAN_DECLARE_NONSTD ( int   ) 

Apply T.30 receive processing to a block of audio samples.

Get the next bit of data from a T.38 rate adapting non-ECM buffer context.

Get a bit of received non-ECM image data.

Get the next bit of a transmitted serial bit stream.

Apply T.30 transmit processing to generate a block of audio samples.

Apply fake T.30 receive processing.

Apply T.30 receive processing to a block of audio samples.

Parameters:
s The FAX context.
amp The audio sample buffer.
len The number of samples in the buffer.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Apply fake T.30 receive processing when a block of audio samples is missing (e.g due to packet loss).

Parameters:
s The FAX context.
len The number of samples to fake.
Returns:
The number of samples unprocessed. This should only be non-zero if the software has reached the end of the FAX call.

Apply T.30 transmit processing to generate a block of audio samples.

Parameters:
s The FAX context.
amp The audio sample buffer.
max_len The number of samples to be generated.
Returns:
The number of samples actually generated. This will be zero when there is nothing to send.