spandsp  0.0.6
private/at_interpreter.h
Go to the documentation of this file.
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 
26 /*! \file */
27 
28 #if !defined(_SPANDSP_PRIVATE_AT_INTERPRETER_H_)
29 #define _SPANDSP_PRIVATE_AT_INTERPRETER_H_
30 
31 typedef struct at_call_id_s at_call_id_t;
32 
34 {
35  char *id;
36  char *value;
37  at_call_id_t *next;
38 };
39 
40 /*!
41  AT descriptor. This defines the working state for a single instance of
42  the AT interpreter.
43 */
44 struct at_state_s
45 {
46  at_profile_t p;
47  /*! Value set by +GCI */
49  /*! Value set by +FIT */
51  /*! Value set by +FIT */
53  /*! Value set by L */
55  /*! Value set by M */
57  /*! This is no real DTE rate. This variable is for compatibility this serially
58  connected modems. */
59  /*! Value set by +IPR/+FPR */
60  int dte_rate;
61  /*! Value set by +ICF */
63  /*! Value set by +ICF */
65  /*! Value set by &C */
67  /*! Value set by &D */
69  /*! Value set by +FCL */
71  /*! Value set by X */
73  /*! Value set by +IDSR */
75  /*! Value set by +ILSD */
77  /*! Value set by +ICLOK */
79  /*! Value set by +EWIND */
80  int rx_window;
81  /*! Value set by +EWIND */
82  int tx_window;
83 
84  int v8bis_signal;
85  int v8bis_1st_message;
86  int v8bis_2nd_message;
87  int v8bis_sig_en;
88  int v8bis_msg_en;
89  int v8bis_supp_delay;
90 
91  uint8_t rx_data[256];
92  int rx_data_bytes;
93 
94  int display_call_info;
95  int call_info_displayed;
96  at_call_id_t *call_id;
97  char *local_id;
98  /*! The currently select FAX modem class. 0 = data modem mode. */
100  int at_rx_mode;
101  int rings_indicated;
102  int do_hangup;
103  int silent_dial;
104  int command_dial;
105  int ok_is_pending;
106  int dte_is_waiting;
107  /*! \brief TRUE if a carrier is presnt. Otherwise FALSE. */
109  /*! \brief TRUE if a modem has trained, Otherwise FALSE. */
111  int transmit;
112 
113  char line[256];
114  int line_ptr;
115 
116  at_modem_control_handler_t *modem_control_handler;
117  void *modem_control_user_data;
118  at_tx_handler_t *at_tx_handler;
119  void *at_tx_user_data;
120  at_class1_handler_t *class1_handler;
121  void *class1_user_data;
122 
123  /*! \brief Error and flow logging control */
125 };
126 
127 #endif
128 /*- End of file ------------------------------------------------------------*/
Definition: private/at_interpreter.h:33
int dte_inactivity_action
Definition: private/at_interpreter.h:52
int dte_parity
Definition: private/at_interpreter.h:64
int long_space_disconnect_option
Definition: private/at_interpreter.h:76
int speaker_mode
Definition: private/at_interpreter.h:56
int rx_signal_present
TRUE if a carrier is presnt. Otherwise FALSE.
Definition: private/at_interpreter.h:108
int dsr_option
Definition: private/at_interpreter.h:74
int country_of_installation
Definition: private/at_interpreter.h:48
int rlsd_behaviour
Definition: private/at_interpreter.h:66
int carrier_loss_timeout
Definition: private/at_interpreter.h:70
int tx_window
Definition: private/at_interpreter.h:82
int dtr_behaviour
Definition: private/at_interpreter.h:68
int dte_rate
Definition: private/at_interpreter.h:60
int rx_window
Definition: private/at_interpreter.h:80
int rx_trained
TRUE if a modem has trained, Otherwise FALSE.
Definition: private/at_interpreter.h:110
Definition: private/logging.h:33
int fclass_mode
Definition: private/at_interpreter.h:99
int sync_tx_clock_source
Definition: private/at_interpreter.h:78
int result_code_mode
Definition: private/at_interpreter.h:72
int dte_char_format
Definition: private/at_interpreter.h:62
int dte_inactivity_timeout
Definition: private/at_interpreter.h:50
logging_state_t logging
Error and flow logging control.
Definition: private/at_interpreter.h:124
int speaker_volume
Definition: private/at_interpreter.h:54
Definition: private/at_interpreter.h:44
Definition: at_interpreter.h:116