spandsp  0.0.6
v18.h File Reference

Go to the source code of this file.

Typedefs

typedef struct v18_state_s v18_state_t

Enumerations

enum  {
  V18_MODE_NONE = 0, V18_MODE_5BIT_45 = 1, V18_MODE_5BIT_50 = 2, V18_MODE_DTMF = 3,
  V18_MODE_EDT = 4, V18_MODE_BELL103 = 5, V18_MODE_V23VIDEOTEX = 6, V18_MODE_V21TEXTPHONE = 7,
  V18_MODE_V18TEXTPHONE = 8
}

Functions

logging_state_tv18_get_logging_state (v18_state_t *s)
v18_state_tv18_init (v18_state_t *s, int calling_party, int mode, put_msg_func_t put_msg, void *user_data)
 Initialise a V.18 context.
int v18_release (v18_state_t *s)
 Release a V.18 context.
int v18_free (v18_state_t *s)
 Release a V.18 context.
 SPAN_DECLARE_NONSTD (int) v18_tx(v18_state_t *s
 Generate a block of V.18 audio samples.
int v18_put (v18_state_t *s, const char msg[], int len)
 Put a string to a V.18 context's input buffer.
int v18_encode_dtmf (v18_state_t *s, char dtmf[], const char msg[])
 Convert a text string to a V.18 DTMF string.
int v18_decode_dtmf (v18_state_t *s, char msg[], const char dtmf[])
 Convert a V.18 DTMF string to a text string.
uint16_t v18_encode_baudot (v18_state_t *s, uint8_t ch)
uint8_t v18_decode_baudot (v18_state_t *s, uint8_t ch)
const char * v18_mode_to_str (int mode)
 Return a short name for an V.18 mode.

Variables

int16_t amp []
int16_t int max_len
const int16_t int len

Detailed Description


Function Documentation

SPAN_DECLARE_NONSTD ( int  )

Generate a block of V.18 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.

Process a block of received V.18 audio samples.

Generate a block of V.18 audio samples.

Parameters:
sThe V.18 context.
ampThe audio sample buffer.
max_lenThe number of samples to be generated.
Returns:
The number of samples actually generated.

Process a block of received V.18 audio samples.

Parameters:
sThe V.18 context.
ampThe audio sample buffer.
lenThe number of samples in the buffer.
int v18_decode_dtmf ( v18_state_t s,
char  msg[],
const char  dtmf[] 
)

Convert a V.18 DTMF string to a text string.

Convert a V.18 DTMF string to a text string.

Parameters:
sThe V.18 context.
msgThe resulting test string.
dtmfThe DTMF string to be converted.
Returns:
The length of the text string.
int v18_encode_dtmf ( v18_state_t s,
char  dtmf[],
const char  msg[] 
)

Convert a text string to a V.18 DTMF string.

Convert a text string to a V.18 DTMF string.

Parameters:
sThe V.18 context.
dtmfThe resulting DTMF string.
msgThe text string to be converted.
Returns:
The length of the DTMF string.
int v18_free ( v18_state_t s)

Release a V.18 context.

Free a V.18 context.

Parameters:
sThe V.18 context.
Returns:
0 for OK.
v18_state_t* v18_init ( v18_state_t s,
int  calling_party,
int  mode,
put_msg_func_t  put_msg,
void *  user_data 
)

Initialise a V.18 context.

Initialise a V.18 context.

Parameters:
sThe V.18 context.
calling_partyTRUE if caller mode, else answerer mode.
modeMode of operation.
put_msgA callback routine called to deliver the received text to the application.
user_dataAn opaque pointer for the callback routine.
Returns:
A pointer to the V.18 context, or NULL if there was a problem.

References ASYNC_PARITY_NONE, async_tx_init(), dtmf_rx_init(), dtmf_tx_init(), fsk_rx_init(), fsk_tx_init(), queue_init(), QUEUE_READ_ATOMIC, and QUEUE_WRITE_ATOMIC.

const char* v18_mode_to_str ( int  mode)

Return a short name for an V.18 mode.

Parameters:
modeThe code for the V.18 mode.
Returns:
A pointer to the name.
int v18_put ( v18_state_t s,
const char  msg[],
int  len 
)

Put a string to a V.18 context's input buffer.

Parameters:
sThe V.18 context.
msgThe string to be added.
lenThe length of the string. If negative, the string is assumed to be a NULL terminated string.
Returns:
The number of characters actually added. This may be less than the length of the digit string, if the buffer fills up. If the string is invalid, this function will return -1.

References queue_write().

int v18_release ( v18_state_t s)

Release a V.18 context.

Release a V.18 context.

Parameters:
sThe V.18 context.
Returns:
0 for OK.