spandsp  3.0.0
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 = 0x0001, V18_MODE_5BIT_4545 = 0x0002, V18_MODE_5BIT_50 = 0x0004, V18_MODE_DTMF = 0x0008,
  V18_MODE_EDT = 0x0010, V18_MODE_BELL103 = 0x0020, V18_MODE_V23VIDEOTEX = 0x0040, V18_MODE_V21TEXTPHONE = 0x0080,
  V18_MODE_V18TEXTPHONE = 0x0100, V18_MODE_5BIT_476 = 0x0200, V18_MODE_REPETITIVE_SHIFTS_OPTION = 0x1000
}
 
enum  {
  V18_AUTOMODING_GLOBAL = 0, V18_AUTOMODING_NONE, V18_AUTOMODING_AUSTRALIA, V18_AUTOMODING_IRELAND,
  V18_AUTOMODING_GERMANY, V18_AUTOMODING_SWITZERLAND, V18_AUTOMODING_ITALY, V18_AUTOMODING_SPAIN,
  V18_AUTOMODING_AUSTRIA, V18_AUTOMODING_NETHERLANDS, V18_AUTOMODING_ICELAND, V18_AUTOMODING_NORWAY,
  V18_AUTOMODING_SWEDEN, V18_AUTOMODING_FINALND, V18_AUTOMODING_DENMARK, V18_AUTOMODING_UK,
  V18_AUTOMODING_USA, V18_AUTOMODING_FRANCE, V18_AUTOMODING_BELGIUM, V18_AUTOMODING_END
}
 

Functions

logging_state_tv18_get_logging_state (v18_state_t *s)
 
v18_state_tv18_init (v18_state_t *s, bool calling_party, int mode, int nation, put_msg_func_t put_msg, void *user_data)
 Initialise a V.18 context. More...
 
int v18_release (v18_state_t *s)
 Release a V.18 context. More...
 
int v18_free (v18_state_t *s)
 Release a V.18 context. More...
 
int v18_tx (v18_state_t *s, int16_t amp[], int max_len)
 Generate a block of V.18 audio samples. More...
 
int v18_rx (v18_state_t *s, const int16_t amp[], int len)
 Process a block of received V.18 audio samples. More...
 
int v18_rx_fillin (v18_state_t *s, int len)
 Fake processing of a missing block of received V.18 audio samples. More...
 
int v18_put (v18_state_t *s, const char msg[], int len)
 Put a string to a V.18 context's input buffer. More...
 
int v18_get_current_mode (v18_state_t *s)
 Get the current mode of a V.18 connection. More...
 
const char * v18_mode_to_str (int mode)
 Return a short name for an V.18 mode. More...
 

Function Documentation

◆ v18_free()

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.

References queue_release().

◆ v18_get_current_mode()

int v18_get_current_mode ( v18_state_t s)

Get the current mode of a V.18 connection.

Parameters
sThe V.18 context.
Returns
The mode.

◆ v18_init()

v18_state_t* v18_init ( v18_state_t s,
bool  calling_party,
int  mode,
int  nation,
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.
nationNational variant for automoding.
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.

◆ v18_mode_to_str()

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.

◆ v18_put()

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.

◆ v18_release()

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.

References queue_release().

◆ v18_rx()

int v18_rx ( v18_state_t s,
const int16_t  amp[],
int  len 
)

Process a block of received V.18 audio samples.

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.
Returns
The number of unprocessed samples.

◆ v18_rx_fillin()

int v18_rx_fillin ( v18_state_t s,
int  len 
)

Fake processing of a missing block of received V.18 audio samples.

Fake processing of a missing block of received V.18 audio samples. (e.g due to packet loss).

Parameters
sThe V.18 context.
lenThe number of samples to fake.
Returns
The number of unprocessed samples.

◆ v18_tx()

int v18_tx ( v18_state_t s,
int16_t  amp[],
int  max_len 
)

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