v18.c File Reference

#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <memory.h>
#include "floating_fudge.h"
#include "spandsp/telephony.h"
#include "spandsp/logging.h"
#include "spandsp/queue.h"
#include "spandsp/async.h"
#include "spandsp/complex.h"
#include "spandsp/dds.h"
#include "spandsp/tone_detect.h"
#include "spandsp/tone_generate.h"
#include "spandsp/super_tone_rx.h"
#include "spandsp/power_meter.h"
#include "spandsp/fsk.h"
#include "spandsp/dtmf.h"
#include "spandsp/modem_connect_tones.h"
#include "spandsp/v8.h"
#include "spandsp/v18.h"
#include "spandsp/private/logging.h"
#include "spandsp/private/queue.h"
#include "spandsp/private/tone_generate.h"
#include "spandsp/private/async.h"
#include "spandsp/private/fsk.h"
#include "spandsp/private/dtmf.h"
#include "spandsp/private/modem_connect_tones.h"
#include "spandsp/private/v18.h"

Classes

struct  dtmf_to_ascii_s

Defines

#define BAUDOT_FIGURE_SHIFT   0x1B
#define BAUDOT_LETTER_SHIFT   0x1F

Functions

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)
int v18_tx (v18_state_t *s, int16_t *amp, int max_len)
int v18_rx (v18_state_t *s, const int16_t amp[], int len)
int v18_put (v18_state_t *s, const char msg[], int len)
 Put a string to a V.18 context's input buffer.
logging_state_tv18_get_logging_state (v18_state_t *s)
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.
int v18_release (v18_state_t *s)
 Release a V.18 context.
int v18_free (v18_state_t *s)
 Release a V.18 context.
const char * v18_mode_to_str (int mode)
 Return a short name for an V.18 mode.

Detailed Description


Define Documentation

#define BAUDOT_FIGURE_SHIFT   0x1B

The baudot code to shift from alpha to digits and symbols

#define BAUDOT_LETTER_SHIFT   0x1F

The baudot code to shift from digits and symbols to alpha


Function Documentation

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:
s The V.18 context.
msg The resulting test string.
dtmf The 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:
s The V.18 context.
dtmf The resulting DTMF string.
msg The 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:
s The 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:
s The V.18 context.
calling_party TRUE if caller mode, else answerer mode.
mode Mode of operation.
put_msg A callback routine called to deliver the received text to the application.
user_data An opaque pointer for the callback routine.
Returns:
A pointer to the V.18 context, or NULL if there was a problem.

const char* v18_mode_to_str ( int  mode  ) 

Return a short name for an V.18 mode.

Parameters:
mode The 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:
s The V.18 context.
msg The string to be added.
len The 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.

int v18_release ( v18_state_t *  s  ) 

Release a V.18 context.

Release a V.18 context.

Parameters:
s The V.18 context.
Returns:
0 for OK.


Generated on Mon Jan 3 02:31:16 2011 for spandsp by  doxygen 1.4.7