m2mb API docs  25.30.004.0
m2mb API sets documentation
m2mb_atp.h
Go to the documentation of this file.
1 /* $version: 252203 */
2 /*===============================================================================================*/
3 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
23 #ifndef M2M_M2MB_ATP_API_H
24 #define M2M_M2MB_ATP_API_H
25 
26 
27 /* Global declarations ==========================================================================*/
28 
29 #define ATP_CMD_BUF_SIZE 7680
30 #define M2MB_ATP_MAX_NUM_OF_PARAMETERS 32
31 #if !defined (M2M_INTERNAL_AT_PARSER_PLUS_ATI)
32 #define M2MB_ATP_FIRST_INSTANCE_ID 0
33 #else
34 #define M2MB_ATP_FIRST_INSTANCE_ID 1
35 #endif
36 
37 #define M2MB_ATP_MAX_PARAM_STRING_LEN 16
38 #define M2MB_ATP_MAX_PARAM_VALUE_LEN 128
39 #define M2MB_ATP_MAX_PARAM_FILE_LEN (1+2*M2MB_ATP_MAX_PARAM_VALUE_LEN)
40 #define M2MB_ATP_MAX_PARAM_FILE_PATH_LEN 128
41 #define M2MB_ATP_MAX_OPT_ERR_STR_SIZE 60
42 
43 
44 #define ATP_THREAD_STACK_SIZE (1024 * 16)
45 #define M2MB_ATP_THREAD_STACK_SIZE (1024 * 24)
46 #define ATP_THREAD_N_MSG 100
47 #define ATP_THREAD_PRIORITY 231
48 
49 #define ATP_EXTATP_THREAD_STACK_SIZE (1024 * 4)
50 #ifdef M2M_9607 // bug63097
51 #define ATP_EXTATP_THREAD_PRIORITY 150
52 #else
53 #define ATP_EXTATP_THREAD_PRIORITY ATP_THREAD_PRIORITY
54 #endif /* M2M_9607 */
55 
56 // Used to build Flags parameter when registering a command
57 #define M2MB_ATP_NORML 0x0000 // Command accepted only if sim and pin inserted
58 #define M2MB_ATP_NOPIN 0x0001 // Command accepted even if pin enabled and not inserted yet
59 #define M2MB_ATP_NOSIM 0x0002 // Command accepted if sim not inserted
60 #define M2MB_ATP_SMLCK 0x0004 // Command accepted even if simlock enabled
61 #define M2MB_ATP_NOPAR 0x0200 // Marker for special AT+Cmd=<CR> handling
62 #define M2MB_ATP_CLACH 0x0080 // Hidden command, not listed in +CLAC
63 
64 #define BS 0x08 /* back space */
65 #define LF 0x0a /* Line Feed */
66 #define CR 0x0d /* Carriage Return */
67 #define ESC 0x1b /* Escape */
68 #define CTRL_Z 0x1a /* Control Z (end of SMS PDU) */
69 
70 /* Global typedefs ==============================================================================*/
71 
72 typedef HANDLE M2MB_ATP_HANDLE;
73 
74 typedef INT16 SY_MESSAGE_ID;
75 typedef char CHAR;
76 
77 typedef enum
78 {
79  M2MB_ATP_CMDTYP_SET, // AT cmd of = type
80  M2MB_ATP_CMDTYP_READ, // AT cmd of ? type
81  M2MB_ATP_CMDTYP_TEST, // AT cmd of =? type
82  M2MB_ATP_CMDTYP_EXEC, // execution type AT command
83  M2MB_ATP_CMDTYP_NOPARAMS, // Special AT+CMD= for command with default parameter
84  M2MB_NUM_ATP_CMDTYP
85 } M2MB_ATP_CMDTYPE_E;
86 
87 typedef enum
88 {
89  ATP_RESOURCE_CALL,
90  ATP_RESOURCE_EMAIL,
91  ATP_RESOURCE_FTP,
92  ATP_RESOURCE_IPEASY,
93  ATP_RESOURCE_IPDIAL,
94  ATP_RESOURCE_GPS,
95  ATP_RESOURCE_TONES,
96  ATP_RESOURCE_FLASH,
97  ATP_RESOURCE_PING,
98  ATP_RESOURCE_HTTP,
99  ATP_RESOURCE_NUM
100 } ENUM_RESOURCE_ID;
101 
102 /* atp_event */
103 typedef enum
104 {
105  M2MB_ATP_DUMMY_IND
106 } M2MB_ATP_IND_E;
107 
108 typedef enum
109 {
110  M2MB_ATP_CMD_CALLBACK_IND,
111  M2MB_ATP_CMD_DELEGATION_IND
112 } M2MB_ATP_CMD_IND_E;
113 
114 typedef enum
115 {
116  M2MB_ATP_INPUT_MODE_NONE = 0,
117  M2MB_ATP_SMS_INPUT_MODE,
118  M2MB_ATP_EMAIL_INPUT_MODE,
119  M2MB_ATP_M2M_WRITE_INPUT_MODE,
120  M2MB_ATP_ONLINE_INPUT_MODE,
121  M2MB_ATP_SILENT_INPUT_MODE,
122  M2MB_ATP_RUNNING_INPUT_MODE,
123  M2MB_ATP_ONLINE_ASE_INPUT_MODE /* Always Skip Escape, independently from #SKIPESC setting */
124 } M2MB_ATP_INPUT_MODE;
125 
126 typedef enum
127 {
128  M2MB_ATP_FRC_SILENT = -1,
129  M2MB_ATP_FRC_OK = 0,
130  M2MB_ATP_FRC_ERROR,
131  M2MB_ATP_FRC_CME_ERROR,
132  M2MB_ATP_FRC_CMS_ERROR
133 } M2MB_ATP_FRC_E;
134 
135 typedef enum
136 {
137  M2MB_ATP_CME_PHONE_FAILURE = 0,
138  M2MB_ATP_CME_NO_CONNECTION_TO_PHONE = 1,
139  M2MB_ATP_CME_PHONE_LINK_RESERVED = 2,
140  M2MB_ATP_CME_OPERATION_NOT_ALLOWED = 3,
141  M2MB_ATP_CME_OPERATION_NOT_SUPPORTED = 4,
142  M2MB_ATP_CME_PHSIM_PIN_REQUIRED = 5,
143  M2MB_ATP_CME_PHFSIM_PIN_REQUIRED = 6,
144  M2MB_ATP_CME_SIM_NOT_INSERTED = 10,
145  M2MB_ATP_CME_SIM_PIN_REQUIRED = 11,
146  M2MB_ATP_CME_SIM_PUK_REQUIRED = 12,
147  M2MB_ATP_CME_SIM_FAILURE = 13,
148  M2MB_ATP_CME_SIM_BUSY = 14,
149  M2MB_ATP_CME_SIM_WRONG = 15,
150  M2MB_ATP_CME_INCORRECT_PASSWORD = 16,
151  M2MB_ATP_CME_SIM_PIN2_REQUIRED = 17,
152  M2MB_ATP_CME_SIM_PUK2_REQUIRED = 18,
153  M2MB_ATP_CME_MEMORY_FULL = 20,
154  M2MB_ATP_CME_INVALID_INDEX = 21,
155  M2MB_ATP_CME_NOT_FOUND = 22,
156  M2MB_ATP_CME_MEMORY_FAILURE = 23,
157  M2MB_ATP_CME_TEXT_TOO_LONG = 24,
158  M2MB_ATP_CME_INVALID_CHARS_IN_TEXT = 25,
159  M2MB_ATP_CME_DIAL_TOO_LONG = 26,
160  M2MB_ATP_CME_INVALID_CHARS_IN_DIAL = 27,
161  M2MB_ATP_CME_NO_NETWORK_SERVICE = 30,
162  M2MB_ATP_CME_NETWORK_TIMEOUT = 31,
163  M2MB_ATP_CME_NETWORK_NOT_ALLOWED = 32,
164  M2MB_ATP_CME_NCK_REQUIRED = 40,
165  M2MB_ATP_CME_NET_PERS_PUK_REQUIRED = 41,
166  M2MB_ATP_CME_NSCK_REQUIRED = 42,
167  M2MB_ATP_CME_NET_SUBSET_PERS_PUK_REQUIRED = 43,
168  M2MB_ATP_CME_SPCK_REQUIRED = 44,
169  M2MB_ATP_CME_SERV_PROV_PERS_PUK_EQUIRED = 45,
170  M2MB_ATP_CME_CPCK_REQUIRED = 46,
171  M2MB_ATP_CME_CORP_PERS_PUK_REQUIRED = 47,
172  M2MB_ATP_CME_HIDDEN_KEY_REQUIRED = 48,
173  M2MB_ATP_CME_UNKNOWN = 100,
174  M2MB_ATP_CME_ILLEGAL_MS = 103,
175  M2MB_ATP_CME_ILLEGAL_ME = 106,
176  M2MB_ATP_CME_GPRS_SERVICE_NOT_ALLW = 107,
177  M2MB_ATP_CME_PLMN_NOT_ALLW = 111,
178  M2MB_ATP_CME_LOC_AREA_NOT_ALLW = 112,
179  M2MB_ATP_CME_ROAM_NOT_ALW_IN_THIS_AREA = 113,
180  M2MB_ATP_CME_SERV_OPT_NOT_SUPPORTED = 132,
181  M2MB_ATP_CME_REQ_SERV_OPT_NOT_SUBSCRIBED = 133,
182  M2MB_ATP_CME_SERV_OPT_TEMP_OOF = 134,
183  M2MB_ATP_CME_UNSPECIFIED_GPRS_ERROR = 148,
184  M2MB_ATP_CME_PDP_AUTHENT_FAILURE = 149,
185  M2MB_ATP_CME_INVALID_MOBILE_CLASS = 150,
186 
187  // Manufacturer specific +CME ERROR errors(512..., see ETSI TS 100 585 V7.0.1 (1999-07))
188 
189  M2MB_ATP_CME_TEXT_PARAM_INSTEAD_OF_NUM_PARAM = 35,
190  M2MB_ATP_CME_NUM_PARAM_OUT_OF_BOUNDS = 36,
191  M2MB_ATP_CME_INVALID_PARAM_NUMBER = 277,
192 
193  M2MB_ATP_CME_CONTEXT_NOT_OPENED = 556,
194  M2MB_ATP_CME_CANNOT_SETUP_SOCKET = 557,
195  M2MB_ATP_CME_CANNOT_RESOLVE_DN = 558,
196  M2MB_ATP_CME_TIMEOUT_IN_OPENING_SOCKET = 559,
197  M2MB_ATP_CME_CANNOT_OPEN_SOCKET = 560,
198  M2MB_ATP_CME_REMOTE_DISCONNECTED = 561,
199  M2MB_ATP_CME_CONNECTION_FAILED = 562,
200  M2MB_ATP_CME_TX_ERROR = 563,
201  M2MB_ATP_CME_ALREADY_LISTENING = 564,
202  M2MB_ATP_CME_EASY_SKT_ABORT = 565,
203  M2MB_ATP_CME_EASY_NO_SOCKET = 566,
204  M2MB_ATP_CME_IP_VERSION_TYPE_INCOMPATIBLE = 567,
205  M2MB_ATP_CME_IPV6_NOT_ENABLED = 568,
206  M2MB_ATP_CME_EASY_CONNECTION_ABORT = 569,
207 
208  M2MB_ATP_CME_FTP_ALREADY_CONNECTED = 608,
209  M2MB_ATP_CME_CMDMODE = 613,
210  M2MB_ATP_CME_CMDMODE_NODATAPORT = 614,
211  M2MB_ATP_CME_FTP_NOT_CONNECTED = 615,
212  M2MB_ATP_CME_FTP_DISCONNECTED = 616,
213  M2MB_ATP_CME_FTP_READ_CMD_CLOSED = 617,
214  M2MB_ATP_CME_FTP_READ_CMD_ERROR = 618,
215  M2MB_ATP_CME_FTP_WRITE_CMD_CLOSED = 619,
216  M2MB_ATP_CME_FTP_WRITE_CMD_ERROR = 620,
217  M2MB_ATP_CME_FTP_READ_DATA_CLOSED = 621,
218  M2MB_ATP_CME_FTP_READ_DATA_ERROR = 622,
219  M2MB_ATP_CME_FTP_WRITE_DATA_CLOSED = 623,
220  M2MB_ATP_CME_FTP_WRITE_DATA_ERROR = 624,
221  M2MB_ATP_CME_FTP_HOST_NOT_FOUND = 625,
222  M2MB_ATP_CME_FTP_ACCEPT_FAIL = 626,
223  M2MB_ATP_CME_FTP_LISTEN_FAIL = 627,
224  M2MB_ATP_CME_FTP_BIND_FAIL = 628,
225  M2MB_ATP_CME_FTP_FILE_CREATE_FAIL = 629,
226  M2MB_ATP_CME_FTP_FILE_GET_COMPLETE = 630,
227  M2MB_ATP_CME_FTP_FILE_PUT_COMPLETE = 631,
228  M2MB_ATP_CME_FTP_FILE_NOT_FOUND = 632,
229  M2MB_ATP_CME_FTP_TIME_OUT = 633,
230  M2MB_ATP_CME_FTP_LOGIN_INCORRECT = 634,
231  M2MB_ATP_CME_FTP_CLOSE_ERROR = 635,
232  M2MB_ATP_CME_FTP_SERVER_NOT_READY = 636,
233  M2MB_ATP_CME_FTP_SERVER_SHUTDOWN = 637,
234  M2MB_ATP_CME_FTP_UNEXPECTED_REPLY = 638,
235  M2MB_ATP_CME_FTP_USERID_INVALID = 639,
236  M2MB_ATP_CME_FTP_PASSWD_INVALID = 640,
237  M2MB_ATP_CME_FTP_USER_ALREADY_LOGIN = 641,
238  M2MB_ATP_CME_FTP_OPEN_CHANNEL_TIMEOUT = 642,
239  M2MB_ATP_CME_FTP_COMM_TIMEOUT = 643,
240  M2MB_ATP_CME_FTP_UNKNOWN_ERROR = 644,
241 
242  M2MB_ATP_CME_SER_WRITE_DATA_TIMEOUT = 808,
243  M2MB_ATP_CME_SER_WRITE_DRIVE_FULL = 809,
244  M2MB_ATP_CME_SER_WRITE_INVALID_PATH = 810,
245 
246  M2MB_ATP_CME_SSL_SSL_NOT_ACTIVATED = 1000,
247  M2MB_ATP_CME_SSL_SSL_CERT_KEYS_WRONG = 1001,
248  M2MB_ATP_CME_SSL_SSL_GENERIC_ERROR = 1002,
249  M2MB_ATP_CME_SSL_SSL_ALREADY_ACTIVATED = 1003,
250  M2MB_ATP_CME_SSL_SSL_ERR_DURING_HANDSHAKE = 1004,
251  M2MB_ATP_CME_SSL_SSL_SOCKET_ERROR = 1005,
252  M2MB_ATP_CME_SSL_SSL_INVALID_STATE = 1006,
253  M2MB_ATP_CME_SSL_SSL_CAN_NOT_ACTIVATE = 1007,
254  M2MB_ATP_CME_SSL_SSL_NOT_CONNECTED = 1008,
255  M2MB_ATP_CME_SSL_SSL_ALREADY_CONNECTED = 1009,
256  M2MB_ATP_CME_SSL_SSL_ENC_DEC_DATA_ERROR = 1010,
257  M2MB_ATP_CME_SSL_SSL_DISCONNECTED = 1011,
258 
259  M2MB_ATP_CME_MQTT_INIT_FAIL = 1100,
260  M2MB_ATP_CME_MQTT_DEINIT_FAIL = 1101,
261  M2MB_ATP_CME_MQTT_CONF_FAIL = 1102,
262  M2MB_ATP_CME_MQTT_CONNECT_FAIL = 1103,
263  M2MB_ATP_CME_MQTT_DISCONNECT_FAIL = 1104,
264  M2MB_ATP_CME_MQTT_PUBLISH_FAIL = 1105,
265  M2MB_ATP_CME_MQTT_SUBSCRIBE_FAIL = 1106,
266  M2MB_ATP_CME_MQTT_UNSUBSCRIBE_FAIL = 1107,
267  M2MB_ATP_CME_MQTT_SSL_CONFIG_FAIL = 1108,
268 
269  M2MB_ATP_CME_GTP_TIMEOUT_ERROR = 1150,
270  M2MB_ATP_CME_GTP_PDP_ERROR = 1151,
271  M2MB_ATP_CME_GTP_DISABLED_ERROR = 1152,
272  M2MB_ATP_CME_GTP_ENA_CMD_NOT_SUPPORTED = 1153,
273  M2MB_ATP_CME_GTP_REBOOT_FAILED = 1154,
274 
275  M2MB_ATP_CME_MQTTSN_INIT_FAIL = 1200,
276  M2MB_ATP_CME_MQTTSN_DEINIT_FAIL = 1201,
277  M2MB_ATP_CME_MQTTSN_CONF_FAIL = 1202,
278  M2MB_ATP_CME_MQTTSN_SOCK_FAIL = 1204,
279  M2MB_ATP_CME_MQTTSN_CONNECT_FAIL = 1205,
280  M2MB_ATP_CME_MQTTSN_DISCONNECT_FAIL = 1206,
281  M2MB_ATP_CME_MQTTSN_REGISTER_FAIL = 1207,
282  M2MB_ATP_CME_MQTTSN_PUBLISH_FAIL = 1208,
283  M2MB_ATP_CME_MQTTSN_SUBSCRIBE_FAIL = 1209,
284  M2MB_ATP_CME_MQTTSN_UNSUBSCRIBE_FAIL = 1210,
285  M2MB_ATP_CME_MQTTSN_WILLTUPDATE_FAIL = 1211,
286  M2MB_ATP_CME_MQTTSN_WILLMUPDATE_FAIL = 1212,
287  M2MB_ATP_CME_MQTTSN_STATECHANGE_FAIL = 1213,
288  M2MB_ATP_CME_MQTTSN_INVALID_CLIENT_STATUS = 1214,
289 
290  M2MB_ATP_CME_REBOOT_IS_NEEDED = 1250,
291 } M2MB_ATP_CME_E;
292 
293 typedef enum
294 {
295  M2MB_ATP_CMS_UNASSIGNED_NUMBER = 1,
296  M2MB_ATP_CMS_OPERATOR_BARRING = 8,
297  M2MB_ATP_CMS_CALL_BARRED = 10,
298  M2MB_ATP_CMS_SMS_TRANSFER_REJECTED = 21,
299  M2MB_ATP_CMS_OUT_OF_SERVICE_DEST = 27,
300  M2MB_ATP_CMS_UNIDENTIFIED_SUBSCRIBER = 28,
301  M2MB_ATP_CMS_FACILITY_REJECTED = 29,
302  M2MB_ATP_CMS_UNKNOWN_SUBSCRIBER = 30,
303  M2MB_ATP_CMS_OUT_OF_ORDER_NETWORK = 38,
304  M2MB_ATP_CMS_TEMP_FAILURE = 41,
305  M2MB_ATP_CMS_CONGESTION = 42,
306  M2MB_ATP_CMS_UNAVAILABLE_RESOURCE = 47,
307  M2MB_ATP_CMS_FACILTY_NOT_SUBSCRIBED = 50,
308  M2MB_ATP_CMS_FACILTY_NOT_IMPLEMENTED = 69,
309  M2MB_ATP_CMS_INVALID_SMS_MSG_REF = 81,
310  M2MB_ATP_CMS_INVALID_SMS = 95,
311  M2MB_ATP_CMS_INVALID_MANDAT_INFO = 96,
312  M2MB_ATP_CMS_MSG_TYPE_NOT_IMPLEMENTED = 97,
313  M2MB_ATP_CMS_MSG_TYPE_NOT_COMPATIBLE = 98,
314  M2MB_ATP_CMS_IE_NOT_IMPLEMENTED = 99,
315  M2MB_ATP_CMS_PROTOCOL_ERROR = 111,
316  M2MB_ATP_CMS_INTERWORKING = 127,
317  M2MB_ATP_CMS_TEL_INTERWORK_NOT_SUPPORTED = 128,
318  M2MB_ATP_CMS_SMTYPE0_NOT_SUPPORTED = 129,
319  M2MB_ATP_CMS_CANNOT_REPLACE_SMS = 130,
320  M2MB_ATP_CMS_UNSPECIFIED_PID_ERROR = 143,
321  M2MB_ATP_CMS_DCS_NOT_SUPPORTED = 144,
322  M2MB_ATP_CMS_UNSPECIFIED_DCS_ERROR = 159,
323  M2MB_ATP_CMS_TPDU_NOT_SUPPORTED = 176,
324  M2MB_ATP_CMS_SC_BUSY = 192,
325  M2MB_ATP_CMS_NO_SC_SUBSCRIPTION = 193,
326  M2MB_ATP_CMS_SC_SYSTEM_FAILURE = 194,
327  M2MB_ATP_CMS_INVALID_SME_ADDRESS = 195,
328  M2MB_ATP_CMS_DESTINATION_SME_BARRED = 196,
329  M2MB_ATP_CMS_SM_REJ_DUPL_SM = 197,
330  M2MB_ATP_CMS_VPF_NOT_SUPPORTED = 198,
331  M2MB_ATP_CMS_VP_NOT_SUPPORTED = 199,
332  M2MB_ATP_CMS_UNSPECIFIED_TPFCS_ERROR = 255,
333  M2MB_ATP_CMS_ME_FAILURE = 300,
334  M2MB_ATP_CMS_SMS_SERV_RESERVED = 301,
335  M2MB_ATP_CMS_OPERATION_NOT_ALLOWED = 302,
336  M2MB_ATP_CMS_OPERATION_NOT_SUPPORTED = 303,
337  M2MB_ATP_CMS_INVALID_PDU_MODE_PARAMETER = 304,
338  M2MB_ATP_CMS_INVALID_TEXT_MODE_PARAMETER = 305,
339  M2MB_ATP_CMS_SIM_NOT_INSERTED = 310,
340  M2MB_ATP_CMS_SIM_PIN_REQUIRED = 311,
341  M2MB_ATP_CMS_PHSIM_PIN_REQUIRED = 312,
342  M2MB_ATP_CMS_SIM_FAILURE = 313,
343  M2MB_ATP_CMS_SIM_BUSY = 314,
344  M2MB_ATP_CMS_SIM_WRONG = 315,
345  M2MB_ATP_CMS_SIM_PUK_REQUIRED = 316,
346  M2MB_ATP_CMS_SIM_PIN2_REQUIRED = 317,
347  M2MB_ATP_CMS_SIM_PUK2_REQUIRED = 318,
348  M2MB_ATP_CMS_MEMORY_FAILURE = 320,
349  M2MB_ATP_CMS_INVALID_INDEX = 321,
350  M2MB_ATP_CMS_MEMORY_FULL = 322,
351  M2MB_ATP_CMS_SMSC_ADDRESS_UNKNOWN = 330,
352  M2MB_ATP_CMS_NO_NETWORK_SERVICE = 331,
353  M2MB_ATP_CMS_NETWORK_TIMEOUT = 332,
354  M2MB_ATP_CMS_NO_CNMA_ACK_EXPECTED = 340,
355  M2MB_ATP_CMS_UNKNOWN = 500,
356  M2MB_ATP_CMS_FDN_NOT_ALLOWED_NUMBER = 512
357 } M2MB_ATP_CMS_E;
358 
359 typedef enum
360 {
361  M2MB_ATP_SLNT_NONE = -1,
362  M2MB_ATP_SLNT_COMPLETED = 0,
363  M2MB_ATP_SLNT_NO_CARRIER = 1,
364  M2MB_ATP_SLNT_NO_CARRIER_MODE = 2 /* BUG 51036 */
365 } M2MB_ATP_SLNT_E;
366 
367 typedef enum
368 {
369  M2MB_ATP_UNS_BUFFER_IF_BUSY=0,
370  M2MB_ATP_UNS_DISCARD_IF_BUSY,
371 } M2MB_ATP_UNS_MODE_E;
372 
373 typedef struct
374 {
375  M2MB_ATP_HANDLE atpHandle;
376  M2MB_ATP_CMD_IND_E atpEvent;
377  UINT16 resp_size;
378  void *resp_struct;
379  void *atptaskUserdata;
381 
382 /* atpParam */
383 typedef struct
384 {
385  CHAR *atpCmdString; // Command string
386  M2MB_ATP_CMDTYPE_E type; // Command type (Read, Set, Test, TestExt)
387  UINT16 rawDataLen; // Length of raw command parameters
388  CHAR *rawData; // Pointer to raw command parameters
389  UINT16 itemNum; // Number of parameters
390  CHAR **item; // Pointers to parameters
392 
393 /* resp_struct in case of M2MB_ATP_CALLBACK_IND event */
394 typedef struct
395 {
396  UINT16 instanceNumber;
398 
399 /* delegationEventMsg in case of M2MB_ATP_DATA_IND delegationEvent */
400 typedef struct
401 {
402  INT32 x;
404 
405 /* delegationEventMsg in case of M2MB_ATP_ESCAPE_IND delegationEvent */
406 typedef struct
407 {
408  INT32 y;
410 
411 /* delegationEvent */
412 typedef enum
413 {
414  M2MB_ATP_DATA_IND,
415  M2MB_ATP_ESCAPE_IND,
416  M2MB_ATP_BUFFER_EMPTY_IND,
417  M2MB_ATP_CLOSE_CON_IND
418 } M2MB_ATP_DELEGATION_IND_E;
419 
420 /* resp_struct in case of M2MB_ATP_DELEGATION_IND event */
421 typedef struct
422 {
423  UINT16 instanceNumber;
424  M2MB_ATP_DELEGATION_IND_E event;
425  UINT16 msg_size;
426  void *msg;
428 
429 typedef void ( *m2mb_atp_ind_callback )( M2MB_ATP_HANDLE h, M2MB_ATP_IND_E atp_event, UINT16 resp_size, void *resp_struct, void *userdata );
430 typedef void ( *m2mb_atp_cmd_ind_callback )( M2MB_ATP_HANDLE h, M2MB_ATP_CMD_IND_E atp_event, UINT16 resp_size, void *resp_struct, void *userdata );
431 typedef struct M2MB_ATP_CMD_HANDLE_T
432 {
433  M2MB_ATP_HANDLE atpHandle;
434  CHAR *atpCmdString;
435  UINT16 atpFlags;
436  BOOLEAN atpCmdOld;
437  m2mb_atp_cmd_ind_callback atpCallback;
438  void *atpUserData;
439  struct M2MB_ATP_CMD_HANDLE_T *pNext;
441 
442 typedef union
443 {
444  INT32 get_integer;
445  CHAR *get_string;
447 
448 /* Global functions =============================================================================*/
449 /*-----------------------------------------------------------------------------------------------*/
489 /*-----------------------------------------------------------------------------------------------*/
490 M2MB_RESULT_E m2mb_atp_init( M2MB_ATP_HANDLE *h, m2mb_atp_ind_callback callback, void *userdata );
491 
492 /*-----------------------------------------------------------------------------------------------*/
524 /*-----------------------------------------------------------------------------------------------*/
525 M2MB_RESULT_E m2mb_atp_deinit( M2MB_ATP_HANDLE h );
526 
527 /*-----------------------------------------------------------------------------------------------*/
597 /*-----------------------------------------------------------------------------------------------*/
598 M2MB_RESULT_E m2mb_atp_register( M2MB_ATP_HANDLE atpHandle, CHAR *atpCmdString, UINT16 atpFlags, m2mb_atp_cmd_ind_callback atpCallback, void *atpUserdata );
599 
600 /*-----------------------------------------------------------------------------------------------*/
669 /*-----------------------------------------------------------------------------------------------*/
670 M2MB_RESULT_E m2mb_atp_get_cmd_userdata( M2MB_ATP_HANDLE atpHandle, CHAR *atpCmdString, void **atpUserdata );
671 
672 /*-----------------------------------------------------------------------------------------------*/
706 M2MB_RESULT_E m2mb_atp_deregister( M2MB_ATP_HANDLE atpHandle, CHAR *atpCmdString );
707 
708 /*-----------------------------------------------------------------------------------------------*/
775 /*-----------------------------------------------------------------------------------------------*/
776 M2MB_RESULT_E m2mb_atp_msgout( M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, CHAR *msg );
777 
778 /*-----------------------------------------------------------------------------------------------*/
852 /*-----------------------------------------------------------------------------------------------*/
853 M2MB_RESULT_E m2mb_atp_release( M2MB_ATP_HANDLE h, UINT16 instanceNum, M2MB_ATP_FRC_E res, INT16 errorCode, CHAR *optionalErrString );
854 
855 /*-----------------------------------------------------------------------------------------------*/
950 /*-----------------------------------------------------------------------------------------------*/
951 M2MB_RESULT_E m2mb_atp_change_input_mode( M2MB_ATP_HANDLE atpHandle,
952  UINT16 instanceNum,
953  M2MB_ATP_INPUT_MODE mode );
954 
955 
956 /*-----------------------------------------------------------------------------------------------*/
1058 /*-----------------------------------------------------------------------------------------------*/
1059 M2MB_RESULT_E m2mb_atp_get_input_mode( M2MB_ATP_HANDLE atpHandle,
1060  UINT16 instanceNum,
1061  M2MB_ATP_INPUT_MODE *mode );
1062 
1063 /*-----------------------------------------------------------------------------------------------*/
1138 /*-----------------------------------------------------------------------------------------------*/
1139 INT32 m2mb_atp_rx( M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, void *rxBuffer, INT32 rxBufferSize );
1140 
1141 /*-----------------------------------------------------------------------------------------------*/
1215 /*-----------------------------------------------------------------------------------------------*/
1216 INT32 m2mb_atp_tx( M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, void *txBuffer, INT32 txBufferSize );
1217 
1218 /*-----------------------------------------------------------------------------------------------*/
1252 /*-----------------------------------------------------------------------------------------------*/
1253 M2MB_RESULT_E m2mb_atp_get_input_data( M2MB_ATP_HANDLE h, UINT16 instanceNum, M2MB_ATP_PARAM_T **input_data );
1254 
1255 /*-----------------------------------------------------------------------------------------------*/
1284 /*-----------------------------------------------------------------------------------------------*/
1285 M2MB_RESULT_E m2mb_atp_unsolicited_instance( M2MB_ATP_HANDLE h, UINT16 instanceNum, CHAR *unsMsg, M2MB_ATP_UNS_MODE_E mode );
1286 
1287 /*-----------------------------------------------------------------------------------------------*/
1314 /*-----------------------------------------------------------------------------------------------*/
1315 M2MB_RESULT_E m2mb_atp_unsolicited_broadcast( M2MB_ATP_HANDLE h, CHAR *unsMsg, M2MB_ATP_UNS_MODE_E mode );
1316 
1317 /*-----------------------------------------------------------------------------------------------*/
1382 /*-----------------------------------------------------------------------------------------------*/
1383 M2MB_RESULT_E m2mb_atp_at_command_conf( M2MB_ATP_HANDLE h, UINT16 instanceNum, CHAR *atCmdString, UINT8 argc, ... );
1384 
1385 /*-----------------------------------------------------------------------------------------------*/
1463 /*-----------------------------------------------------------------------------------------------*/
1464 M2MB_RESULT_E m2mb_atp_forward_parser( M2MB_ATP_HANDLE h, UINT16 instanceNum, CHAR *optionalCmdString );
1465 
1466 /*-----------------------------------------------------------------------------------------------*/
1495 /*-----------------------------------------------------------------------------------------------*/
1496 M2MB_RESULT_E m2mb_atp_data_out_process(M2MB_ATP_HANDLE h, UINT16 instanceNum,
1497  void *data, UINT32 dataLen );
1498 #endif /* M2M_M2MB_ATP_API_H */
1499 
m2mb_atp_deinit
M2MB_RESULT_E m2mb_atp_deinit(M2MB_ATP_HANDLE h)
m2mb_atp_deinit deinitializes AT Parser for current client.
M2MB_ATP_PARAM_T
Definition: m2mb_atp.h:383
M2MB_ATP_CALLBACK_IND_T
Definition: m2mb_atp.h:394
m2mb_atp_unsolicited_instance
M2MB_RESULT_E m2mb_atp_unsolicited_instance(M2MB_ATP_HANDLE h, UINT16 instanceNum, CHAR *unsMsg, M2MB_ATP_UNS_MODE_E mode)
m2mb_atp_unsolicited_instance sends an unsolicited indication to an AT parser instance.
m2mb_atp_get_cmd_userdata
M2MB_RESULT_E m2mb_atp_get_cmd_userdata(M2MB_ATP_HANDLE atpHandle, CHAR *atpCmdString, void **atpUserdata)
m2mb_atp_get_cmd_userdata gets userdata linked with input AT command.
m2mb_atp_tx
INT32 m2mb_atp_tx(M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, void *txBuffer, INT32 txBufferSize)
m2mb_atp_tx transmits on AT parser instance port the characters in the input buffer.
m2mb_atp_release
M2MB_RESULT_E m2mb_atp_release(M2MB_ATP_HANDLE h, UINT16 instanceNum, M2MB_ATP_FRC_E res, INT16 errorCode, CHAR *optionalErrString)
m2mb_atp_release ends the execution of an AT command in AT parser.
m2mb_atp_get_input_mode
M2MB_RESULT_E m2mb_atp_get_input_mode(M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, M2MB_ATP_INPUT_MODE *mode)
m2mb_atp_get_input_mode gets current AT parser input mode.
m2mb_atp_unsolicited_broadcast
M2MB_RESULT_E m2mb_atp_unsolicited_broadcast(M2MB_ATP_HANDLE h, CHAR *unsMsg, M2MB_ATP_UNS_MODE_E mode)
m2mb_atp_unsolicited_broadcast broadcasts an unsolicited indication to all AT parser instances.
m2mb_atp_deregister
M2MB_RESULT_E m2mb_atp_deregister(M2MB_ATP_HANDLE atpHandle, CHAR *atpCmdString)
m2mb_atp_deregister deregisters an AT command in the AT parser.
M2MB_ATP_ESCAPE_IND_T
Definition: m2mb_atp.h:406
M2MB_ATP_DATA_IND_T
Definition: m2mb_atp.h:400
m2mb_atp_change_input_mode
M2MB_RESULT_E m2mb_atp_change_input_mode(M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, M2MB_ATP_INPUT_MODE mode)
m2mb_atp_change_input_mode changes AT parser input mode (command or text entering,...
M2MB_ATP_CMD_HANDLE_T
Definition: m2mb_atp.h:431
m2mb_atp_data_out_process
M2MB_RESULT_E m2mb_atp_data_out_process(M2MB_ATP_HANDLE h, UINT16 instanceNum, void *data, UINT32 dataLen)
m2mb_atp_data_out_process passes data delegation function of the current AT command.
M2MB_ATP_REQ_T
Definition: m2mb_atp.h:373
m2mb_atp_forward_parser
M2MB_RESULT_E m2mb_atp_forward_parser(M2MB_ATP_HANDLE h, UINT16 instanceNum, CHAR *optionalCmdString)
m2mb_atp_forward_parser forwards an AT commands to internal AT parser.
m2mb_atp_rx
INT32 m2mb_atp_rx(M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, void *rxBuffer, INT32 rxBufferSize)
m2mb_atp_rx reads in a buffer characters just received on current AT parser instance port.
M2MB_ATP_DELEGATION_IND_T
Definition: m2mb_atp.h:421
M2MB_ATP_AT_COMMAND_VAL_U
Definition: m2mb_atp.h:442
m2mb_atp_msgout
M2MB_RESULT_E m2mb_atp_msgout(M2MB_ATP_HANDLE atpHandle, UINT16 instanceNum, CHAR *msg)
m2mb_atp_msgout sends a string on terminal connected to AT parser.
m2mb_atp_register
M2MB_RESULT_E m2mb_atp_register(M2MB_ATP_HANDLE atpHandle, CHAR *atpCmdString, UINT16 atpFlags, m2mb_atp_cmd_ind_callback atpCallback, void *atpUserdata)
m2mb_atp_register registers an AT command in the AT parser.
m2mb_atp_get_input_data
M2MB_RESULT_E m2mb_atp_get_input_data(M2MB_ATP_HANDLE h, UINT16 instanceNum, M2MB_ATP_PARAM_T **input_data)
m2mb_atp_get_input_data gets a structure allocated by AT parser containing input data.
m2mb_atp_init
M2MB_RESULT_E m2mb_atp_init(M2MB_ATP_HANDLE *h, m2mb_atp_ind_callback callback, void *userdata)
m2mb_atp_init initializes AT Parser for current client.
m2mb_atp_at_command_conf
M2MB_RESULT_E m2mb_atp_at_command_conf(M2MB_ATP_HANDLE h, UINT16 instanceNum, CHAR *atCmdString, UINT8 argc,...)
m2mb_atp_at_command_conf sets/gets some AT commands configuration values.