Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

t38_core.h File Reference

Go to the source code of this file.

Classes

struct  t38_data_field_t

Defines

#define _SPANDSP_T38_CORE_H_
#define T38_RX_BUF_LEN   2048
#define T38_TX_BUF_LEN   16384

Typedefs

typedef t38_core_state_s t38_core_state_t
typedef int( t38_tx_packet_handler_t )(t38_core_state_t *s, void *user_data, const uint8_t *buf, int len, int count)
typedef int( t38_rx_indicator_handler_t )(t38_core_state_t *s, void *user_data, int indicator)
typedef int( t38_rx_data_handler_t )(t38_core_state_t *s, void *user_data, int data_type, int field_type, const uint8_t *buf, int len)
typedef int( t38_rx_missing_handler_t )(t38_core_state_t *s, void *user_data, int rx_seq_no, int expected_seq_no)

Enumerations

enum  t30_indicator_types_e {
  T38_IND_NO_SIGNAL = 0, T38_IND_CNG, T38_IND_CED, T38_IND_V21_PREAMBLE,
  T38_IND_V27TER_2400_TRAINING, T38_IND_V27TER_4800_TRAINING, T38_IND_V29_7200_TRAINING, T38_IND_V29_9600_TRAINING,
  T38_IND_V17_7200_SHORT_TRAINING, T38_IND_V17_7200_LONG_TRAINING, T38_IND_V17_9600_SHORT_TRAINING, T38_IND_V17_9600_LONG_TRAINING,
  T38_IND_V17_12000_SHORT_TRAINING, T38_IND_V17_12000_LONG_TRAINING, T38_IND_V17_14400_SHORT_TRAINING, T38_IND_V17_14400_LONG_TRAINING,
  T38_IND_V8_ANSAM, T38_IND_V8_SIGNAL, T38_IND_V34_CNTL_CHANNEL_1200, T38_IND_V34_PRI_CHANNEL,
  T38_IND_V34_CC_RETRAIN, T38_IND_V33_12000_TRAINING, T38_IND_V33_14400_TRAINING
}
enum  t38_data_types_e {
  T38_DATA_NONE = -1, T38_DATA_V21 = 0, T38_DATA_V27TER_2400, T38_DATA_V27TER_4800,
  T38_DATA_V29_7200, T38_DATA_V29_9600, T38_DATA_V17_7200, T38_DATA_V17_9600,
  T38_DATA_V17_12000, T38_DATA_V17_14400, T38_DATA_V8, T38_DATA_V34_PRI_RATE,
  T38_DATA_V34_CC_1200, T38_DATA_V34_PRI_CH, T38_DATA_V33_12000, T38_DATA_V33_14400
}
enum  t38_field_types_e {
  T38_FIELD_HDLC_DATA = 0, T38_FIELD_HDLC_SIG_END, T38_FIELD_HDLC_FCS_OK, T38_FIELD_HDLC_FCS_BAD,
  T38_FIELD_HDLC_FCS_OK_SIG_END, T38_FIELD_HDLC_FCS_BAD_SIG_END, T38_FIELD_T4_NON_ECM_DATA, T38_FIELD_T4_NON_ECM_SIG_END,
  T38_FIELD_CM_MESSAGE, T38_FIELD_JM_MESSAGE, T38_FIELD_CI_MESSAGE, T38_FIELD_V34RATE
}
enum  t38_field_classes_e { T38_FIELD_CLASS_NONE = 0, T38_FIELD_CLASS_HDLC, T38_FIELD_CLASS_NON_ECM }
enum  t38_message_types_e { T38_TYPE_OF_MSG_T30_INDICATOR = 0, T38_TYPE_OF_MSG_T30_DATA }
enum  t38_transport_types_e { T38_TRANSPORT_UDPTL = 0, T38_TRANSPORT_RTP, T38_TRANSPORT_TCP }
enum  t38_data_rate_management_types_e { T38_DATA_RATE_MANAGEMENT_LOCAL_TCF = 1, T38_DATA_RATE_MANAGEMENT_TRANSFERRED_TCF = 2 }

