Go to the source code of this file.
 | 
| #define  | LWM2M_PATH(...) | 
|   | Generate LwM2M string paths using numeric components.  More...
  | 
|   | 
| #define  | LWM2M_PATH_VA_NUM_ARGS(...)   	LWM2M_PATH_VA_NUM_ARGS_IMPL(__VA_ARGS__, 5, 4, 3, 2, 1) | 
|   | 
| #define  | LWM2M_PATH_VA_NUM_ARGS_IMPL(_1,  _2,  _3,  _4,  N, ...)   N | 
|   | 
| #define  | LWM2M_PATH1(_x)   #_x | 
|   | 
| #define  | LWM2M_PATH2(_x,  _y)   #_x "/" #_y | 
|   | 
| #define  | LWM2M_PATH3(_x,  _y,  _z)   #_x "/" #_y "/" #_z | 
|   | 
| #define  | LWM2M_PATH4(_a,  _x,  _y,  _z)   #_a "/" #_x "/" #_y "/" #_z | 
|   | 
| #define  | LWM2M_PATH_MACRO(_1,  _2,  _3,  _4,  NAME, ...)   NAME | 
|   | 
| #define  | LWM2M_OBJ(...)   	GET_OBJ_MACRO(__VA_ARGS__, LWM2M_OBJ4, LWM2M_OBJ3, LWM2M_OBJ2, LWM2M_OBJ1)(__VA_ARGS__) | 
|   | Initialize LwM2M object structure.  More...
  | 
