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