comparison spandsp-0.0.6pre17/src/spandsp/private/at_interpreter.h @ 4:26cd8f1ef0b1

import spandsp-0.0.6pre17
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Fri, 25 Jun 2010 15:50:58 +0200
parents
children
comparison
equal deleted inserted replaced
3:c6c5a16ce2f2 4:26cd8f1ef0b1
1 /*
2 * SpanDSP - a series of DSP components for telephony
3 *
4 * private/at_interpreter.h - AT command interpreter to V.251, V.252, V.253, T.31 and the 3GPP specs.
5 *
6 * Written by Steve Underwood <steveu@coppice.org>
7 *
8 * Copyright (C) 2004, 2005, 2006 Steve Underwood
9 *
10 * All rights reserved.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 2.1,
14 * as published by the Free Software Foundation.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License for more details.
20 *
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this program; if not, write to the Free Software
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 *
25 * $Id: at_interpreter.h,v 1.1 2008/11/30 05:43:37 steveu Exp $
26 */
27
28 /*! \file */
29
30 #if !defined(_SPANDSP_PRIVATE_AT_INTERPRETER_H_)
31 #define _SPANDSP_PRIVATE_AT_INTERPRETER_H_
32
33 typedef struct at_call_id_s at_call_id_t;
34
35 struct at_call_id_s
36 {
37 char *id;
38 char *value;
39 at_call_id_t *next;
40 };
41
42 /*!
43 AT descriptor. This defines the working state for a single instance of
44 the AT interpreter.
45 */
46 struct at_state_s
47 {
48 at_profile_t p;
49 /*! Value set by +GCI */
50 int country_of_installation;
51 /*! Value set by +FIT */
52 int dte_inactivity_timeout;
53 /*! Value set by +FIT */
54 int dte_inactivity_action;
55 /*! Value set by L */
56 int speaker_volume;
57 /*! Value set by M */
58 int speaker_mode;
59 /*! This is no real DTE rate. This variable is for compatibility this serially
60 connected modems. */
61 /*! Value set by +IPR/+FPR */
62 int dte_rate;
63 /*! Value set by +ICF */
64 int dte_char_format;
65 /*! Value set by +ICF */
66 int dte_parity;
67 /*! Value set by &C */
68 int rlsd_behaviour;
69 /*! Value set by &D */
70 int dtr_behaviour;
71 /*! Value set by +FCL */
72 int carrier_loss_timeout;
73 /*! Value set by X */
74 int result_code_mode;
75 /*! Value set by +IDSR */
76 int dsr_option;
77 /*! Value set by +ILSD */
78 int long_space_disconnect_option;
79 /*! Value set by +ICLOK */
80 int sync_tx_clock_source;
81 /*! Value set by +EWIND */
82 int rx_window;
83 /*! Value set by +EWIND */
84 int tx_window;
85
86 int v8bis_signal;
87 int v8bis_1st_message;
88 int v8bis_2nd_message;
89 int v8bis_sig_en;
90 int v8bis_msg_en;
91 int v8bis_supp_delay;
92
93 uint8_t rx_data[256];
94 int rx_data_bytes;
95
96 int display_call_info;
97 int call_info_displayed;
98 at_call_id_t *call_id;
99 char *local_id;
100 /*! The currently select FAX modem class. 0 = data modem mode. */
101 int fclass_mode;
102 int at_rx_mode;
103 int rings_indicated;
104 int do_hangup;
105 int silent_dial;
106 int command_dial;
107 int ok_is_pending;
108 int dte_is_waiting;
109 /*! \brief TRUE if a carrier is presnt. Otherwise FALSE. */
110 int rx_signal_present;
111 /*! \brief TRUE if a modem has trained, Otherwise FALSE. */
112 int rx_trained;
113 int transmit;
114
115 char line[256];
116 int line_ptr;
117
118 at_modem_control_handler_t *modem_control_handler;
119 void *modem_control_user_data;
120 at_tx_handler_t *at_tx_handler;
121 void *at_tx_user_data;
122 at_class1_handler_t *class1_handler;
123 void *class1_user_data;
124
125 /*! \brief Error and flow logging control */
126 logging_state_t logging;
127 };
128
129 #endif
130 /*- End of file ------------------------------------------------------------*/

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.