|   | 
| #define  | GET_OBJ_MACRO(_1,  _2,  _3,  _4,  NAME, ...)   NAME | 
|   | 
| #define  | LWM2M_OBJ1(oi)   (struct lwm2m_obj_path) {.obj_id = oi, .level = 1} | 
|   | 
| #define  | LWM2M_OBJ2(oi,  oii)   (struct lwm2m_obj_path) {.obj_id = oi, .obj_inst_id = oii, .level = 2} | 
|   | 
| #define  | LWM2M_OBJ3(oi,  oii,  ri) | 
|   | 
| #define  | LWM2M_OBJ4(oi,  oii,  ri,  rii) | 
|   | 
◆ GET_OBJ_MACRO
      
        
          | #define GET_OBJ_MACRO | 
          ( | 
            | 
          _1,  | 
        
        
           | 
           | 
            | 
          _2,  | 
        
        
           | 
           | 
            | 
          _3,  | 
        
        
           | 
           | 
            | 
          _4,  | 
        
        
           | 
           | 
            | 
          NAME,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |    NAME | 
        
      
 
 
◆ LWM2M_OBJ
Initialize LwM2M object structure. 
Accepts at least one and up to four arguments. Fill up lwm2m_obj_path structure and sets the level. For example:
struct lwm2m_obj_path p = LWM2M_OBJ(MY_OBJ, 0, RESOURCE);
Can also be used in place of function argument to return the structure allocated from stack
lwm2m_notify_observer_path(&LWM2M_OBJ(MY_OBJ, inst_id, RESOURCE)); 
 
 
◆ LWM2M_OBJ1
      
        
          | #define LWM2M_OBJ1 | 
          ( | 
            | 
          oi | ) | 
             (struct lwm2m_obj_path) {.obj_id = oi, .level = 1} | 
        
      
 
 
◆ LWM2M_OBJ2
      
        
          | #define LWM2M_OBJ2 | 
          ( | 
            | 
          oi,  | 
        
        
           | 
           | 
            | 
          oii  | 
        
        
           | 
          ) | 
           |    (struct lwm2m_obj_path) {.obj_id = oi, .obj_inst_id = oii, .level = 2} | 
        
      
 
 
◆ LWM2M_OBJ3
      
        
          | #define LWM2M_OBJ3 | 
          ( | 
            | 
          oi,  | 
        
        
           | 
           | 
            | 
          oii,  | 
        
        
           | 
           | 
            | 
          ri  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
        {.obj_id = oi, .obj_inst_id = oii, .res_id = ri, .level = 3}
 
 
 
◆ LWM2M_OBJ4
      
        
          | #define LWM2M_OBJ4 | 
          ( | 
            | 
          oi,  | 
        
        
           | 
           | 
            | 
          oii,  | 
        
        
           | 
           | 
            | 
          ri,  | 
        
        
           | 
           | 
            | 
          rii  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
        {.obj_id = oi, .obj_inst_id = oii, .res_id = ri, .res_inst_id = rii, .level = 4}
 
 
 
◆ LWM2M_PATH
      
        
          | #define LWM2M_PATH | 
          ( | 
            | 
          ... | ) | 
           | 
        
      
 
Value:
#define LWM2M_PATH3(_x, _y, _z)
Definition: lwm2m_path.h:39
 
#define LWM2M_PATH4(_a, _x, _y, _z)
Definition: lwm2m_path.h:40
 
#define LWM2M_PATH1(_x)
Definition: lwm2m_path.h:37
 
#define LWM2M_PATH_MACRO(_1, _2, _3, _4, NAME,...)
Definition: lwm2m_path.h:42
 
#define LWM2M_PATH2(_x, _y)
Definition: lwm2m_path.h:38
 
 
Generate LwM2M string paths using numeric components. 
Accepts at least one and up to four arguments. Each argument will be stringified by the pre-processor, so calling this with non-literals will likely not do what you want. For example, 
 #define MY_OBJ_ID 3
 LWM2M_PATH(MY_OBJ_ID, 0, 1)
 would evaluate to "3/0/1", while
int x = 3; LWM2M_PATH(x, 0, 1)
evaluates to "x/0/1". 
 
 
◆ LWM2M_PATH1
      
        
          | #define LWM2M_PATH1 | 
          ( | 
            | 
          _x | ) | 
             #_x | 
        
      
 
 
◆ LWM2M_PATH2
      
        
          | #define LWM2M_PATH2 | 
          ( | 
            | 
          _x,  | 
        
        
           | 
           | 
            | 
          _y  | 
        
        
           | 
          ) | 
           |    #_x "/" #_y | 
        
      
 
 
◆ LWM2M_PATH3
      
        
          | #define LWM2M_PATH3 | 
          ( | 
            | 
          _x,  | 
        
        
           | 
           | 
            | 
          _y,  | 
        
        
           | 
           | 
            | 
          _z  | 
        
        
           | 
          ) | 
           |    #_x "/" #_y "/" #_z | 
        
      
 
 
◆ LWM2M_PATH4
      
        
          | #define LWM2M_PATH4 | 
          ( | 
            | 
          _a,  | 
        
        
           | 
           | 
            | 
          _x,  | 
        
        
           | 
           | 
            | 
          _y,  | 
        
        
           | 
           | 
            | 
          _z  | 
        
        
           | 
          ) | 
           |    #_a "/" #_x "/" #_y "/" #_z | 
        
      
 
 
◆ LWM2M_PATH_MACRO
      
        
          | #define LWM2M_PATH_MACRO | 
          ( | 
            | 
          _1,  | 
        
        
           | 
           | 
            | 
          _2,  | 
        
        
           | 
           | 
            | 
          _3,  | 
        
        
           | 
           | 
            | 
          _4,  | 
        
        
           | 
           | 
            | 
          NAME,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |    NAME | 
        
      
 
 
◆ LWM2M_PATH_VA_NUM_ARGS
◆ LWM2M_PATH_VA_NUM_ARGS_IMPL
      
        
          | #define LWM2M_PATH_VA_NUM_ARGS_IMPL | 
          ( | 
            | 
          _1,  | 
        
        
           | 
           | 
            | 
          _2,  | 
        
        
           | 
           | 
            | 
          _3,  | 
        
        
           | 
           | 
            | 
          _4,  | 
        
        
           | 
           | 
            | 
          N,  | 
        
        
           | 
           | 
            | 
          ...  | 
        
        
           | 
          ) | 
           |    N |