~ubuntu-branches/ubuntu/saucy/iaxmodem/saucy

« back to all changes in this revision

Viewing changes to lib/spandsp/src/adsi.c

  • Committer: Bazaar Package Importer
  • Author(s): Julien BLACHE
  • Date: 2006-10-28 10:54:55 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20061028105455-qdnaih9tmq0uc29w
Tags: 0.1.15~dfsg-1
* New upstream release.
* debian/rules:
  + Use new ~dfsg versionning scheme.
  + Do not remove config.* in get-orig-source.
* debian/patches/11_build_configure-stamp.dpatch:
  + Updated.
* debian/iaxmodem.init:
  + Added LSB header.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 * along with this program; if not, write to the Free Software
25
25
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
26
 *
27
 
 * $Id: adsi.c,v 1.30 2006/03/05 07:34:30 steveu Exp $
 
27
 * $Id: adsi.c,v 1.32 2006/07/31 12:57:36 steveu Exp $
28
28
 */
29
29
 
30
30
/*! \file */
64
64
static uint8_t adsi_encode_baudot(adsi_tx_state_t *s, uint8_t ch);
65
65
static uint8_t adsi_decode_baudot(adsi_rx_state_t *s, uint8_t ch);
66
66
 
67
 
static int adsi_tx_bit(void *user_data)
 
67
static int adsi_tx_get_bit(void *user_data)
68
68
{
69
69
    int bit;
70
70
    adsi_tx_state_t *s;
149
149
}
150
150
/*- End of function --------------------------------------------------------*/
151
151
 
152
 
static void adsi_rx_bit(void *user_data, int bit)
 
152
static void adsi_rx_put_bit(void *user_data, int bit)
153
153
{
154
154
    adsi_rx_state_t *s;
155
155
    int i;
348
348
    switch (s->standard)
349
349
    {
350
350
    case ADSI_STANDARD_CLASS:
351
 
        fsk_tx_init(&(s->fsktx), &preset_fsk_specs[FSK_BELL202], adsi_tx_bit, s);
 
351
        fsk_tx_init(&(s->fsktx), &preset_fsk_specs[FSK_BELL202], adsi_tx_get_bit, s);
352
352
        break;
353
353
    case ADSI_STANDARD_CLIP:
354
354
    case ADSI_STANDARD_ACLIP:
355
355
    case ADSI_STANDARD_JCLIP:
356
 
        fsk_tx_init(&(s->fsktx), &preset_fsk_specs[FSK_V23CH1], adsi_tx_bit, s);
 
356
        fsk_tx_init(&(s->fsktx), &preset_fsk_specs[FSK_V23CH1], adsi_tx_get_bit, s);
357
357
        break;
358
358
    case ADSI_STANDARD_CLIP_DTMF:
359
359
        dtmf_tx_init(&(s->dtmftx));
360
360
        break;
361
361
    case ADSI_STANDARD_TDD:
362
 
        fsk_tx_init(&(s->fsktx), &preset_fsk_specs[FSK_WEITBRECHT], async_tx_bit, &(s->asynctx));
 
362
        fsk_tx_init(&(s->fsktx), &preset_fsk_specs[FSK_WEITBRECHT], async_tx_get_bit, &(s->asynctx));
363
363
        async_tx_init(&(s->asynctx), 5, ASYNC_PARITY_NONE, 2, FALSE, adsi_tdd_get_async_byte, s);
364
364
        /* Schedule an explicit shift at the start of baudot transmission */
365
365
        s->baudot_shift = 2;
398
398
    switch (standard)
399
399
    {
400
400
    case ADSI_STANDARD_CLASS:
401
 
        fsk_rx_init(&(s->fskrx), &preset_fsk_specs[FSK_BELL202], FALSE, adsi_rx_bit, s);
 
401
        fsk_rx_init(&(s->fskrx), &preset_fsk_specs[FSK_BELL202], FALSE, 0, adsi_rx_put_bit, s);
402
402
        break;
403
403
    case ADSI_STANDARD_CLIP:
404
404
    case ADSI_STANDARD_ACLIP:
405
405
    case ADSI_STANDARD_JCLIP:
406
 
        fsk_rx_init(&(s->fskrx), &preset_fsk_specs[FSK_V23CH1], FALSE, adsi_rx_bit, s);
 
406
        fsk_rx_init(&(s->fskrx), &preset_fsk_specs[FSK_V23CH1], FALSE, 0, adsi_rx_put_bit, s);
407
407
        break;
408
408
    case ADSI_STANDARD_CLIP_DTMF:
409
409
        dtmf_rx_init(&(s->dtmfrx), adsi_rx_dtmf, s);
410
410
        break;
411
411
    case ADSI_STANDARD_TDD:
412
 
        fsk_rx_init(&(s->fskrx), &preset_fsk_specs[FSK_WEITBRECHT], FALSE, async_rx_bit, &(s->asyncrx));
 
412
        fsk_rx_init(&(s->fskrx), &preset_fsk_specs[FSK_WEITBRECHT], FALSE, 0, async_rx_put_bit, &(s->asyncrx));
413
413
        async_rx_init(&(s->asyncrx), 5, ASYNC_PARITY_NONE, 2, TRUE, adsi_tdd_put_async_byte, s);
414
414
        break;
415
415
    }
469
469
        if (len >= 128)
470
470
            return -1;
471
471
        msg[len] = '\0';
472
 
        len -= (int) dtmf_put(&(s->dtmftx), (char *) msg);
 
472
        len -= (int) dtmf_tx_put(&(s->dtmftx), (char *) msg);
473
473
        break;
474
474
    case ADSI_STANDARD_JCLIP:
475
475
        if (len > 128 - 9)