-rw-r--r-- | gammu/emb/common/gsmstate.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gammu/emb/common/gsmstate.h b/gammu/emb/common/gsmstate.h index f15a6a7..2b4806c 100644 --- a/gammu/emb/common/gsmstate.h +++ b/gammu/emb/common/gsmstate.h | |||
@@ -1,355 +1,356 @@ | |||
1 | /* (c) 2002-2004 by Marcin Wiacek & Michal Cihar */ | 1 | /* (c) 2002-2004 by Marcin Wiacek & Michal Cihar */ |
2 | 2 | ||
3 | #ifndef __gsm_state_h | 3 | #ifndef __gsm_state_h |
4 | #define __gsm_state_h | 4 | #define __gsm_state_h |
5 | 5 | ||
6 | #include <time.h> | 6 | #include <time.h> |
7 | 7 | ||
8 | #include "config.h" | 8 | #include "config.h" |
9 | #include "misc/cfg.h" | 9 | #include "misc/cfg.h" |
10 | 10 | ||
11 | typedef struct _GSM_StateMachine GSM_StateMachine; | 11 | typedef struct _GSM_StateMachine GSM_StateMachine; |
12 | typedef struct _GSM_User GSM_User; | 12 | typedef struct _GSM_User GSM_User; |
13 | typedef struct _OnePhoneModel OnePhoneModel; | 13 | typedef struct _OnePhoneModel OnePhoneModel; |
14 | typedef struct _GSM_Reply_FunctionGSM_Reply_Function; | 14 | typedef struct _GSM_Reply_FunctionGSM_Reply_Function; |
15 | 15 | ||
16 | #ifdef GSM_ENABLE_NOKIA3320 | 16 | #ifdef GSM_ENABLE_NOKIA3320 |
17 | # include "phone/nokia/dct4/n3320.h" | 17 | # include "phone/nokia/dct4/n3320.h" |
18 | #endif | 18 | #endif |
19 | #ifdef GSM_ENABLE_NOKIA3650 | 19 | #ifdef GSM_ENABLE_NOKIA3650 |
20 | # include "phone/nokia/dct4/n3650.h" | 20 | # include "phone/nokia/dct4/n3650.h" |
21 | #endif | 21 | #endif |
22 | #ifdef GSM_ENABLE_NOKIA650 | 22 | #ifdef GSM_ENABLE_NOKIA650 |
23 | # include "phone/nokia/dct3/n0650.h" | 23 | # include "phone/nokia/dct3/n0650.h" |
24 | #endif | 24 | #endif |
25 | #ifdef GSM_ENABLE_NOKIA6110 | 25 | #ifdef GSM_ENABLE_NOKIA6110 |
26 | # include "phone/nokia/dct3/n6110.h" | 26 | # include "phone/nokia/dct3/n6110.h" |
27 | #endif | 27 | #endif |
28 | #ifdef GSM_ENABLE_NOKIA6510 | 28 | #ifdef GSM_ENABLE_NOKIA6510 |
29 | # include "phone/nokia/dct4/n6510.h" | 29 | # include "phone/nokia/dct4/n6510.h" |
30 | #endif | 30 | #endif |
31 | #ifdef GSM_ENABLE_NOKIA7110 | 31 | #ifdef GSM_ENABLE_NOKIA7110 |
32 | # include "phone/nokia/dct3/n7110.h" | 32 | # include "phone/nokia/dct3/n7110.h" |
33 | #endif | 33 | #endif |
34 | #ifdef GSM_ENABLE_NOKIA9210 | 34 | #ifdef GSM_ENABLE_NOKIA9210 |
35 | # include "phone/nokia/dct3/n9210.h" | 35 | # include "phone/nokia/dct3/n9210.h" |
36 | #endif | 36 | #endif |
37 | #ifdef GSM_ENABLE_ATGEN | 37 | #ifdef GSM_ENABLE_ATGEN |
38 | # include "phone/at/atgen.h" | 38 | # include "phone/at/atgen.h" |
39 | #endif | 39 | #endif |
40 | #ifdef GSM_ENABLE_ALCATEL | 40 | #ifdef GSM_ENABLE_ALCATEL |
41 | # include "phone/alcatel/alcatel.h" | 41 | # include "phone/alcatel/alcatel.h" |
42 | #endif | 42 | #endif |
43 | #ifdef GSM_ENABLE_OBEXGEN | 43 | #ifdef GSM_ENABLE_OBEXGEN |
44 | # include "phone/obex/obexgen.h" | 44 | # include "phone/obex/obexgen.h" |
45 | #endif | 45 | #endif |
46 | #ifdef GSM_ENABLE_MROUTERGEN | 46 | #ifdef GSM_ENABLE_MROUTERGEN |
47 | # include "phone/symbian/mroutgen.h" | 47 | # include "phone/symbian/mroutgen.h" |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | #ifndef GSM_USED_MBUS2 | 50 | #ifndef GSM_USED_MBUS2 |
51 | # undef GSM_ENABLE_MBUS2 | 51 | # undef GSM_ENABLE_MBUS2 |
52 | #endif | 52 | #endif |
53 | #ifndef GSM_USED_FBUS2 | 53 | #ifndef GSM_USED_FBUS2 |
54 | # undef GSM_ENABLE_FBUS2 | 54 | # undef GSM_ENABLE_FBUS2 |
55 | #endif | 55 | #endif |
56 | #ifndef GSM_USED_FBUS2DLR3 | 56 | #ifndef GSM_USED_FBUS2DLR3 |
57 | # undef GSM_ENABLE_FBUS2DLR3 | 57 | # undef GSM_ENABLE_FBUS2DLR3 |
58 | #endif | 58 | #endif |
59 | #ifndef GSM_USED_FBUS2DKU5 | 59 | #ifndef GSM_USED_FBUS2DKU5 |
60 | # undef GSM_ENABLE_FBUS2DKU5 | 60 | # undef GSM_ENABLE_FBUS2DKU5 |
61 | #endif | 61 | #endif |
62 | #ifndef GSM_USED_FBUS2PL2303 | 62 | #ifndef GSM_USED_FBUS2PL2303 |
63 | # undef GSM_ENABLE_FBUS2PL2303 | 63 | # undef GSM_ENABLE_FBUS2PL2303 |
64 | #endif | 64 | #endif |
65 | #ifndef GSM_USED_FBUS2BLUE | 65 | #ifndef GSM_USED_FBUS2BLUE |
66 | # undef GSM_ENABLE_FBUS2BLUE | 66 | # undef GSM_ENABLE_FBUS2BLUE |
67 | #endif | 67 | #endif |
68 | #ifndef GSM_USED_FBUS2IRDA | 68 | #ifndef GSM_USED_FBUS2IRDA |
69 | # undef GSM_ENABLE_FBUS2IRDA | 69 | # undef GSM_ENABLE_FBUS2IRDA |
70 | #endif | 70 | #endif |
71 | #ifndef GSM_USED_PHONETBLUE | 71 | #ifndef GSM_USED_PHONETBLUE |
72 | # undef GSM_ENABLE_PHONETBLUE | 72 | # undef GSM_ENABLE_PHONETBLUE |
73 | #endif | 73 | #endif |
74 | #ifndef GSM_USED_AT | 74 | #ifndef GSM_USED_AT |
75 | # undef GSM_ENABLE_AT | 75 | # undef GSM_ENABLE_AT |
76 | #endif | 76 | #endif |
77 | #ifndef GSM_USED_IRDAOBEX | 77 | #ifndef GSM_USED_IRDAOBEX |
78 | # undef GSM_ENABLE_IRDAOBEX | 78 | # undef GSM_ENABLE_IRDAOBEX |
79 | #endif | 79 | #endif |
80 | #ifndef GSM_USED_BLUEOBEX | 80 | #ifndef GSM_USED_BLUEOBEX |
81 | # undef GSM_ENABLE_BLUEOBEX | 81 | # undef GSM_ENABLE_BLUEOBEX |
82 | #endif | 82 | #endif |
83 | #ifndef GSM_USED_ALCABUS | 83 | #ifndef GSM_USED_ALCABUS |
84 | # undef GSM_ENABLE_ALCABUS | 84 | # undef GSM_ENABLE_ALCABUS |
85 | #endif | 85 | #endif |
86 | #ifndef GSM_USED_IRDAPHONET | 86 | #ifndef GSM_USED_IRDAPHONET |
87 | # undef GSM_ENABLE_IRDAPHONET | 87 | # undef GSM_ENABLE_IRDAPHONET |
88 | #endif | 88 | #endif |
89 | #ifndef GSM_USED_BLUEFBUS2 | 89 | #ifndef GSM_USED_BLUEFBUS2 |
90 | # undef GSM_ENABLE_BLUEFBUS2 | 90 | # undef GSM_ENABLE_BLUEFBUS2 |
91 | #endif | 91 | #endif |
92 | #ifndef GSM_USED_BLUEPHONET | 92 | #ifndef GSM_USED_BLUEPHONET |
93 | # undef GSM_ENABLE_BLUEPHONET | 93 | # undef GSM_ENABLE_BLUEPHONET |
94 | #endif | 94 | #endif |
95 | #ifndef GSM_USED_BLUEAT | 95 | #ifndef GSM_USED_BLUEAT |
96 | # undef GSM_ENABLE_BLUEAT | 96 | # undef GSM_ENABLE_BLUEAT |
97 | #endif | 97 | #endif |
98 | #ifndef GSM_USED_IRDAAT | 98 | #ifndef GSM_USED_IRDAAT |
99 | # undef GSM_ENABLE_IRDAAT | 99 | # undef GSM_ENABLE_IRDAAT |
100 | #endif | 100 | #endif |
101 | #ifndef GSM_USED_MROUTERBLUE | 101 | #ifndef GSM_USED_MROUTERBLUE |
102 | # undef GSM_ENABLE_MROUTERBLUE | 102 | # undef GSM_ENABLE_MROUTERBLUE |
103 | #endif | 103 | #endif |
104 | 104 | ||
105 | #if defined(GSM_ENABLE_NOKIA3320) || defined(GSM_ENABLE_NOKIA650) || defined(GSM_ENABLE_NOKIA6110) || defined(GSM_ENABLE_NOKIA7110) || defined(GSM_ENABLE_NOKIA9210) | 105 | #if defined(GSM_ENABLE_NOKIA3320) || defined(GSM_ENABLE_NOKIA650) || defined(GSM_ENABLE_NOKIA6110) || defined(GSM_ENABLE_NOKIA7110) || defined(GSM_ENABLE_NOKIA9210) |
106 | # define GSM_ENABLE_NOKIA_DCT3 | 106 | # define GSM_ENABLE_NOKIA_DCT3 |
107 | #endif | 107 | #endif |
108 | #if defined(GSM_ENABLE_NOKIA3650) || defined(GSM_ENABLE_NOKIA6510) | 108 | #if defined(GSM_ENABLE_NOKIA3650) || defined(GSM_ENABLE_NOKIA6510) |
109 | # define GSM_ENABLE_NOKIA_DCT4 | 109 | # define GSM_ENABLE_NOKIA_DCT4 |
110 | #endif | 110 | #endif |
111 | 111 | ||
112 | #include "protocol/protocol.h" | 112 | #include "protocol/protocol.h" |
113 | #if defined(GSM_ENABLE_FBUS2) || defined(GSM_ENABLE_FBUS2IRDA) || defined(GSM_ENABLE_FBUS2DLR3) || defined(GSM_ENABLE_FBUS2BLUE) || defined(GSM_ENABLE_BLUEFBUS2) || defined(GSM_ENABLE_FBUS2DKU5) || defined(GSM_ENABLE_FBUS2PL2303) | 113 | #if defined(GSM_ENABLE_FBUS2) || defined(GSM_ENABLE_FBUS2IRDA) || defined(GSM_ENABLE_FBUS2DLR3) || defined(GSM_ENABLE_FBUS2BLUE) || defined(GSM_ENABLE_BLUEFBUS2) || defined(GSM_ENABLE_FBUS2DKU5) || defined(GSM_ENABLE_FBUS2PL2303) |
114 | # include "protocol/nokia/fbus2.h" | 114 | # include "protocol/nokia/fbus2.h" |
115 | #endif | 115 | #endif |
116 | #ifdef GSM_ENABLE_MBUS2 | 116 | #ifdef GSM_ENABLE_MBUS2 |
117 | # include "protocol/nokia/mbus2.h" | 117 | # include "protocol/nokia/mbus2.h" |
118 | #endif | 118 | #endif |
119 | #if defined(GSM_ENABLE_PHONETBLUE) || defined(GSM_ENABLE_IRDAPHONET) || defined(GSM_ENABLE_BLUEPHONET) | 119 | #if defined(GSM_ENABLE_PHONETBLUE) || defined(GSM_ENABLE_IRDAPHONET) || defined(GSM_ENABLE_BLUEPHONET) |
120 | # include "protocol/nokia/phonet.h" | 120 | # include "protocol/nokia/phonet.h" |
121 | #endif | 121 | #endif |
122 | #if defined(GSM_ENABLE_AT) || defined(GSM_ENABLE_BLUEAT) || defined(GSM_ENABLE_IRDAAT) | 122 | #if defined(GSM_ENABLE_AT) || defined(GSM_ENABLE_BLUEAT) || defined(GSM_ENABLE_IRDAAT) |
123 | # include "protocol/at/at.h" | 123 | # include "protocol/at/at.h" |
124 | #endif | 124 | #endif |
125 | #ifdef GSM_ENABLE_ALCABUS | 125 | #ifdef GSM_ENABLE_ALCABUS |
126 | # include "protocol/alcatel/alcabus.h" | 126 | # include "protocol/alcatel/alcabus.h" |
127 | #endif | 127 | #endif |
128 | #if defined(GSM_ENABLE_IRDAOBEX) || defined(GSM_ENABLE_BLUEOBEX) | 128 | #if defined(GSM_ENABLE_IRDAOBEX) || defined(GSM_ENABLE_BLUEOBEX) |
129 | # include "protocol/obex/obex.h" | 129 | # include "protocol/obex/obex.h" |
130 | #endif | 130 | #endif |
131 | #if defined(GSM_ENABLE_MROUTERBLUE) | 131 | #if defined(GSM_ENABLE_MROUTERBLUE) |
132 | # include "protocol/symbian/mrouter.h" | 132 | # include "protocol/symbian/mrouter.h" |
133 | #endif | 133 | #endif |
134 | 134 | ||
135 | #define GSM_ENABLE_SERIALDEVICE | 135 | #define GSM_ENABLE_SERIALDEVICE |
136 | #ifndef GSM_USED_SERIALDEVICE | 136 | #ifndef GSM_USED_SERIALDEVICE |
137 | # undef GSM_ENABLE_SERIALDEVICE | 137 | # undef GSM_ENABLE_SERIALDEVICE |
138 | #endif | 138 | #endif |
139 | #define GSM_ENABLE_IRDADEVICE | 139 | #define GSM_ENABLE_IRDADEVICE |
140 | #ifndef GSM_USED_IRDADEVICE | 140 | #ifndef GSM_USED_IRDADEVICE |
141 | # undef GSM_ENABLE_IRDADEVICE | 141 | # undef GSM_ENABLE_IRDADEVICE |
142 | #endif | 142 | #endif |
143 | #define GSM_ENABLE_BLUETOOTHDEVICE | 143 | #define GSM_ENABLE_BLUETOOTHDEVICE |
144 | #ifndef GSM_USED_BLUETOOTHDEVICE | 144 | #ifndef GSM_USED_BLUETOOTHDEVICE |
145 | # undef GSM_ENABLE_BLUETOOTHDEVICE | 145 | # undef GSM_ENABLE_BLUETOOTHDEVICE |
146 | #endif | 146 | #endif |
147 | 147 | ||
148 | #ifdef DJGPP | 148 | #ifdef DJGPP |
149 | # undef GSM_ENABLE_IRDADEVICE | 149 | # undef GSM_ENABLE_IRDADEVICE |
150 | # undef GSM_ENABLE_IRDAPHONET | 150 | # undef GSM_ENABLE_IRDAPHONET |
151 | # undef GSM_ENABLE_IRDAOBEX | 151 | # undef GSM_ENABLE_IRDAOBEX |
152 | # undef GSM_ENABLE_IRDAAT | 152 | # undef GSM_ENABLE_IRDAAT |
153 | # undef GSM_ENABLE_FBUS2IRDA | 153 | # undef GSM_ENABLE_FBUS2IRDA |
154 | 154 | ||
155 | # undef GSM_ENABLE_BLUETOOTHDEVICE | 155 | # undef GSM_ENABLE_BLUETOOTHDEVICE |
156 | # undef GSM_ENABLE_BLUEPHONET | 156 | # undef GSM_ENABLE_BLUEPHONET |
157 | # undef GSM_ENABLE_BLUEOBEX | 157 | # undef GSM_ENABLE_BLUEOBEX |
158 | # undef GSM_ENABLE_BLUEAT | 158 | # undef GSM_ENABLE_BLUEAT |
159 | # undef GSM_ENABLE_BLUEFBUS2 | 159 | # undef GSM_ENABLE_BLUEFBUS2 |
160 | # undef GSM_ENABLE_PHONETBLUE | 160 | # undef GSM_ENABLE_PHONETBLUE |
161 | # undef GSM_ENABLE_FBUS2BLUE | 161 | # undef GSM_ENABLE_FBUS2BLUE |
162 | # undef GSM_ENABLE_MROUTERBLUE | 162 | # undef GSM_ENABLE_MROUTERBLUE |
163 | #endif | 163 | #endif |
164 | |||
164 | #ifndef WIN32 | 165 | #ifndef WIN32 |
165 | # ifdef ENABLE_LGPL | 166 | # ifdef ENABLE_LGPL |
166 | # undef GSM_ENABLE_IRDADEVICE | 167 | # undef GSM_ENABLE_IRDADEVICE |
167 | # undef GSM_ENABLE_IRDAPHONET | 168 | # undef GSM_ENABLE_IRDAPHONET |
168 | # undef GSM_ENABLE_IRDAOBEX | 169 | # undef GSM_ENABLE_IRDAOBEX |
169 | # undef GSM_ENABLE_IRDAAT | 170 | # undef GSM_ENABLE_IRDAAT |
170 | # undef GSM_ENABLE_FBUS2IRDA | 171 | # undef GSM_ENABLE_FBUS2IRDA |
171 | 172 | ||
172 | # undef GSM_ENABLE_BLUETOOTHDEVICE | 173 | # undef GSM_ENABLE_BLUETOOTHDEVICE |
173 | # undef GSM_ENABLE_BLUEPHONET | 174 | # undef GSM_ENABLE_BLUEPHONET |
174 | # undef GSM_ENABLE_BLUEOBEX | 175 | # undef GSM_ENABLE_BLUEOBEX |
175 | # undef GSM_ENABLE_BLUEAT | 176 | # undef GSM_ENABLE_BLUEAT |
176 | # undef GSM_ENABLE_BLUEFBUS2 | 177 | # undef GSM_ENABLE_BLUEFBUS2 |
177 | # undef GSM_ENABLE_PHONETBLUE | 178 | # undef GSM_ENABLE_PHONETBLUE |
178 | # undef GSM_ENABLE_FBUS2BLUE | 179 | # undef GSM_ENABLE_FBUS2BLUE |
179 | # undef GSM_ENABLE_MROUTERBLUE | 180 | # undef GSM_ENABLE_MROUTERBLUE |
180 | # endif | 181 | # endif |
181 | #endif | 182 | #endif |
182 | 183 | ||
183 | #ifdef GSM_ENABLE_SERIALDEVICE | 184 | #ifdef GSM_ENABLE_SERIALDEVICE |
184 | # include "device/serial/ser_w32.h" | 185 | # include "device/serial/ser_w32.h" |
185 | # include "device/serial/ser_unx.h" | 186 | # include "device/serial/ser_unx.h" |
186 | # include "device/serial/ser_djg.h" | 187 | # include "device/serial/ser_djg.h" |
187 | #endif | 188 | #endif |
188 | #ifdef GSM_ENABLE_IRDADEVICE | 189 | #ifdef GSM_ENABLE_IRDADEVICE |
189 | # include "device/irda/irda.h" | 190 | # include "device/irda/irda.h" |
190 | #endif | 191 | #endif |
191 | #ifdef GSM_ENABLE_BLUETOOTHDEVICE | 192 | #ifdef GSM_ENABLE_BLUETOOTHDEVICE |
192 | # include "device/bluetoth/bluetoth.h" | 193 | # include "device/bluetoth/bluetoth.h" |
193 | #endif | 194 | #endif |
194 | 195 | ||
195 | #include "service/gsmpbk.h" | 196 | #include "service/gsmpbk.h" |
196 | #include "service/gsmnet.h" | 197 | #include "service/gsmnet.h" |
197 | #include "service/gsmring.h" | 198 | #include "service/gsmring.h" |
198 | #include "service/gsmcal.h" | 199 | #include "service/gsmcal.h" |
199 | #include "service/gsmdata.h" | 200 | #include "service/gsmdata.h" |
200 | #include "service/gsmlogo.h" | 201 | #include "service/gsmlogo.h" |
201 | #include "service/gsmmisc.h" | 202 | #include "service/gsmmisc.h" |
202 | #include "service/gsmprof.h" | 203 | #include "service/gsmprof.h" |
203 | #include "service/gsmcall.h" | 204 | #include "service/gsmcall.h" |
204 | #include "service/sms/gsmsms.h" | 205 | #include "service/sms/gsmsms.h" |
205 | #include "service/sms/gsmems.h" | 206 | #include "service/sms/gsmems.h" |
206 | #include "service/sms/gsmmulti.h" | 207 | #include "service/sms/gsmmulti.h" |
207 | #include "service/backup/gsmback.h" | 208 | #include "service/backup/gsmback.h" |
208 | 209 | ||
209 | 210 | ||
210 | /* ------------------------- Device layer ---------------------------------- */ | 211 | /* ------------------------- Device layer ---------------------------------- */ |
211 | 212 | ||
212 | /** | 213 | /** |
213 | * Device functions, each device has to provide these. | 214 | * Device functions, each device has to provide these. |
214 | */ | 215 | */ |
215 | typedef struct { | 216 | typedef struct { |
216 | /** | 217 | /** |
217 | * Opens device. | 218 | * Opens device. |
218 | */ | 219 | */ |
219 | GSM_Error (*OpenDevice) (GSM_StateMachine *s); | 220 | GSM_Error (*OpenDevice) (GSM_StateMachine *s); |
220 | /** | 221 | /** |
221 | * Closes device. | 222 | * Closes device. |
222 | */ | 223 | */ |
223 | GSM_Error (*CloseDevice) (GSM_StateMachine *s); | 224 | GSM_Error (*CloseDevice) (GSM_StateMachine *s); |
224 | /** | 225 | /** |
225 | * Sets parity for device. | 226 | * Sets parity for device. |
226 | */ | 227 | */ |
227 | GSM_Error (*DeviceSetParity) (GSM_StateMachine *s, bool parity); | 228 | GSM_Error (*DeviceSetParity) (GSM_StateMachine *s, bool parity); |
228 | /** | 229 | /** |
229 | * Sets dtr (data to read) and rts (ready to send) flags. | 230 | * Sets dtr (data to read) and rts (ready to send) flags. |
230 | */ | 231 | */ |
231 | GSM_Error (*DeviceSetDtrRts) (GSM_StateMachine *s, bool dtr, bool rts); | 232 | GSM_Error (*DeviceSetDtrRts) (GSM_StateMachine *s, bool dtr, bool rts); |
232 | /** | 233 | /** |
233 | * Sets device speed. | 234 | * Sets device speed. |
234 | */ | 235 | */ |
235 | GSM_Error (*DeviceSetSpeed) (GSM_StateMachine *s, int speed); | 236 | GSM_Error (*DeviceSetSpeed) (GSM_StateMachine *s, int speed); |
236 | /** | 237 | /** |
237 | * Attempts to read nbytes from device. | 238 | * Attempts to read nbytes from device. |
238 | */ | 239 | */ |
239 | int (*ReadDevice) (GSM_StateMachine *s, void *buf, size_t nbytes); | 240 | int (*ReadDevice) (GSM_StateMachine *s, void *buf, size_t nbytes); |
240 | /** | 241 | /** |
241 | * Attempts to read nbytes from device. | 242 | * Attempts to read nbytes from device. |
242 | */ | 243 | */ |
243 | int (*WriteDevice) (GSM_StateMachine *s, void *buf, size_t nbytes); | 244 | int (*WriteDevice) (GSM_StateMachine *s, void *buf, size_t nbytes); |
244 | } GSM_Device_Functions; | 245 | } GSM_Device_Functions; |
245 | 246 | ||
246 | #ifdef GSM_ENABLE_SERIALDEVICE | 247 | #ifdef GSM_ENABLE_SERIALDEVICE |
247 | extern GSM_Device_Functions SerialDevice; | 248 | extern GSM_Device_Functions SerialDevice; |
248 | #endif | 249 | #endif |
249 | #ifdef GSM_ENABLE_IRDADEVICE | 250 | #ifdef GSM_ENABLE_IRDADEVICE |
250 | extern GSM_Device_Functions IrdaDevice; | 251 | extern GSM_Device_Functions IrdaDevice; |
251 | #endif | 252 | #endif |
252 | #ifdef GSM_ENABLE_BLUETOOTHDEVICE | 253 | #ifdef GSM_ENABLE_BLUETOOTHDEVICE |
253 | extern GSM_Device_Functions BlueToothDevice; | 254 | extern GSM_Device_Functions BlueToothDevice; |
254 | #endif | 255 | #endif |
255 | 256 | ||
256 | /** | 257 | /** |
257 | * Structure containing device specific data and pointer to device functions - | 258 | * Structure containing device specific data and pointer to device functions - |
258 | * @ref GSM_Device_Functions. The data are in a union, so you can use only | 259 | * @ref GSM_Device_Functions. The data are in a union, so you can use only |
259 | * one device at one time. | 260 | * one device at one time. |
260 | */ | 261 | */ |
261 | typedef struct { | 262 | typedef struct { |
262 | union { | 263 | union { |
263 | char fake; | 264 | char fake; |
264 | #ifdef GSM_ENABLE_SERIALDEVICE | 265 | #ifdef GSM_ENABLE_SERIALDEVICE |
265 | GSM_Device_SerialData Serial; | 266 | GSM_Device_SerialData Serial; |
266 | #endif | 267 | #endif |
267 | #ifdef GSM_ENABLE_IRDADEVICE | 268 | #ifdef GSM_ENABLE_IRDADEVICE |
268 | GSM_Device_IrdaData Irda; | 269 | GSM_Device_IrdaData Irda; |
269 | #endif | 270 | #endif |
270 | #ifdef GSM_ENABLE_BLUETOOTHDEVICE | 271 | #ifdef GSM_ENABLE_BLUETOOTHDEVICE |
271 | GSM_Device_BlueToothDataBlueTooth; | 272 | GSM_Device_BlueToothDataBlueTooth; |
272 | #endif | 273 | #endif |
273 | } Data; | 274 | } Data; |
274 | GSM_Device_Functions *Functions; | 275 | GSM_Device_Functions *Functions; |
275 | } GSM_Device; | 276 | } GSM_Device; |
276 | 277 | ||
277 | /* ---------------------- Protocol layer ----------------------------------- */ | 278 | /* ---------------------- Protocol layer ----------------------------------- */ |
278 | 279 | ||
279 | /** | 280 | /** |
280 | * Protocol functions, each protocol has to implement these. | 281 | * Protocol functions, each protocol has to implement these. |
281 | */ | 282 | */ |
282 | typedef struct { | 283 | typedef struct { |
283 | /** | 284 | /** |
284 | * Writes message to device. | 285 | * Writes message to device. |
285 | */ | 286 | */ |
286 | GSM_Error (*WriteMessage) (GSM_StateMachine *s, unsigned char *buffer, | 287 | GSM_Error (*WriteMessage) (GSM_StateMachine *s, unsigned char *buffer, |
287 | int length, unsigned char type); | 288 | int length, unsigned char type); |
288 | /** | 289 | /** |
289 | * This one is called when character is received from device. | 290 | * This one is called when character is received from device. |
290 | */ | 291 | */ |
291 | GSM_Error (*StateMachine) (GSM_StateMachine *s, unsigned char rx_char); | 292 | GSM_Error (*StateMachine) (GSM_StateMachine *s, unsigned char rx_char); |
292 | /** | 293 | /** |
293 | * Protocol initialisation. | 294 | * Protocol initialisation. |
294 | */ | 295 | */ |
295 | GSM_Error (*Initialise) (GSM_StateMachine *s); | 296 | GSM_Error (*Initialise) (GSM_StateMachine *s); |
296 | /** | 297 | /** |
297 | * Protocol termination. | 298 | * Protocol termination. |
298 | */ | 299 | */ |
299 | GSM_Error (*Terminate) (GSM_StateMachine *s); | 300 | GSM_Error (*Terminate) (GSM_StateMachine *s); |
300 | } GSM_Protocol_Functions; | 301 | } GSM_Protocol_Functions; |
301 | 302 | ||
302 | #ifdef GSM_ENABLE_MBUS2 | 303 | #ifdef GSM_ENABLE_MBUS2 |
303 | extern GSM_Protocol_Functions MBUS2Protocol; | 304 | extern GSM_Protocol_Functions MBUS2Protocol; |
304 | #endif | 305 | #endif |
305 | #if defined(GSM_ENABLE_FBUS2) || defined(GSM_ENABLE_FBUS2IRDA) || defined(GSM_ENABLE_FBUS2DLR3) || defined(GSM_ENABLE_FBUS2DKU5) || defined(GSM_ENABLE_FBUS2BLUE) || defined(GSM_ENABLE_BLUEFBUS2) || defined(GSM_ENABLE_FBUS2PL2303) | 306 | #if defined(GSM_ENABLE_FBUS2) || defined(GSM_ENABLE_FBUS2IRDA) || defined(GSM_ENABLE_FBUS2DLR3) || defined(GSM_ENABLE_FBUS2DKU5) || defined(GSM_ENABLE_FBUS2BLUE) || defined(GSM_ENABLE_BLUEFBUS2) || defined(GSM_ENABLE_FBUS2PL2303) |
306 | extern GSM_Protocol_Functions FBUS2Protocol; | 307 | extern GSM_Protocol_Functions FBUS2Protocol; |
307 | #endif | 308 | #endif |
308 | #if defined(GSM_ENABLE_PHONETBLUE) || defined(GSM_ENABLE_IRDAPHONET) || defined(GSM_ENABLE_BLUEPHONET) | 309 | #if defined(GSM_ENABLE_PHONETBLUE) || defined(GSM_ENABLE_IRDAPHONET) || defined(GSM_ENABLE_BLUEPHONET) |
309 | extern GSM_Protocol_Functions PHONETProtocol; | 310 | extern GSM_Protocol_Functions PHONETProtocol; |
310 | #endif | 311 | #endif |
311 | #if defined(GSM_ENABLE_AT) || defined(GSM_ENABLE_BLUEAT) || defined(GSM_ENABLE_IRDAAT) | 312 | #if defined(GSM_ENABLE_AT) || defined(GSM_ENABLE_BLUEAT) || defined(GSM_ENABLE_IRDAAT) |
312 | extern GSM_Protocol_Functions ATProtocol; | 313 | extern GSM_Protocol_Functions ATProtocol; |
313 | #endif | 314 | #endif |
314 | #ifdef GSM_ENABLE_ALCABUS | 315 | #ifdef GSM_ENABLE_ALCABUS |
315 | extern GSM_Protocol_Functions ALCABUSProtocol; | 316 | extern GSM_Protocol_Functions ALCABUSProtocol; |
316 | #endif | 317 | #endif |
317 | #if defined(GSM_ENABLE_IRDAOBEX) || defined(GSM_ENABLE_BLUEOBEX) | 318 | #if defined(GSM_ENABLE_IRDAOBEX) || defined(GSM_ENABLE_BLUEOBEX) |
318 | extern GSM_Protocol_Functions OBEXProtocol; | 319 | extern GSM_Protocol_Functions OBEXProtocol; |
319 | #endif | 320 | #endif |
320 | #if defined(GSM_ENABLE_MROUTERBLUE) | 321 | #if defined(GSM_ENABLE_MROUTERBLUE) |
321 | extern GSM_Protocol_Functions MROUTERProtocol; | 322 | extern GSM_Protocol_Functions MROUTERProtocol; |
322 | #endif | 323 | #endif |
323 | 324 | ||
324 | /** | 325 | /** |
325 | * Structure containing protocol specific data and pointer to protocol | 326 | * Structure containing protocol specific data and pointer to protocol |
326 | * functions - @ref GSM_Protocol_Functions. The data are in a structure, so | 327 | * functions - @ref GSM_Protocol_Functions. The data are in a structure, so |
327 | * you may use more protocols at once and switch between them. | 328 | * you may use more protocols at once and switch between them. |
328 | */ | 329 | */ |
329 | typedef struct { | 330 | typedef struct { |
330 | struct { | 331 | struct { |
331 | char fake; | 332 | char fake; |
332 | #ifdef GSM_ENABLE_MBUS2 | 333 | #ifdef GSM_ENABLE_MBUS2 |
333 | GSM_Protocol_MBUS2Data MBUS2; | 334 | GSM_Protocol_MBUS2Data MBUS2; |
334 | #endif | 335 | #endif |
335 | #if defined(GSM_ENABLE_FBUS2) || defined(GSM_ENABLE_FBUS2IRDA) || defined(GSM_ENABLE_FBUS2DLR3) || defined(GSM_ENABLE_FBUS2DKU5) || defined(GSM_ENABLE_FBUS2PL2303) || defined(GSM_ENABLE_FBUS2BLUE) || defined(GSM_ENABLE_BLUEFBUS2) | 336 | #if defined(GSM_ENABLE_FBUS2) || defined(GSM_ENABLE_FBUS2IRDA) || defined(GSM_ENABLE_FBUS2DLR3) || defined(GSM_ENABLE_FBUS2DKU5) || defined(GSM_ENABLE_FBUS2PL2303) || defined(GSM_ENABLE_FBUS2BLUE) || defined(GSM_ENABLE_BLUEFBUS2) |
336 | GSM_Protocol_FBUS2Data FBUS2; | 337 | GSM_Protocol_FBUS2Data FBUS2; |
337 | #endif | 338 | #endif |
338 | #if defined(GSM_ENABLE_PHONETBLUE) || defined(GSM_ENABLE_IRDAPHONET) || defined(GSM_ENABLE_BLUEPHONET) | 339 | #if defined(GSM_ENABLE_PHONETBLUE) || defined(GSM_ENABLE_IRDAPHONET) || defined(GSM_ENABLE_BLUEPHONET) |
339 | GSM_Protocol_PHONETData PHONET; | 340 | GSM_Protocol_PHONETData PHONET; |
340 | #endif | 341 | #endif |
341 | #if defined(GSM_ENABLE_AT) || defined(GSM_ENABLE_BLUEAT) || defined(GSM_ENABLE_IRDAAT) | 342 | #if defined(GSM_ENABLE_AT) || defined(GSM_ENABLE_BLUEAT) || defined(GSM_ENABLE_IRDAAT) |
342 | GSM_Protocol_ATData AT; | 343 | GSM_Protocol_ATData AT; |
343 | #endif | 344 | #endif |
344 | #ifdef GSM_ENABLE_ALCABUS | 345 | #ifdef GSM_ENABLE_ALCABUS |
345 | GSM_Protocol_ALCABUSDataALCABUS; | 346 | GSM_Protocol_ALCABUSDataALCABUS; |
346 | #endif | 347 | #endif |
347 | #if defined(GSM_ENABLE_IRDAOBEX) || defined(GSM_ENABLE_BLUEOBEX) | 348 | #if defined(GSM_ENABLE_IRDAOBEX) || defined(GSM_ENABLE_BLUEOBEX) |
348 | GSM_Protocol_OBEXData OBEX; | 349 | GSM_Protocol_OBEXData OBEX; |
349 | #endif | 350 | #endif |
350 | #if defined(GSM_ENABLE_MROUTERBLUE) | 351 | #if defined(GSM_ENABLE_MROUTERBLUE) |
351 | GSM_Protocol_MROUTERDataMROUTER; | 352 | GSM_Protocol_MROUTERDataMROUTER; |
352 | #endif | 353 | #endif |
353 | } Data; | 354 | } Data; |
354 | GSM_Protocol_Functions *Functions; | 355 | GSM_Protocol_Functions *Functions; |
355 | } GSM_Protocol; | 356 | } GSM_Protocol; |
@@ -1387,193 +1388,192 @@ typedef struct { | |||
1387 | } GSM_Phone; | 1388 | } GSM_Phone; |
1388 | 1389 | ||
1389 | /* --------------------------- User layer ---------------------------------- */ | 1390 | /* --------------------------- User layer ---------------------------------- */ |
1390 | 1391 | ||
1391 | struct _GSM_User { | 1392 | struct _GSM_User { |
1392 | GSM_Reply_Function *UserReplyFunctions; | 1393 | GSM_Reply_Function *UserReplyFunctions; |
1393 | 1394 | ||
1394 | void (*IncomingCall) (char *Device, GSM_Call call); | 1395 | void (*IncomingCall) (char *Device, GSM_Call call); |
1395 | void (*IncomingSMS)(char *Device, GSM_SMSMessage sms); | 1396 | void (*IncomingSMS)(char *Device, GSM_SMSMessage sms); |
1396 | void (*IncomingCB) (char *Device, GSM_CBMessage cb); | 1397 | void (*IncomingCB) (char *Device, GSM_CBMessage cb); |
1397 | void (*IncomingUSSD) (char *Device, char *Text); | 1398 | void (*IncomingUSSD) (char *Device, char *Text); |
1398 | void (*SendSMSStatus) (char *Device, int status, int MessageReference); | 1399 | void (*SendSMSStatus) (char *Device, int status, int MessageReference); |
1399 | }; | 1400 | }; |
1400 | 1401 | ||
1401 | /* --------------------------- Statemachine layer -------------------------- */ | 1402 | /* --------------------------- Statemachine layer -------------------------- */ |
1402 | 1403 | ||
1403 | typedef enum { | 1404 | typedef enum { |
1404 | GCT_MBUS2=1, | 1405 | GCT_MBUS2=1, |
1405 | GCT_FBUS2, | 1406 | GCT_FBUS2, |
1406 | GCT_FBUS2DLR3, | 1407 | GCT_FBUS2DLR3, |
1407 | GCT_FBUS2DKU5, | 1408 | GCT_FBUS2DKU5, |
1408 | GCT_FBUS2PL2303, | 1409 | GCT_FBUS2PL2303, |
1409 | GCT_FBUS2BLUE, | 1410 | GCT_FBUS2BLUE, |
1410 | GCT_FBUS2IRDA, | 1411 | GCT_FBUS2IRDA, |
1411 | GCT_PHONETBLUE, | 1412 | GCT_PHONETBLUE, |
1412 | GCT_AT, | 1413 | GCT_AT, |
1413 | GCT_MROUTERBLUE, | 1414 | GCT_MROUTERBLUE, |
1414 | 1415 | ||
1415 | GCT_IRDAOBEX, | 1416 | GCT_IRDAOBEX, |
1416 | GCT_IRDAAT, | 1417 | GCT_IRDAAT, |
1417 | GCT_IRDAPHONET, | 1418 | GCT_IRDAPHONET, |
1418 | GCT_BLUEFBUS2, | 1419 | GCT_BLUEFBUS2, |
1419 | GCT_BLUEAT, | 1420 | GCT_BLUEAT, |
1420 | GCT_BLUEPHONET, | 1421 | GCT_BLUEPHONET, |
1421 | GCT_BLUEOBEX | 1422 | GCT_BLUEOBEX |
1422 | } GSM_ConnectionType; | 1423 | } GSM_ConnectionType; |
1423 | 1424 | ||
1424 | typedef struct { | 1425 | typedef struct { |
1425 | /* Config file (or Registry or...) variables */ | 1426 | /* Config file (or Registry or...) variables */ |
1426 | char Model[50]; /* Model from config file */ | 1427 | char Model[50]; /* Model from config file */ |
1427 | char DebugLevel[50]; /* Debug level */ | 1428 | char DebugLevel[50]; /* Debug level */ |
1428 | char *Device; /* Device name from config file */ | 1429 | char *Device; /* Device name from config file */ |
1429 | char *Connection; /* Connection type as string */ | 1430 | char *Connection; /* Connection type as string */ |
1430 | char *SyncTime; /* Synchronize time on startup? */ | 1431 | char *SyncTime; /* Synchronize time on startup? */ |
1431 | char *LockDevice; /* Lock device ? (Unix) */ | 1432 | char *LockDevice; /* Lock device ? (Unix) */ |
1432 | char *DebugFile; /* Name of debug file */ | 1433 | char *DebugFile; /* Name of debug file */ |
1433 | char *Localize; /* Name of localisation file */ | 1434 | char *Localize; /* Name of localisation file */ |
1434 | char *StartInfo; /* Display something during start ? */ | 1435 | char *StartInfo; /* Display something during start ? */ |
1435 | bool UseGlobalDebugFile;/* Should we use global debug file?*/ | 1436 | bool UseGlobalDebugFile;/* Should we use global debug file?*/ |
1436 | bool DefaultModel; | 1437 | bool DefaultModel; |
1437 | bool DefaultDebugLevel; | 1438 | bool DefaultDebugLevel; |
1438 | bool DefaultDevice; | 1439 | bool DefaultDevice; |
1439 | bool DefaultConnection; | 1440 | bool DefaultConnection; |
1440 | bool DefaultSyncTime; | 1441 | bool DefaultSyncTime; |
1441 | bool DefaultLockDevice; | 1442 | bool DefaultLockDevice; |
1442 | bool DefaultDebugFile; | 1443 | bool DefaultDebugFile; |
1443 | bool DefaultLocalize; | 1444 | bool DefaultLocalize; |
1444 | bool DefaultStartInfo; | 1445 | bool DefaultStartInfo; |
1445 | } GSM_Config; | 1446 | } GSM_Config; |
1446 | 1447 | ||
1447 | #define MAX_CONFIG_NUM 5 | 1448 | #define MAX_CONFIG_NUM 5 |
1448 | 1449 | ||
1449 | struct _GSM_StateMachine { | 1450 | struct _GSM_StateMachine { |
1450 | GSM_ConnectionType ConnectionType; /* Type of connection as int */ | 1451 | GSM_ConnectionType ConnectionType; /* Type of connection as int */ |
1451 | char *LockFile; /* Lock file name for Unix */ | 1452 | char *LockFile; /* Lock file name for Unix */ |
1452 | Debug_Info di; /* Debug information */ | 1453 | Debug_Info di; /* Debug information */ |
1453 | bool opened; /* Is connection opened ? */ | 1454 | bool opened; /* Is connection opened ? */ |
1454 | GSM_Config Config[MAX_CONFIG_NUM + 1]; | 1455 | GSM_Config Config[MAX_CONFIG_NUM + 1]; |
1455 | GSM_Config *CurrentConfig; /* Config file (or Registry or...) variables */ | 1456 | GSM_Config *CurrentConfig; /* Config file (or Registry or...) variables */ |
1456 | int ConfigNum; | 1457 | int ConfigNum; |
1457 | INI_Section *msg; /* Localisation strings structure */ | 1458 | INI_Section *msg; /* Localisation strings structure */ |
1458 | int ReplyNum; /* How many times make sth. */ | 1459 | int ReplyNum; /* How many times make sth. */ |
1459 | int Speed; /* For some protocols used speed */ | 1460 | int Speed; /* For some protocols used speed */ |
1460 | 1461 | ||
1461 | GSM_Device Device; | 1462 | GSM_Device Device; |
1462 | GSM_Protocol Protocol; | 1463 | GSM_Protocol Protocol; |
1463 | GSM_Phone Phone; | 1464 | GSM_Phone Phone; |
1464 | GSM_User User; | 1465 | GSM_User User; |
1465 | }; | 1466 | }; |
1466 | 1467 | ||
1467 | /* ------------------------ Other general definitions ---------------------- */ | 1468 | /* ------------------------ Other general definitions ---------------------- */ |
1468 | 1469 | ||
1469 | GSM_Error GSM_RegisterAllPhoneModules(GSM_StateMachine *s); | 1470 | GSM_Error GSM_RegisterAllPhoneModules(GSM_StateMachine *s); |
1470 | 1471 | ||
1471 | GSM_Error GSM_InitConnection (GSM_StateMachine *s, int ReplyNum); | 1472 | GSM_Error GSM_InitConnection (GSM_StateMachine *s, int ReplyNum); |
1472 | GSM_Error GSM_TerminateConnection(GSM_StateMachine *s); | 1473 | GSM_Error GSM_TerminateConnection(GSM_StateMachine *s); |
1473 | 1474 | ||
1474 | int GSM_ReadDevice (GSM_StateMachine *s, bool wait); | 1475 | int GSM_ReadDevice (GSM_StateMachine *s, bool wait); |
1475 | 1476 | ||
1476 | GSM_Error GSM_WaitForOnce (GSM_StateMachine *s, unsigned char *buffer, | 1477 | GSM_Error GSM_WaitForOnce (GSM_StateMachine *s, unsigned char *buffer, |
1477 | int length, unsigned char type, int time); | 1478 | int length, unsigned char type, int time); |
1478 | 1479 | ||
1479 | GSM_Error GSM_WaitFor (GSM_StateMachine *s, unsigned char *buffer, | 1480 | GSM_Error GSM_WaitFor (GSM_StateMachine *s, unsigned char *buffer, |
1480 | int length, unsigned char type, int time, | 1481 | int length, unsigned char type, int time, |
1481 | GSM_Phone_RequestID request); | 1482 | GSM_Phone_RequestID request); |
1482 | 1483 | ||
1483 | GSM_Error GSM_DispatchMessage (GSM_StateMachine *s); | 1484 | GSM_Error GSM_DispatchMessage (GSM_StateMachine *s); |
1484 | 1485 | ||
1485 | INI_Section *GSM_FindGammuRC(void); | 1486 | INI_Section *GSM_FindGammuRC(void); |
1486 | 1487 | ||
1487 | bool GSM_ReadConfig (INI_Section *cfg_info, GSM_Config *cfg, int num); | 1488 | bool GSM_ReadConfig (INI_Section *cfg_info, GSM_Config *cfg, int num); |
1488 | 1489 | ||
1489 | void GSM_DumpMessageLevel2 (GSM_StateMachine *s, unsigned char *message, int messagesize, int type); | 1490 | void GSM_DumpMessageLevel2 (GSM_StateMachine *s, unsigned char *message, int messagesize, int type); |
1490 | void GSM_DumpMessageLevel3 (GSM_StateMachine *s, unsigned char *message, int messagesize, int type); | 1491 | void GSM_DumpMessageLevel3 (GSM_StateMachine *s, unsigned char *message, int messagesize, int type); |
1491 | 1492 | ||
1492 | /* ---------------------- Phone features ----------------------------------- */ | 1493 | /* ---------------------- Phone features ----------------------------------- */ |
1493 | 1494 | ||
1494 | typedef enum { | 1495 | typedef enum { |
1495 | /* n6110.c */ | 1496 | /* n6110.c */ |
1496 | F_CAL33 = 1, /* Calendar,3310 style - 10 reminders, Unicode, 3 coding types*/ | 1497 | F_CAL33 = 1, /* Calendar,3310 style - 10 reminders, Unicode, 3 coding types*/ |
1497 | F_CAL52, /* Calendar,5210 style - full Unicode, etc. */ | 1498 | F_CAL52, /* Calendar,5210 style - full Unicode, etc. */ |
1498 | F_CAL82, /* Calendar,8250 style - "normal", but with Unicode */ | 1499 | F_CAL82, /* Calendar,8250 style - "normal", but with Unicode */ |
1499 | F_RING_SM, /* Ringtones returned in SM format - 33xx */ | 1500 | F_RING_SM, /* Ringtones returned in SM format - 33xx */ |
1500 | F_NORING, /* No ringtones */ | 1501 | F_NORING, /* No ringtones */ |
1501 | F_NOPBKUNICODE, /* No phonebook in Unicode */ | 1502 | F_NOPBKUNICODE, /* No phonebook in Unicode */ |
1502 | F_NOWAP, /* No WAP */ | 1503 | F_NOWAP, /* No WAP */ |
1503 | F_NOCALLER, /* No caller groups */ | 1504 | F_NOCALLER, /* No caller groups */ |
1504 | F_NOPICTURE, /* No Picture Images */ | 1505 | F_NOPICTURE, /* No Picture Images */ |
1505 | F_NOPICTUREUNI, /* No Picture Images text in Unicode */ | 1506 | F_NOPICTUREUNI, /* No Picture Images text in Unicode */ |
1506 | F_NOSTARTUP, /* No startup logo */ | 1507 | F_NOSTARTUP, /* No startup logo */ |
1507 | F_NOCALENDAR, /* No calendar */ | 1508 | F_NOCALENDAR, /* No calendar */ |
1508 | F_NOSTARTANI, /* Startup logo is not animated */ | 1509 | F_NOSTARTANI, /* Startup logo is not animated */ |
1509 | F_POWER_BATT, /* Network and battery level get from netmonitor */ | 1510 | F_POWER_BATT, /* Network and battery level get from netmonitor */ |
1510 | F_PROFILES33, /* Phone profiles in 3310 style */ | 1511 | F_PROFILES33, /* Phone profiles in 3310 style */ |
1511 | F_PROFILES51, /* Phone profiles in 5110 style */ | 1512 | F_PROFILES51, /* Phone profiles in 5110 style */ |
1512 | F_MAGICBYTES, /* Phone can make authentication with magic bytes */ | 1513 | F_MAGICBYTES, /* Phone can make authentication with magic bytes */ |
1513 | F_NODTMF, /* Phone can't send DTMF */ | 1514 | F_NODTMF, /* Phone can't send DTMF */ |
1514 | F_DISPSTATUS, /* Phone return display status */ | 1515 | F_DISPSTATUS, /* Phone return display status */ |
1515 | F_NOCALLINFO, | 1516 | F_NOCALLINFO, |
1516 | 1517 | ||
1517 | /* n3320.c */ | 1518 | /* n3320.c */ |
1518 | F_DAYMONTH, /* Day and month reversed in pbk, when compare to GSM models*/ | 1519 | F_DAYMONTH, /* Day and month reversed in pbk, when compare to GSM models*/ |
1519 | 1520 | ||
1520 | /* n6510.c */ | 1521 | /* n6510.c */ |
1521 | F_PBK35, /* Phonebook in 3510 style with ringtones ID */ | 1522 | F_PBK35, /* Phonebook in 3510 style with ringtones ID */ |
1522 | F_PBKIMG, /* Phonebook in 7250 style with picture ID */ | 1523 | F_PBKIMG, /* Phonebook in 7250 style with picture ID */ |
1523 | F_PBKTONEGAL,/* Phonebook with selecting ringtones from gallery */ | 1524 | F_PBKTONEGAL,/* Phonebook with selecting ringtones from gallery */ |
1524 | F_PBKSMSLIST, /* Phonebook with SMS list */ | 1525 | F_PBKSMSLIST, /* Phonebook with SMS list */ |
1525 | F_PBKUSER, /* Phonebook with user ID */ | 1526 | F_PBKUSER, /* Phonebook with user ID */ |
1526 | F_RADIO, /* Phone with FM radio */ | 1527 | F_RADIO, /* Phone with FM radio */ |
1527 | F_TODO63, /* ToDo in 6310 style - 0x55 msg type */ | 1528 | F_TODO63, /* ToDo in 6310 style - 0x55 msg type */ |
1528 | F_TODO66, /* ToDo in 6610 style - like calendar, with date and other*/ | 1529 | F_TODO66, /* ToDo in 6610 style - like calendar, with date and other*/ |
1529 | F_NOMIDI, /* No ringtones in MIDI */ | 1530 | F_NOMIDI, /* No ringtones in MIDI */ |
1530 | F_BLUETOOTH, /* Bluetooth support */ | 1531 | F_BLUETOOTH, /* Bluetooth support */ |
1531 | F_NOFILESYSTEM, /* No images, ringtones, java saved in special filesystem*/ | 1532 | F_NOFILESYSTEM, /* No images, ringtones, java saved in special filesystem*/ |
1532 | F_NOMMS, /* No MMS sets in phone */ | 1533 | F_NOMMS, /* No MMS sets in phone */ |
1533 | F_NOGPRSPOINT, /* GPRS point are not useable */ | 1534 | F_NOGPRSPOINT, /* GPRS point are not useable */ |
1534 | F_CAL35, /* Calendar,3510 style - Reminder,Call,Birthday */ | 1535 | F_CAL35, /* Calendar,3510 style - Reminder,Call,Birthday */ |
1535 | F_CAL65, /* Calendar,6510 style - CBMM, method 3 */ | 1536 | F_CAL65, /* Calendar,6510 style - CBMM, method 3 */ |
1536 | F_WAPMMSPROXY, /* WAP & MMS settings contains first & second proxy */ | 1537 | F_WAPMMSPROXY, /* WAP & MMS settings contains first & second proxy */ |
1537 | 1538 | ||
1538 | /* n6510.c && n7110.c */ | 1539 | /* n6510.c && n7110.c */ |
1539 | F_VOICETAGS, /* Voice tags available */ | 1540 | F_VOICETAGS, /* Voice tags available */ |
1540 | F_CAL62, /* Calendar,6210 style - Call,Birthday,Memo,Meeting */ | 1541 | F_CAL62, /* Calendar,6210 style - Call,Birthday,Memo,Meeting */ |
1541 | F_NOTES, | 1542 | F_NOTES, |
1542 | 1543 | ||
1543 | /* AT modules */ | 1544 | /* AT modules */ |
1544 | F_SMSONLYSENT, /* Phone supports only sent/unsent messages */ | 1545 | F_SMSONLYSENT, /* Phone supports only sent/unsent messages */ |
1545 | F_BROKENCPBS, /* CPBS on some memories can hang phone */ | 1546 | F_BROKENCPBS, /* CPBS on some memories can hang phone */ |
1546 | F_M20SMS, /* Siemens M20 like SMS handling */ | 1547 | F_M20SMS, /* Siemens M20 like SMS handling */ |
1547 | F_SLOWWRITE, /* Use slower writing which some phone need */ | 1548 | F_SLOWWRITE, /* Use slower writing which some phone need */ |
1548 | F_SMSME900, /* SMS in ME start from location 900 - case of Sagem */ | 1549 | F_SMSME900, /* SMS in ME start from location 900 - case of Sagem */ |
1549 | F_ALCATEL /* Phone supports Alcatel protocol */ | 1550 | F_ALCATEL /* Phone supports Alcatel protocol */ |
1550 | } Feature; | 1551 | } Feature; |
1551 | 1552 | ||
1552 | /* For models table */ | 1553 | /* For models table */ |
1553 | struct _OnePhoneModel { | 1554 | struct _OnePhoneModel { |
1554 | char *model; | 1555 | char *model; |
1555 | char *number; | 1556 | char *number; |
1556 | char *irdamodel; | 1557 | char *irdamodel; |
1557 | Feature features[12]; | 1558 | Feature features[12]; |
1558 | }; | 1559 | }; |
1559 | 1560 | ||
1560 | bool IsPhoneFeatureAvailable(OnePhoneModel *model, Feature feature); | 1561 | bool IsPhoneFeatureAvailable(OnePhoneModel *model, Feature feature); |
1561 | OnePhoneModel *GetModelData (char *model, char *number, char *irdamodel); | 1562 | OnePhoneModel *GetModelData (char *model, char *number, char *irdamodel); |
1562 | 1563 | ||
1563 | #ifdef __GNUC__ | 1564 | #ifdef __GNUC__ |
1564 | __attribute__((format(printf, 2, 3))) | 1565 | __attribute__((format(printf, 2, 3))) |
1565 | #endif | 1566 | #endif |
1566 | int smprintf(GSM_StateMachine *s, const char *format, ...); | 1567 | int smprintf(GSM_StateMachine *s, const char *format, ...); |
1567 | 1568 | ||
1568 | void GSM_OSErrorInfo(GSM_StateMachine *s, char *description); | 1569 | void GSM_OSErrorInfo(GSM_StateMachine *s, char *description); |
1569 | 1570 | ||
1570 | #ifdef GSM_ENABLE_BACKUP | 1571 | #ifdef GSM_ENABLE_BACKUP |
1571 | void GSM_GetPhoneFeaturesForBackup(GSM_StateMachine *s, GSM_Backup_Info *info); | 1572 | void GSM_GetPhoneFeaturesForBackup(GSM_StateMachine *s, GSM_Backup_Info *info); |
1572 | #endif | 1573 | #endif |
1573 | 1574 | ||
1574 | #endif | 1575 | #endif |
1575 | 1576 | ||
1576 | /* How should editor hadle tabs in this file? Add editor commands here. | 1577 | /* How should editor hadle tabs in this file? Add editor commands here. |
1577 | * vim: noexpandtab sw=8 ts=8 sts=8: | 1578 | * vim: noexpandtab sw=8 ts=8 sts=8: |
1578 | */ | 1579 | */ |
1579 | |||