m2mb API docs  30.00.007
m2mb API sets documentation
m2mb_lwm2m.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_LWM2M_API_H
23 #define M2M_M2MB_LWM2M_API_H
24 
25 
26 /* Global declarations ==========================================================================*/
27 
28 #define LWM2M_STRING_MAX_LENGTH ( 20 ) /* max length allowed for the strings reporting client status, primitives etc. */
29 #define LWM2M_STAT_STRING_MAX_LENGTH ( 10 ) /* max length allowed for the STAT string */
30 #define LWM2M_STS_ISBSTSRV_MAX_VALUE ( 1 ) /* max value allowed for isBootstrapServer */
31 #define LWM2M_STS_EXTRA_CHARS_IN_URL ( 3 ) /* extra chars for comma, isBstServer and string terminator, to be appended to URL */
32 #define LWM2M_STS_MIN_DATA_SIZE ( 128 ) /* extra chars for comma, isBstServer and string terminator, to be appended to URL */
33 #define M2MB_LWM2M_ONE_BYTE ( 1 )
34 #define M2MB_LWM2M_MAX_ENDPOINT_NAME_LEN ( 64 ) /* max Endpoint Name length */
35 #define M2MB_LWM2M_DTLS_PSK_MAX_KEY_LEN ( 64 ) /* max key length */
36 /* Global typedefs ==============================================================================*/
37 
38 typedef HANDLE M2MB_LWM2M_HANDLE;
39 
40 typedef enum
41 {
42  M2MB_LWM2M_URI_0_FIELDS = 0, /* it should only be used on STS command, for selecting a server on the predefined table */
43  M2MB_LWM2M_URI_1_FIELDS, /* it should only be used on STS command */
44  M2MB_LWM2M_URI_2_FIELDS, /* it should only be used on STS command */
45  M2MB_LWM2M_URI_3_FIELDS, /* it should only be used on R/W/E commands */
46  M2MB_LWM2M_URI_4_FIELDS, /* it should only be used on R/W/E commands */
47  M2MB_LWM2M_URI_MAX_NUM /* it should only be used on STS command, for resetting the STS; any other values should be added before */
48 } M2MB_LWM2M_URI_LENGTH_E;
49 
50 typedef enum
51 {
52  M2MB_LWM2M_MODE_NO_ACK,
53 // M2MB_LWM2M_MODE_TOUT_ACK,
54  M2MB_LWM2M_MODE_ACK,
55  M2MB_LWM2M_MODE_MAX_NUM
56 } M2MB_LWM2M_EN_MODE_E;
57 
58 typedef enum
59 {
60  M2MB_LWM2M_ACTION_ACK = 1,
61  M2MB_LWM2M_ACTION_DEFER,
62  M2MB_LWM2M_ACTION_MAX_NUM
63 } M2MB_LWM2M_ACK_ACTION_E;
64 
65 typedef enum
66 {
67  M2MB_LWM2MENA_CMD_TYPE_SET = 0,
68  M2MB_LWM2MENA_CMD_TYPE_READ,
69  M2MB_LWM2MENA_CMD_TYPE_MAX_NUM
70 } M2MB_LWM2MENA_CMD_TYPE_E;
71 
72 typedef enum
73 {
74  /* Responses */
75  M2MB_LWM2M_ENABLE_RES = 0,
76  M2MB_LWM2M_DISABLE_RES,
77  M2MB_LWM2M_ACK_RES,
78  M2MB_LWM2M_READ_RES,
79  M2MB_LWM2M_WRITE_RES,
80  M2MB_LWM2M_EXEC_RES,
81  M2MB_LWM2M_SET_RES,
82  M2MB_LWM2M_GET_RES,
83  M2MB_LWM2M_GET_STAT_RES,
84  M2MB_LWM2M_STS_RES,
85  M2MB_LWM2M_MON_RES,
86  M2MB_LWM2M_NEW_INST_RES,
87  M2MB_LWM2M_NFYACK_STATUS_RES,
88  M2MB_LWM2M_NFYACK_URI_RES,
89  M2MB_LWM2M_NFYACK_LIST_RES,
90  M2MB_LWM2M_GET_TYPE_RES,
93  M2MB_LWM2M_INJKEYS_RES,
94 
95  /* Indications */
96  M2MB_LWM2M_UPD_REG_IND = 30,
97  M2MB_LWM2M_SMS_PUSH_IND,
98  M2MB_LWM2M_NOTIFY_IND,
99  M2MB_LWM2M_NOTIFY_MON_IND,
100 
101  /* Special indications */
102  M2MB_LWM2M_CONN_REQ_IND = 60,
103  M2MB_LWM2M_SESSION_END_IND,
104  M2MB_LWM2M_SESSION_INFO_IND,
105  M2MB_LWM2M_SRV_INFO_IND,
106  M2MB_LWM2M_MON_INFO_IND,
107  M2MB_LWM2M_NFYACK_INFO_IND,
108  M2MB_LWM2M_EVENT_MAX_NUM
110 
111 
112 typedef enum
113 {
114  M2MB_LWM2M_CONNREQ_CAUSE_BOOTSTRAP,
115  M2MB_LWM2M_CONNREQ_CAUSE_REGISTRATION,
116  M2MB_LWM2M_CONNREQ_CAUSE_REREG,
117  M2MB_LWM2M_CONNREQ_CAUSE_UPDATE,
118  M2MB_LWM2M_CONNREQ_CAUSE_SMS,
119  M2MB_LWM2M_CONNREQ_CAUSE_NOTIFY,
120  M2MB_LWM2M_CONNREQ_CAUSE_DEREGISTRATION,
121  M2MB_LWM2M_CONNREQ_CAUSE_MAX_NUM
122 } M2MB_LWM2M_CONNREQ_CAUSE_E;
123 
124 
125 typedef enum
126 {
127  /* General purpouse result codes */
128  M2MB_LWM2M_RES_SUCCESS = 0,
129  M2MB_LWM2M_RES_FAIL,
130  M2MB_LWM2M_RES_FAIL_NO_ACTION,
131  M2MB_LWM2M_RES_FAIL_UNSUPPORTED,
132  M2MB_LWM2M_RES_FAIL_NOT_ALLOWED,
133  M2MB_LWM2M_RES_FAIL_BAD_ARGS,
134  M2MB_LWM2M_RES_FAIL_BAD_URI,
135 
136  /* Network result codes */
137  M2MB_LWM2M_RES_NETWORK_ERROR = 50,
138  M2MB_LWM2M_RES_HOST_UNREACH,
139  M2MB_LWM2M_RES_SOCKET_ERROR,
140  M2MB_LWM2M_RES_DTLS_ERROR,
141 
142  /* LWM2M result codes */
143  M2MB_LWM2M_RES_PROT_SUCCESS = 200,
144  M2MB_LWM2M_RES_PROT_NOT_FOUND,
145  M2MB_LWM2M_RES_PROT_NOT_ALLOWED,
146  M2MB_LWM2M_RES_PROT_UNSUPPORTED,
147  M2MB_LWM2M_RES_PROT_INTERNAL,
148  M2MB_LWM2M_RES_PROT_UNKNOWN
149 } M2MB_LWM2M_RESULT_E;
150 
151 typedef enum
152 {
153  M2MB_LWM2M_IF_STATE_NONE,
154 
155  M2MB_LWM2M_IF_STATE_DISABLED,
156  M2MB_LWM2M_IF_STATE_ACK_WAIT,
157  M2MB_LWM2M_IF_STATE_ACTIVE,
158  M2MB_LWM2M_IF_STATE_IDLE,
159  M2MB_LWM2M_IF_STATE_DEREG_WAIT,
160  M2MB_LWM2M_IF_STATE_DEREGISTERING,
161 
162  M2MB_LWM2M_IF_STATE_MAX
163 } M2MB_LWM2M_IF_STATE_E;
164 
165 
166 typedef enum
167 {
168  M2MB_LWM2M_CL_STATE_DISABLED,
169  M2MB_LWM2M_CL_STATE_BOOTSTRAPPING,
170  M2MB_LWM2M_CL_STATE_BOOTSTRAPPED,
171  M2MB_LWM2M_CL_STATE_REGISTERING,
172  M2MB_LWM2M_CL_STATE_REGISTERED,
173  M2MB_LWM2M_CL_STATE_DEREGISTERING,
174  M2MB_LWM2M_CL_STATE_SUSPENDED,
175 
176  M2MB_LWM2M_CL_STATE_MAX
177 } M2MB_LWM2M_CL_STATE_E;
178 
179 typedef enum
180 {
181  M2MB_LWM2M_SET_DATA_TYPE_INTEGER,
182  M2MB_LWM2M_SET_DATA_TYPE_FLOAT,
183  M2MB_LWM2M_SET_DATA_TYPE_STRING,
184  M2MB_LWM2M_SET_DATA_TYPE_HEX_BINARY,
185 
186  M2MB_LWM2M_SET_DATA_TYPE_MAX
187 } M2MB_LWM2M_SET_DATA_TYPE_E;
188 
189 typedef enum
190 {
191  M2MB_LWM2M_INFO_FOTA_REBOOT,
192  M2MB_LWM2M_INFO_DEVICE_REBOOT,
193  M2MB_LWM2M_INFO_RESOURCE_EXECUTE,
194 
195  M2MB_LWM2M_INFO_ID_MAX
196 } M2MB_LWM2M_INFO_ID_E;
197 
198 typedef enum
199 {
200  M2MB_LWM2M_MON_DISABLE = 0,
201  M2MB_LWM2M_MON_ENABLE,
202  M2MB_LWM2M_MON_MAX_NUM
203 } M2MB_LWM2M_MON_ACTION_E;
204 
205 typedef enum
206 {
207  M2MB_LWM2M_MON_MODE_SET_CMD = 0,
208  M2MB_LWM2M_MON_MODE_READ_CMD,
209  M2MB_LWM2M_MON_MODE_MAX_NUM
210 } M2MB_LWM2M_MON_MODE_E;
211 
216 typedef enum
217 {
224 
229 typedef enum
230 {
234 
239 typedef enum
240 {
245 
252 typedef enum
253 {
260 typedef enum
261 {
273  // arrays (for multiple resource instances) are their own type
282  // sentinel, do not remove
288 
289 typedef struct
290 {
291  M2MB_LWM2M_EN_MODE_E mode;
292  UINT8 apnclass;
293  UINT8 guardRequestEventSecs;
294  UINT8 guardReleaseEventSecs;
295  M2MB_LWM2MENA_CMD_TYPE_E commandType;
297 
298 typedef struct
299 {
300  M2MB_LWM2M_ACK_ACTION_E action;
301 // UINT16 defer_time;
303 
304 typedef struct
305 {
306  UINT8 uriLen; /* 'M2MB_LWM2M_URI_3_FIELDS' for avoiding use of resourceInst, 'M2MB_LWM2M_URI_4_FIELDS' for including all the 4 Uri fields */
307  UINT16 obj;
308  UINT16 objInst;
309  UINT16 resource;
310  UINT16 resourceInst;
312 
313 typedef struct
314 {
315  UINT16 obj;
316  UINT16 objInst;
318 
319 typedef struct
320 {
321  UINT8 uriLen; /* it represents the uri length; it should be 1 (in the case the only the URL has passed)
322  * or 2 (for URL and isBootstrapServer); if it is 1, the bootstrapRequest field is set to 0 */
323  CHAR *data; /* server's URL */
324  UINT32 dataLen; /* server's URL length */
325  UINT8 bootstrapRequest; /* 1 for bootstrap server, 0 for DM server */
326  UINT32 serverTableId; /* to be used in case the server is chosen by the predefined table, not used otherwise */
328 
335 typedef struct
336 {
337  CHAR endpoint_name[M2MB_LWM2M_MAX_ENDPOINT_NAME_LEN+1];
338  CHAR identity[M2MB_LWM2M_DTLS_PSK_MAX_KEY_LEN+1];
339  CHAR secret_key[M2MB_LWM2M_DTLS_PSK_MAX_KEY_LEN+1];
341 
348 typedef struct
349 {
350  M2MB_LWM2M_RESULT_E result;
352 
353 typedef struct
354 {
355  M2MB_LWM2M_RESULT_E result;
356  M2MB_LWM2M_IF_STATE_E status;
357  M2MB_LWM2M_EN_MODE_E mode;
358  UINT8 apnclass;
359  UINT8 guardRequestEventSecs;
360  UINT8 guardReleaseEventSecs;
361  CHAR clStatusString[LWM2M_STAT_STRING_MAX_LENGTH];
363 
364 typedef struct
365 {
366  M2MB_LWM2M_RESULT_E result;
367  M2MB_LWM2M_IF_STATE_E status;
369 
370 typedef struct
371 {
372  M2MB_LWM2M_RESULT_E result;
373  M2MB_LWM2M_IF_STATE_E status;
375 
376 typedef struct
377 {
378  M2MB_LWM2M_RESULT_E result;
379  M2MB_LWM2M_OBJ_URI_T reqURI;
380  void *data;
381  SIZE_T len;
382  M2MB_LWM2M_DATA_TYPE_E resType;
384 
385 typedef struct
386 {
387  M2MB_LWM2M_RESULT_E result;
388  M2MB_LWM2M_OBJ_URI_T reqURI;
389  void *data;
390  UINT16 len;
391  M2MB_LWM2M_DATA_TYPE_E resType;
392  UINT8 bstrap;
394 
395 typedef struct
396 {
397  M2MB_LWM2M_RESULT_E result;
398  M2MB_LWM2M_OBJ_URI_T reqURI;
400 
401 typedef struct
402 {
403  M2MB_LWM2M_RESULT_E result;
404  void *data;
405  UINT16 len;
406  M2MB_LWM2M_OBJ_URI_T reqURI;
408 
409 typedef struct
410 {
411  M2MB_LWM2M_RESULT_E result;
412  M2MB_LWM2M_OBJ_URI_T reqURI;
413  void *data;
414  UINT16 len;
416 
417 typedef struct
418 {
419  M2MB_LWM2M_RESULT_E result;
420  M2MB_LWM2M_IF_STATE_E status;
421  M2MB_LWM2M_CL_STATE_E clStatus;
422  UINT32 remainingSecs;
423  UINT32 remainingMsecs;
425 
426 typedef struct
427 {
428  M2MB_LWM2M_RESULT_E result;
430 
431 typedef struct
432 {
433  M2MB_LWM2M_RESULT_E result;
434  M2MB_LWM2M_OBJ_URI_T reqURI;
435  M2MB_LWM2M_DATA_TYPE_E resType;
437 
438 typedef struct
439 {
440  M2MB_LWM2M_CONNREQ_CAUSE_E reason;
441  UINT8 apnclass;
442  UINT32 timeLeft;
444 
445 typedef struct
446 {
447  M2MB_LWM2M_RESULT_E result;
448  M2MB_LWM2M_IF_STATE_E status;
449 
451 
452 typedef struct
453 {
454  M2MB_LWM2M_INFO_ID_E info;
455  void *data;
456  UINT32 dataLen;
458 
459 typedef struct
460 {
461  M2MB_LWM2M_CL_STATE_E info;
462  UINT16 shServerId;
463  void *data;
464  UINT32 dataLen;
466 
467 /* LWM2M Mon section */
468 typedef struct
469 {
470  M2MB_LWM2M_MON_MODE_E mode;
471  M2MB_LWM2M_MON_ACTION_E action;
473 
474 typedef struct
475 {
476  M2MB_LWM2M_RESULT_E result;
477  M2MB_LWM2M_MON_MODE_E mode;
478  void *data;
479  UINT16 dataLen;
481 
482 typedef struct
483 {
486 
487 /* LWM2M New Inst section */
488 typedef struct
489 {
490  UINT16 agent;
492 
493 typedef struct
494 {
495  M2MB_LWM2M_RESULT_E result;
497 
498 /* LWM2M Notify Ack section */
505 typedef struct
506 {
507  M2MB_LWM2M_RESULT_E result;
508  UINT16 agent;
509  BOOLEAN enabled;
511 
518 typedef struct
519 {
520  M2MB_LWM2M_RESULT_E result;
521  UINT16 agent;
523 
530 typedef struct
531 {
532  M2MB_LWM2M_RESULT_E result;
533  UINT16 agent;
537 
544 typedef struct
545 {
547  UINT16 agent;
548  UINT16 shServerId;
551 
552 /* LWM2M FOTA CFG */
557 typedef struct
558 {
561 
566 typedef struct
567 {
568  M2MB_LWM2M_RESULT_E result;
571 
572 /* LWM2M FOTA ACK */
577 typedef struct
578 {
581 
586 typedef struct
587 {
588  M2MB_LWM2M_RESULT_E result;
590 
591 typedef void ( *m2mb_lwm2m_ind_callback )( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_EVENT_E event, UINT16 resp_size, void *resp_struct, void *userdata );
592 
593 
594 /* Global functions =============================================================================*/
595 
596 /*-----------------------------------------------------------------------------------------------*/
642 /*-----------------------------------------------------------------------------------------------*/
643 M2MB_RESULT_E m2mb_lwm2m_init( M2MB_LWM2M_HANDLE *h, m2mb_lwm2m_ind_callback cb, void *cb_user_param );
644 
645 
646 /*-----------------------------------------------------------------------------------------------*/
682 /*-----------------------------------------------------------------------------------------------*/
683 M2MB_RESULT_E m2mb_lwm2m_deinit( M2MB_LWM2M_HANDLE h );
684 
685 
686 /*-----------------------------------------------------------------------------------------------*/
730 /*-----------------------------------------------------------------------------------------------*/
731 M2MB_RESULT_E m2mb_lwm2m_enable( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_ENABLE_REQ_T *en_params );
732 
733 /*-----------------------------------------------------------------------------------------------*/
778 /*-----------------------------------------------------------------------------------------------*/
779 M2MB_RESULT_E m2mb_lwm2m_disable( M2MB_LWM2M_HANDLE h );
780 
781 /*-----------------------------------------------------------------------------------------------*/
862 /*-----------------------------------------------------------------------------------------------*/
863 M2MB_RESULT_E m2mb_lwm2m_ack( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_ACK_REQ_T *ack );
864 
865 /*-----------------------------------------------------------------------------------------------*/
949 /*-----------------------------------------------------------------------------------------------*/
950 M2MB_RESULT_E m2mb_lwm2m_read( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *outbuf, UINT16 outbuflen );
951 
952 /*-----------------------------------------------------------------------------------------------*/
1035 /*-----------------------------------------------------------------------------------------------*/
1036 M2MB_RESULT_E m2mb_lwm2m_write( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *inbuf, UINT16 inbuflen );
1037 
1038 
1039 /*-----------------------------------------------------------------------------------------------*/
1111 /*-----------------------------------------------------------------------------------------------*/
1112 M2MB_RESULT_E m2mb_lwm2m_exec( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri );
1113 
1114 
1115 /*-----------------------------------------------------------------------------------------------*/
1202 /*-----------------------------------------------------------------------------------------------*/
1203 M2MB_RESULT_E m2mb_lwm2m_set( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *inbuf, UINT16 inbuflen );
1204 
1205 
1206 /*-----------------------------------------------------------------------------------------------*/
1288 /*-----------------------------------------------------------------------------------------------*/
1289 M2MB_RESULT_E m2mb_lwm2m_get( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *outbuf, UINT16 outbuflen );
1290 
1291 /*-----------------------------------------------------------------------------------------------*/
1355 /*-----------------------------------------------------------------------------------------------*/
1356 M2MB_RESULT_E m2mb_lwm2m_get_stat( M2MB_LWM2M_HANDLE h );
1357 
1358 /*-----------------------------------------------------------------------------------------------*/
1473 /*-----------------------------------------------------------------------------------------------*/
1474 M2MB_RESULT_E m2mb_lwm2m_sts( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_STS_URI_T *reqStsStructure );
1475 
1476 /*-----------------------------------------------------------------------------------------------*/
1611 /*-----------------------------------------------------------------------------------------------*/
1612 M2MB_RESULT_E m2mb_lwm2m_mon( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, M2MB_LWM2M_MON_REQ_T *mon_params );
1613 
1614 /*-----------------------------------------------------------------------------------------------*/
1714 /*-----------------------------------------------------------------------------------------------*/
1715 M2MB_RESULT_E m2mb_lwm2m_newinst( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, M2MB_LWM2M_NEW_INST_REQ_T *new_inst_params );
1716 
1717 /*-----------------------------------------------------------------------------------------------*/
1835 /*-----------------------------------------------------------------------------------------------*/
1836 M2MB_RESULT_E m2mb_lwm2m_nfy_ack_status( M2MB_LWM2M_HANDLE h, BOOLEAN set, BOOLEAN enable );
1837 
1838 /*-----------------------------------------------------------------------------------------------*/
1999 /*-----------------------------------------------------------------------------------------------*/
2000 M2MB_RESULT_E m2mb_lwm2m_nfy_ack_uri( M2MB_LWM2M_HANDLE h, BOOLEAN add, M2MB_LWM2M_OBJ_URI_T *uri );
2001 
2002 /*-----------------------------------------------------------------------------------------------*/
2163 /*-----------------------------------------------------------------------------------------------*/
2164 M2MB_RESULT_E m2mb_lwm2m_nfy_ack_list( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uriList, UINT8 listElementsNumber );
2165 
2166 /*-----------------------------------------------------------------------------------------------*/
2218 /*-----------------------------------------------------------------------------------------------*/
2219 M2MB_RESULT_E m2mb_lwm2m_agent_config( M2MB_LWM2M_HANDLE h, UINT16 agentID );
2220 
2221 /*-----------------------------------------------------------------------------------------------*/
2293 /*-----------------------------------------------------------------------------------------------*/
2294 M2MB_RESULT_E m2mb_lwm2m_get_resource_type( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, UINT16 *resType );
2295 
2370 M2MB_RESULT_E m2mb_lwm2m_fota_cfg( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_FOTA_CFG_REQ_T *cfg_params );
2371 
2446 M2MB_RESULT_E m2mb_lwm2m_fota_ack( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_FOTA_ACK_REQ_T *ack_params );
2447 
2520 M2MB_RESULT_E m2mb_lwm2m_injkeys( M2MB_LWM2M_HANDLE h, M2MB_LWM2M_KEY_ACTION_E action, M2MB_LWM2M_KEYS_T *keys );
2521 #endif
2522 
m2mb_lwm2m_get_stat
M2MB_RESULT_E m2mb_lwm2m_get_stat(M2MB_LWM2M_HANDLE h)
m2mb_lwm2m_get_stat reads the current status of the LwM2M client
M2MB_LWM2M_FOTA_ACK_REQ_T
the m2mb_lwm2m_fota_ack request data structure
Definition: m2mb_lwm2m.h:577
M2MB_LWM2M_FOTA_MODE_E
M2MB_LWM2M_FOTA_MODE_E
the fota modes supported by the m2mb lwm2m
Definition: m2mb_lwm2m.h:216
M2MB_LWM2M_DATA_TYPE_OPAQUE
Definition: m2mb_lwm2m.h:269
M2MB_LWM2M_OBJ_LINK_T
Definition: m2mb_lwm2m.h:313
M2MB_LWM2M_ENABLE_REQ_T
Definition: m2mb_lwm2m.h:289
M2MB_LWM2M_SESSION_END_IND_T
Definition: m2mb_lwm2m.h:445
M2MB_LWM2M_MON_INFO_IND_T
Definition: m2mb_lwm2m.h:482
m2mb_lwm2m_get_resource_type
M2MB_RESULT_E m2mb_lwm2m_get_resource_type(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, UINT16 *resType)
m2mb_lwm2m_get_resource_type propagates the resource type for a required resource.
M2MB_LWM2M_DATA_TYPE_STRING
Definition: m2mb_lwm2m.h:265
M2MB_LWM2M_FOTA_ACK_RES_T
the m2mb_lwm2m_fota_ack response data structure
Definition: m2mb_lwm2m.h:586
M2MB_LWM2M_FOTA_ACK_REQ_T::action
M2MB_LWM2M_FOTA_ACK_E action
Definition: m2mb_lwm2m.h:579
M2MB_LWM2M_FOTA_CFG_REQ_T::mode
M2MB_LWM2M_FOTA_MODE_E mode
Definition: m2mb_lwm2m.h:559
M2MB_LWM2M_NFYACK_INFO_IND_T::nfyState
M2MB_LWM2M_NFY_STATE_E nfyState
Definition: m2mb_lwm2m.h:549
M2MB_LWM2M_FOTA_CFG_RES_T::mode
M2MB_LWM2M_FOTA_MODE_E mode
Definition: m2mb_lwm2m.h:569
M2MB_LWM2M_DATA_TYPE_STRINGARRAY
Definition: m2mb_lwm2m.h:274
M2MB_LWM2M_FOTA_CFG_RES
Definition: m2mb_lwm2m.h:91
M2MB_LWM2M_NFYACK_URI_RES_T::agent
UINT16 agent
Definition: m2mb_lwm2m.h:521
M2MB_LWM2M_NFY_STATE_MISSING
Definition: m2mb_lwm2m.h:241
M2MB_LWM2M_NFYACK_LIST_RES_T::result
M2MB_LWM2M_RESULT_E result
Definition: m2mb_lwm2m.h:532
M2MB_LWM2M_DATA_TYPE_INTEGERARRAY
Definition: m2mb_lwm2m.h:275
M2MB_LWM2M_KEY_MAX_ACTION
Definition: m2mb_lwm2m.h:258
M2MB_LWM2M_FOTA_ACK_MAX_NUM
Definition: m2mb_lwm2m.h:232
M2MB_LWM2M_MON_RES_T
Definition: m2mb_lwm2m.h:474
M2MB_LWM2M_DISABLE_RES_T
Definition: m2mb_lwm2m.h:364
M2MB_LWM2M_KEYS_T
Definition: m2mb_lwm2m.h:335
M2MB_LWM2M_DATA_TYPE_NONE
Definition: m2mb_lwm2m.h:264
M2MB_LWM2M_DATA_TYPE_OBJECTLINK
Definition: m2mb_lwm2m.h:271
m2mb_lwm2m_get
M2MB_RESULT_E m2mb_lwm2m_get(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *outbuf, UINT16 outbuflen)
m2mb_lwm2m_get reads the value of a LwM2M resource at module side
m2mb_lwm2m_enable
M2MB_RESULT_E m2mb_lwm2m_enable(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_ENABLE_REQ_T *en_params)
m2mb_lwm2m_enable starts LwM2M client registration
M2MB_LWM2M_DATA_TYPE_LAST
Definition: m2mb_lwm2m.h:283
M2MB_LWM2M_FOTA_CFG_RES_T::result
M2MB_LWM2M_RESULT_E result
Definition: m2mb_lwm2m.h:568
m2mb_lwm2m_ack
M2MB_RESULT_E m2mb_lwm2m_ack(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_ACK_REQ_T *ack)
m2mb_lwm2m_ack informs LwM2M client about network availability
M2MB_LWM2M_DATA_TYPE_FIRSTARRAYTYPE
Definition: m2mb_lwm2m.h:285
M2MB_LWM2M_MON_REQ_T
Definition: m2mb_lwm2m.h:468
M2MB_LWM2M_KEY_ACTION_E
M2MB_LWM2M_KEY_ACTION_E
Definition: m2mb_lwm2m.h:252
m2mb_lwm2m_fota_ack
M2MB_RESULT_E m2mb_lwm2m_fota_ack(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_FOTA_ACK_REQ_T *ack_params)
m2mb_lwm2m_fota_ack sends the ack for the required operation.
M2MB_LWM2M_FOTA_MODE_ACK_ALL
Definition: m2mb_lwm2m.h:221
M2MB_LWM2M_INFO_IND_T
Definition: m2mb_lwm2m.h:452
M2MB_LWM2M_GET_STAT_RES_T
Definition: m2mb_lwm2m.h:417
M2MB_LWM2M_OBJ_URI_T
Definition: m2mb_lwm2m.h:304
m2mb_lwm2m_newinst
M2MB_RESULT_E m2mb_lwm2m_newinst(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, M2MB_LWM2M_NEW_INST_REQ_T *new_inst_params)
m2mb_lwm2m_newinst creates a specified instance for a specified object
m2mb_lwm2m_deinit
M2MB_RESULT_E m2mb_lwm2m_deinit(M2MB_LWM2M_HANDLE h)
m2mb_lwm2m_deinit deinitializes LwM2M service for current client.
M2MB_LWM2M_ACK_RES_T
Definition: m2mb_lwm2m.h:370
m2mb_lwm2m_disable
M2MB_RESULT_E m2mb_lwm2m_disable(M2MB_LWM2M_HANDLE h)
m2mb_lwm2m_disable triggers LwM2M client deregistration.
M2MB_LWM2M_NFY_STATE_ACK_RECEIVED
Definition: m2mb_lwm2m.h:242
M2MB_LWM2M_EXEC_RES_T
Definition: m2mb_lwm2m.h:395
M2MB_LWM2M_READ_RES_T
Definition: m2mb_lwm2m.h:376
M2MB_LWM2M_NEW_INST_REQ_T
Definition: m2mb_lwm2m.h:488
M2MB_LWM2M_FOTA_ACK_RES
Definition: m2mb_lwm2m.h:92
M2MB_LWM2M_CONN_REQ_IND_T
Definition: m2mb_lwm2m.h:438
M2MB_LWM2M_NFYACK_INFO_IND_T
Definition: m2mb_lwm2m.h:544
M2MB_LWM2M_DATA_TYPE_OPAQUEARRAY
Definition: m2mb_lwm2m.h:278
M2MB_LWM2M_NFYACK_LIST_RES_T::agent
UINT16 agent
Definition: m2mb_lwm2m.h:533
m2mb_lwm2m_write
M2MB_RESULT_E m2mb_lwm2m_write(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *inbuf, UINT16 inbuflen)
m2mb_lwm2m_write writes the LwM2M resource at the given URI
M2MB_LWM2M_FOTA_MODE_DEFAULT
Definition: m2mb_lwm2m.h:218
M2MB_LWM2M_DATA_TYPE_E
M2MB_LWM2M_DATA_TYPE_E
Definition: m2mb_lwm2m.h:260
M2MB_LWM2M_WRITE_RES_T
Definition: m2mb_lwm2m.h:385
M2MB_LWM2M_KEY_DELETE_ID_AND_SECRET
Definition: m2mb_lwm2m.h:256
M2MB_LWM2M_GET_TYPE_RES_T
Definition: m2mb_lwm2m.h:431
M2MB_LWM2M_DATA_TYPE_FLOAT
Definition: m2mb_lwm2m.h:267
M2MB_LWM2M_NFYACK_STATUS_RES_T::agent
UINT16 agent
Definition: m2mb_lwm2m.h:508
M2MB_LWM2M_NFYACK_INFO_IND_T::agent
UINT16 agent
Definition: m2mb_lwm2m.h:547
M2MB_LWM2M_FOTA_MODE_ACK_UPD
Definition: m2mb_lwm2m.h:220
M2MB_LWM2M_NEW_INST_RES_T
Definition: m2mb_lwm2m.h:493
m2mb_lwm2m_injkeys
M2MB_RESULT_E m2mb_lwm2m_injkeys(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_KEY_ACTION_E action, M2MB_LWM2M_KEYS_T *keys)
m2mb_lwm2m_injkeys allows to inject or delete Endpoint Name and Keys for a given agent.
m2mb_lwm2m_set
M2MB_RESULT_E m2mb_lwm2m_set(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *inbuf, UINT16 inbuflen)
m2mb_lwm2m_set sets the value of a LwM2M resource at module side
M2MB_LWM2M_FOTA_ACK_RES_T::result
M2MB_LWM2M_RESULT_E result
Definition: m2mb_lwm2m.h:588
M2MB_LWM2M_FOTA_CFG_REQ_T
the m2mb_lwm2m_fota_cfg request data structure
Definition: m2mb_lwm2m.h:557
M2MB_LWM2M_RES_T
Definition: m2mb_lwm2m.h:348
M2MB_LWM2M_DATA_TYPE_LASTARRAYTYPE
Definition: m2mb_lwm2m.h:286
M2MB_LWM2M_ACK_REQ_T
Definition: m2mb_lwm2m.h:298
M2MB_LWM2M_DATA_TYPE_INVALID
Definition: m2mb_lwm2m.h:262
M2MB_LWM2M_GET_RES_T
Definition: m2mb_lwm2m.h:409
M2MB_LWM2M_NFYACK_INFO_IND_T::uri
M2MB_LWM2M_OBJ_URI_T uri
Definition: m2mb_lwm2m.h:546
M2MB_LWM2M_NFY_STATE_MAX_NUM
Definition: m2mb_lwm2m.h:243
M2MB_LWM2M_RES_T::result
M2MB_LWM2M_RESULT_E result
Definition: m2mb_lwm2m.h:350
M2MB_LWM2M_EVENT_E
M2MB_LWM2M_EVENT_E
Definition: m2mb_lwm2m.h:72
m2mb_lwm2m_nfy_ack_uri
M2MB_RESULT_E m2mb_lwm2m_nfy_ack_uri(M2MB_LWM2M_HANDLE h, BOOLEAN add, M2MB_LWM2M_OBJ_URI_T *uri)
m2mb_lwm2m_nfy_ack_uri adds or removes a resource URI to the list for Notify Ack reporting
M2MB_LWM2M_KEY_CREATE
Definition: m2mb_lwm2m.h:254
M2MB_LWM2M_SET_RES_T
Definition: m2mb_lwm2m.h:401
M2MB_LWM2M_NFYACK_LIST_RES_T::uriList
M2MB_LWM2M_OBJ_URI_T * uriList
Definition: m2mb_lwm2m.h:534
M2MB_LWM2M_DATA_TYPE_TIME
Definition: m2mb_lwm2m.h:270
M2MB_LWM2M_DATA_TYPE_BOOLEANARRAY
Definition: m2mb_lwm2m.h:277
M2MB_LWM2M_STS_RES_T
Definition: m2mb_lwm2m.h:426
M2MB_LWM2M_KEY_DELETE_ALL
Definition: m2mb_lwm2m.h:257
M2MB_LWM2M_DATA_TYPE_BOOLEAN
Definition: m2mb_lwm2m.h:268
M2MB_LWM2M_FOTA_MODE_MAX_NUM
Definition: m2mb_lwm2m.h:222
M2MB_LWM2M_FOTA_CFG_RES_T
the m2mb_lwm2m_fota_cfg response data structure
Definition: m2mb_lwm2m.h:566
M2MB_LWM2M_NFYACK_STATUS_RES_T::result
M2MB_LWM2M_RESULT_E result
Definition: m2mb_lwm2m.h:507
M2MB_LWM2M_NFYACK_LIST_RES_T::listElementsNumber
UINT8 listElementsNumber
Definition: m2mb_lwm2m.h:535
m2mb_lwm2m_mon
M2MB_RESULT_E m2mb_lwm2m_mon(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, M2MB_LWM2M_MON_REQ_T *mon_params)
m2mb_lwm2m_mon sets the monitoring status an LwM2M resource at module side
m2mb_lwm2m_agent_config
M2MB_RESULT_E m2mb_lwm2m_agent_config(M2MB_LWM2M_HANDLE h, UINT16 agentID)
m2mb_lwm2m_agent_config propagates the specified client for a specific operation (such as read,...
M2MB_LWM2M_NFYACK_URI_RES_T
Definition: m2mb_lwm2m.h:518
M2MB_LWM2M_NFYACK_STATUS_RES_T
Definition: m2mb_lwm2m.h:505
M2MB_LWM2M_NFYACK_URI_RES_T::result
M2MB_LWM2M_RESULT_E result
Definition: m2mb_lwm2m.h:520
m2mb_lwm2m_sts
M2MB_RESULT_E m2mb_lwm2m_sts(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_STS_URI_T *reqStsStructure)
m2mb_lwm2m_sts sets the next server's address
M2MB_LWM2M_FOTA_ACK_ALL
Definition: m2mb_lwm2m.h:231
m2mb_lwm2m_read
M2MB_RESULT_E m2mb_lwm2m_read(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri, void *outbuf, UINT16 outbuflen)
m2mb_lwm2m_read reads the LwM2M resource at the given URI
M2MB_LWM2M_NFYACK_STATUS_RES_T::enabled
BOOLEAN enabled
Definition: m2mb_lwm2m.h:509
M2MB_LWM2M_KEY_DELETE_EP_NAME
Definition: m2mb_lwm2m.h:255
M2MB_LWM2M_FOTA_MODE_ACK_DWL
Definition: m2mb_lwm2m.h:219
m2mb_lwm2m_nfy_ack_status
M2MB_RESULT_E m2mb_lwm2m_nfy_ack_status(M2MB_LWM2M_HANDLE h, BOOLEAN set, BOOLEAN enable)
m2mb_lwm2m_nfy_ack_status sets or gets the flag to enable or disable Notify Ack reporting
M2MB_LWM2M_DATA_TYPE_TIMEARRAY
Definition: m2mb_lwm2m.h:279
m2mb_lwm2m_fota_cfg
M2MB_RESULT_E m2mb_lwm2m_fota_cfg(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_FOTA_CFG_REQ_T *cfg_params)
m2mb_lwm2m_fota_cfg sets and stores the fota mode.
M2MB_LWM2M_SRV_INFO_IND_T
Definition: m2mb_lwm2m.h:459
m2mb_lwm2m_nfy_ack_list
M2MB_RESULT_E m2mb_lwm2m_nfy_ack_list(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uriList, UINT8 listElementsNumber)
m2mb_lwm2m_nfy_ack_list retrieves the list for Notify Ack reporting
m2mb_lwm2m_init
M2MB_RESULT_E m2mb_lwm2m_init(M2MB_LWM2M_HANDLE *h, m2mb_lwm2m_ind_callback cb, void *cb_user_param)
m2mb_lwm2m_init initializes, for current client, the capability to interact with LwM2M agent.
M2MB_LWM2M_DATA_TYPE_OBJECTLINKARRAY
Definition: m2mb_lwm2m.h:280
M2MB_LWM2M_ENABLE_RES_T
Definition: m2mb_lwm2m.h:353
M2MB_LWM2M_NFY_STATE_E
M2MB_LWM2M_NFY_STATE_E
Definition: m2mb_lwm2m.h:239
M2MB_LWM2M_STS_URI_T
Definition: m2mb_lwm2m.h:319
m2mb_lwm2m_exec
M2MB_RESULT_E m2mb_lwm2m_exec(M2MB_LWM2M_HANDLE h, M2MB_LWM2M_OBJ_URI_T *uri)
m2mb_lwm2m_exec executes the LwM2M resource at the given URI
M2MB_LWM2M_DATA_TYPE_INTEGER
Definition: m2mb_lwm2m.h:266
M2MB_LWM2M_NFYACK_INFO_IND_T::shServerId
UINT16 shServerId
Definition: m2mb_lwm2m.h:548
M2MB_LWM2M_FOTA_ACK_E
M2MB_LWM2M_FOTA_ACK_E
Definition: m2mb_lwm2m.h:229
M2MB_LWM2M_NFYACK_LIST_RES_T
Definition: m2mb_lwm2m.h:530
M2MB_LWM2M_DATA_TYPE_FLOATARRAY
Definition: m2mb_lwm2m.h:276