Go to the source code of this file.
Classes | |
struct | t30_exchanged_info_t |
struct | t30_stats_t |
Defines | |
#define | _SPANDSP_T30_H_ |
#define | T30_MAX_DIS_DTC_DCS_LEN 22 |
#define | T30_MAX_IDENT_LEN 20 |
#define | T30_MAX_PAGE_HEADER_INFO 50 |
Typedefs | |
typedef t30_state_s | t30_state_t |
typedef int( | t30_phase_b_handler_t )(t30_state_t *s, void *user_data, int result) |
T.30 phase B callback handler. | |
typedef int( | t30_phase_d_handler_t )(t30_state_t *s, void *user_data, int result) |
T.30 phase D callback handler. | |
typedef void( | t30_phase_e_handler_t )(t30_state_t *s, void *user_data, int completion_code) |
T.30 phase E callback handler. | |
typedef void( | t30_real_time_frame_handler_t )(t30_state_t *s, void *user_data, int direction, const uint8_t *msg, int len) |
T.30 real time frame handler. | |
typedef int( | t30_document_handler_t )(t30_state_t *s, void *user_data, int status) |
T.30 document handler. | |
typedef void( | t30_set_handler_t )(void *user_data, int type, int bit_rate, int short_train, int use_hdlc) |
T.30 set a receive or transmit type handler. | |
typedef void( | t30_send_hdlc_handler_t )(void *user_data, const uint8_t *msg, int len) |
T.30 send HDLC handler. | |
Enumerations | |
enum | { T30_ERR_OK = 0, T30_ERR_CEDTONE, T30_ERR_T0_EXPIRED, T30_ERR_T1_EXPIRED, T30_ERR_T3_EXPIRED, T30_ERR_HDLC_CARRIER, T30_ERR_CANNOT_TRAIN, T30_ERR_OPER_INT_FAIL, T30_ERR_INCOMPATIBLE, T30_ERR_RX_INCAPABLE, T30_ERR_TX_INCAPABLE, T30_ERR_NORESSUPPORT, T30_ERR_NOSIZESUPPORT, T30_ERR_UNEXPECTED, T30_ERR_TX_BADDCS, T30_ERR_TX_BADPG, T30_ERR_TX_ECMPHD, T30_ERR_TX_GOTDCN, T30_ERR_TX_INVALRSP, T30_ERR_TX_NODIS, T30_ERR_TX_PHBDEAD, T30_ERR_TX_PHDDEAD, T30_ERR_TX_T5EXP, T30_ERR_RX_ECMPHD, T30_ERR_RX_GOTDCS, T30_ERR_RX_INVALCMD, T30_ERR_RX_NOCARRIER, T30_ERR_RX_NOEOL, T30_ERR_RX_NOFAX, T30_ERR_RX_T2EXPDCN, T30_ERR_RX_T2EXPD, T30_ERR_RX_T2EXPFAX, T30_ERR_RX_T2EXPMPS, T30_ERR_RX_T2EXPRR, T30_ERR_RX_T2EXP, T30_ERR_RX_DCNWHY, T30_ERR_RX_DCNDATA, T30_ERR_RX_DCNFAX, T30_ERR_RX_DCNPHD, T30_ERR_RX_DCNRRD, T30_ERR_RX_DCNNORTN, T30_ERR_FILEERROR, T30_ERR_NOPAGE, T30_ERR_BADTIFF, T30_ERR_BADPAGE, T30_ERR_BADTAG, T30_ERR_BADTIFFHDR, T30_ERR_NOMEM, T30_ERR_RETRYDCN, T30_ERR_CALLDROPPED, T30_ERR_NOPOLL, T30_ERR_IDENT_UNACCEPTABLE, T30_ERR_SUB_UNACCEPTABLE, T30_ERR_SEP_UNACCEPTABLE, T30_ERR_PSA_UNACCEPTABLE, T30_ERR_SID_UNACCEPTABLE, T30_ERR_PWD_UNACCEPTABLE, T30_ERR_TSA_UNACCEPTABLE, T30_ERR_IRA_UNACCEPTABLE, T30_ERR_CIA_UNACCEPTABLE, T30_ERR_ISP_UNACCEPTABLE, T30_ERR_CSA_UNACCEPTABLE } |
enum | { T30_MODEM_NONE = 0, T30_MODEM_PAUSE, T30_MODEM_CED, T30_MODEM_CNG, T30_MODEM_V21, T30_MODEM_V27TER, T30_MODEM_V29, T30_MODEM_V17, T30_MODEM_DONE } |
enum | { T30_FRONT_END_SEND_STEP_COMPLETE = 0, T30_FRONT_END_RECEIVE_COMPLETE, T30_FRONT_END_SIGNAL_PRESENT, T30_FRONT_END_SIGNAL_ABSENT, T30_FRONT_END_CED_PRESENT, T30_FRONT_END_CNG_PRESENT } |
enum | { T30_SUPPORT_V27TER = 0x01, T30_SUPPORT_V29 = 0x02, T30_SUPPORT_V17 = 0x04, T30_SUPPORT_V34 = 0x08, T30_SUPPORT_IAF = 0x10 } |
enum | { T30_SUPPORT_NO_COMPRESSION = 0x01, T30_SUPPORT_T4_1D_COMPRESSION = 0x02, T30_SUPPORT_T4_2D_COMPRESSION = 0x04, T30_SUPPORT_T6_COMPRESSION = 0x08, T30_SUPPORT_T85_COMPRESSION = 0x10, T30_SUPPORT_T43_COMPRESSION = 0x20, T30_SUPPORT_T45_COMPRESSION = 0x40, T30_SUPPORT_T81_COMPRESSION = 0x80, T30_SUPPORT_SYCC_T81_COMPRESSION = 0x100 } |
enum | { T30_SUPPORT_STANDARD_RESOLUTION = 0x01, T30_SUPPORT_FINE_RESOLUTION = 0x02, T30_SUPPORT_SUPERFINE_RESOLUTION = 0x04, T30_SUPPORT_R4_RESOLUTION = 0x10000, T30_SUPPORT_R8_RESOLUTION = 0x20000, T30_SUPPORT_R16_RESOLUTION = 0x40000, T30_SUPPORT_300_300_RESOLUTION = 0x100000, T30_SUPPORT_400_400_RESOLUTION = 0x200000, T30_SUPPORT_600_600_RESOLUTION = 0x400000, T30_SUPPORT_1200_1200_RESOLUTION = 0x800000, T30_SUPPORT_300_600_RESOLUTION = 0x1000000, T30_SUPPORT_400_800_RESOLUTION = 0x2000000, T30_SUPPORT_600_1200_RESOLUTION = 0x4000000 } |
enum | { T30_SUPPORT_215MM_WIDTH = 0x01, T30_SUPPORT_255MM_WIDTH = 0x02, T30_SUPPORT_303MM_WIDTH = 0x04, T30_SUPPORT_UNLIMITED_LENGTH = 0x10000, T30_SUPPORT_A4_LENGTH = 0x20000, T30_SUPPORT_B4_LENGTH = 0x40000, T30_SUPPORT_US_LETTER_LENGTH = 0x80000, T30_SUPPORT_US_LEGAL_LENGTH = 0x100000 } |
enum | { T30_SUPPORT_IDENTIFICATION = 0x01, T30_SUPPORT_SELECTIVE_POLLING = 0x02, T30_SUPPORT_POLLED_SUB_ADDRESSING = 0x04, T30_SUPPORT_MULTIPLE_SELECTIVE_POLLING = 0x08, T30_SUPPORT_SUB_ADDRESSING = 0x10, T30_SUPPORT_TRANSMITTING_SUBSCRIBER_INTERNET_ADDRESS = 0x20, T30_SUPPORT_INTERNET_ROUTING_ADDRESS = 0x40, T30_SUPPORT_CALLING_SUBSCRIBER_INTERNET_ADDRESS = 0x80, T30_SUPPORT_INTERNET_SELECTIVE_POLLING_ADDRESS = 0x100, T30_SUPPORT_CALLED_SUBSCRIBER_INTERNET_ADDRESS = 0x200, T30_SUPPORT_FIELD_NOT_VALID = 0x400, T30_SUPPORT_COMMAND_REPEAT = 0x800 } |
enum | { T30_IAF_MODE_T37 = 0x01, T30_IAF_MODE_T38 = 0x02, T30_IAF_MODE_FLOW_CONTROL = 0x04, T30_IAF_MODE_CONTINUOUS_FLOW = 0x08, T30_IAF_MODE_NO_TCF = 0x10, T30_IAF_MODE_NO_FILL_BITS = 0x20, T30_IAF_MODE_NO_INDICATORS = 0x40, T30_IAF_MODE_RELAXED_TIMERS = 0x80 } |
Functions | |
SPAN_DECLARE (t30_state_t *) t30_init(t30_state_t *s | |
Get a pointer to the T.30 engine associated with a T.38 context. | |
SPAN_DECLARE (int) t30_release(t30_state_t *s) | |
Release a T.30 context. | |
SPAN_DECLARE (void) t30_terminate(t30_state_t *s) | |
Cleanup a T.30 context if the call terminates. | |
SPAN_DECLARE_NONSTD (int) t30_non_ecm_get_bit(void *user_data) | |
Get a bit of received non-ECM image data. | |
SPAN_DECLARE_NONSTD (void) t30_non_ecm_put_bit(void *user_data | |
Process a bit of received non-ECM image data. | |
Variables | |
int | calling_party |
int t30_set_handler_t * | set_rx_type_handler |
int t30_set_handler_t void * | set_rx_type_user_data |
int t30_set_handler_t void t30_set_handler_t * | set_tx_type_handler |
int t30_set_handler_t void t30_set_handler_t void * | set_tx_type_user_data |
int t30_set_handler_t void t30_set_handler_t void t30_send_hdlc_handler_t * | send_hdlc_handler |
int t30_set_handler_t void t30_set_handler_t void t30_send_hdlc_handler_t void * | send_hdlc_user_data |
int | status |
uint8_t | buf [] |
uint8_t int | max_len |
int | bit |
int | byte |
const uint8_t int | len |
const uint8_t * | msg |
const uint8_t int int | ok |
int | samples |
t30_stats_t * | t |
int | state |
|
T.30 document handler. T.30 document handler.
|
|
T.30 phase B callback handler. T.30 phase B callback handler. This handler can be used to process addition information available in some FAX calls, such as passwords. The callback handler can access whatever additional information might have been received, using t30_get_received_info().
|
|
T.30 phase D callback handler. T.30 phase D callback handler.
|
|
T.30 phase E callback handler. T.30 phase E callback handler.
|
|
T.30 real time frame handler. T.30 real time frame handler.
|
|
T.30 send HDLC handler. T.30 send HDLC handler.
|
|
T.30 set a receive or transmit type handler. T.30 set a receive or transmit type handler.
|
|
|
I/O modes for the T.30 protocol. These are allocated such that the lower 4 bits represents the variant of the modem - e.g. the particular bit rate selected. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Cleanup a T.30 context if the call terminates. Log the list of supported modulations.
|
|
Release a T.30 context. Compress a block of octets.
|
|
Get a pointer to the T.30 engine associated with a T.38 context. Initialise a T.30 context.
|
|
Process a bit of received non-ECM image data. Process a bit of received non-ECM image data.
|
|
Get a bit of received non-ECM image data. A dummy routine to use as a receive callback, when we aren't really trying to process what is received. It just absorbs and ignores the data.
|