Functions

 SPAN_DECLARE (const char *) t38_indicator_to_str(int indicator)
 Convert the code for an indicator to a short text name.
 SPAN_DECLARE (int) t38_v34rate_to_bps(const uint8_t *data
 Convert a V34rate message to an actual bit rate.
 SPAN_DECLARE (void) t38_set_data_rate_management_method(t38_core_state_t *s
 Cleanup a T.30 context if the call terminates.
 SPAN_DECLARE (logging_state_t *) t38_core_get_logging_state(t38_core_state_t *s)
 Get a pointer to the logging context associated with a T.38 context.
 SPAN_DECLARE (t38_core_state_t *) t38_core_init(t38_core_state_t *s
 Get a pointer to the T.38 core IFP packet engine associated with a T.38 context.

Variables

int len
int indicator
int int count
int data_type
int int field_type
int int const uint8_t field []
int int const uint8_t int field_len
int const t38_data_field_t int fields
const uint8_t * buf
const uint8_t int uint16_t seq_no
int method
int data_transport_protocol
int fill_bit_removal
int mmr_transcoding
int jbig_transcoding
int max_buffer_size
int max_datagram_size
int t38_version
int check
int allow_for_tep
t38_rx_indicator_handler_t * rx_indicator_handler
t38_rx_indicator_handler_t
t38_rx_data_handler_t * 
rx_data_handler
t38_rx_indicator_handler_t
t38_rx_data_handler_t t38_rx_missing_handler_t * 
rx_missing_handler
t38_rx_indicator_handler_t
t38_rx_data_handler_t t38_rx_missing_handler_t
void * 
rx_user_data
t38_rx_indicator_handler_t
t38_rx_data_handler_t t38_rx_missing_handler_t
void t38_tx_packet_handler_t * 
tx_packet_handler
t38_rx_indicator_handler_t
t38_rx_data_handler_t t38_rx_missing_handler_t
void t38_tx_packet_handler_t
void * 
tx_packet_user_data


Detailed Description


Typedef Documentation

typedef struct t38_core_state_s t38_core_state_t
 

Core T.38 state, common to all modes of T.38.


Enumeration Type Documentation

enum t30_indicator_types_e
 

T.38 indicator types

enum t38_data_rate_management_types_e
 

T.38 TCF management types

enum t38_data_types_e
 

T.38 data types

enum t38_field_classes_e
 

T.38 field classes

enum t38_field_types_e
 

T.38 data field types

enum t38_message_types_e
 

T.38 message types

enum t38_transport_types_e
 

T.38 transport types


Function Documentation

SPAN_DECLARE t38_core_state_t  ) 
 

Get a pointer to the T.38 core IFP packet engine associated with a T.38 context.

Get a pointer to the T.38 core IFP packet engine associated with a gateway mode T.38 context.

Parameters:
s The T.38 context.
Returns:
A pointer to the T.38 core context, or NULL.

SPAN_DECLARE logging_state_t  ) 
 

Get a pointer to the logging context associated with a T.38 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.

SPAN_DECLARE void   ) 
 

Cleanup a T.30 context if the call terminates.

Set the method to be used for data rate management, as per the T.38 spec.

Parameters:
s The T.38 context.
method 1 for pass TCF across the T.38 link, 2 for handle TCF locally.

SPAN_DECLARE int   )  const
 

Convert a V34rate message to an actual bit rate.

Parameters:
data The data field of the message.
len The length of the data field.
Returns:
The bit rate, or -1 for a bad message.

SPAN_DECLARE const char *   ) 
 

Convert the code for an indicator to a short text name.

Get the transmitted identifier associated with a T.30 context.

Parameters:
s The T.30 context.
id A pointer to the identifier.
Returns:
0 for OK, else -1.


Generated on Fri Aug 28 20:12:28 2009 for spandsp by  doxygen 1.3.9.1