Go to the source code of this file.
Classes | |
struct | t30_exchanged_info_t |
struct | t30_state_s |
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 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 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_2400, T30_MODEM_V27TER_4800, T30_MODEM_V29_7200, T30_MODEM_V29_9600, T30_MODEM_V17_7200, T30_MODEM_V17_9600, T30_MODEM_V17_12000, T30_MODEM_V17_14400, 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 } |
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 } |
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 } |
Functions | |
t30_state_t * | t30_init (t30_state_t *s, int calling_party, t30_set_handler_t *set_rx_type_handler, void *set_rx_type_user_data, t30_set_handler_t *set_tx_type_handler, void *set_tx_type_user_data, t30_send_hdlc_handler_t *send_hdlc_handler, void *send_hdlc_user_data) |
Initialise a T.30 context. | |
int | t30_release (t30_state_t *s) |
Release a T.30 context. | |
int | t30_free (t30_state_t *s) |
Free a T.30 context. | |
int | t30_restart (t30_state_t *s) |
Restart a T.30 context. | |
void | t30_terminate (t30_state_t *s) |
Cleanup a T.30 context if the call terminates. | |
void | t30_front_end_status (void *user_data, int status) |
Inform the T.30 engine of a status change in the front end (end of tx, rx signal change, etc.). | |
int | t30_non_ecm_get_bit (void *user_data) |
Get a bit of received non-ECM image data. | |
int | t30_non_ecm_get_byte (void *user_data) |
Get a byte of received non-ECM image data. | |
int | t30_non_ecm_get_chunk (void *user_data, uint8_t buf[], int max_len) |
Get a bit of received non-ECM image data. | |
void | t30_non_ecm_put_bit (void *user_data, int bit) |
Process a bit of received non-ECM image data. | |
void | t30_non_ecm_put_byte (void *user_data, int byte) |
Process a byte of received non-ECM image data. | |
void | t30_non_ecm_put_chunk (void *user_data, const uint8_t buf[], int len) |
Process a chunk of received non-ECM image data. | |
void | t30_hdlc_accept (void *user_data, const uint8_t *msg, int len, int ok) |
Process a received HDLC frame. | |
void | t30_timer_update (t30_state_t *s, int samples) |
Report the passage of time to the T.30 engine. | |
void | t30_get_transfer_statistics (t30_state_t *s, t30_stats_t *t) |
Get the current transfer statistics. | |
void | t30_local_interrupt_request (t30_state_t *s, int state) |
Request a local interrupt of FAX exchange. |
|
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 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. |
|
|
|
|
|
|
|
Free a T.30 context. Free a T.30 context.
|
|
Inform the T.30 engine of a status change in the front end (end of tx, rx signal change, etc.). Inform the T.30 engine of a status change in the front end (end of tx, rx signal change, etc.).
|
|
Get the current transfer statistics. Get the current transfer statistics for the file being sent or received.
|
|
Process a received HDLC frame. Process a received HDLC frame.
|
|
Initialise a T.30 context. Initialise a T.30 context.
|
|
Request a local interrupt of FAX exchange. Request a local interrupt of FAX exchange.
|
|
Get a bit of received non-ECM image data. Get a bit of received non-ECM image data.
|
|
Get a byte of received non-ECM image data. Get a byte of received non-ECM image data.
|
|
Get a bit of received non-ECM image data. Get a chunk of received non-ECM image data.
|
|
Process a bit of received non-ECM image data. Process a bit of received non-ECM image data.
|
|
Process a byte of received non-ECM image data. Process a byte of received non-ECM image data.
|
|
Process a chunk of received non-ECM image data. Process a chunk of received non-ECM image data.
|
|
Release a T.30 context. Release a T.30 context.
|
|
Restart a T.30 context. Restart a T.30 context.
|
|
Cleanup a T.30 context if the call terminates. Cleanup a T.30 context if the call terminates.
|
|
Report the passage of time to the T.30 engine. Report the passage of time to the T.30 engine.
|