spandsp 0.0.6
t30.h File Reference

Go to the source code of this file.

Classes

struct  t30_exchanged_info_t
 
struct  t30_stats_t
 

Macros

#define T30_MAX_DIS_DTC_DCS_LEN   22
 
#define T30_MAX_IDENT_LEN   20
 
#define T30_MAX_PAGE_HEADER_INFO   50
 

Typedefs

typedef struct 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_V34HDX , 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_V34HDX = 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_T85_L0_COMPRESSION = 0x20 , T30_SUPPORT_T43_COMPRESSION = 0x40 , T30_SUPPORT_T45_COMPRESSION = 0x80 ,
  T30_SUPPORT_T81_COMPRESSION = 0x100 , T30_SUPPORT_SYCC_T81_COMPRESSION = 0x200 , T30_SUPPORT_T88_COMPRESSION = 0x400
}
 
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

t30_state_tt30_init (