7 typedef struct udi_instance_attr_list_s udi_instance_attr_list_t;
8 typedef udi_ubit8_t udi_instance_attr_type_t;
10 /* Instance attribute limits */
11 #define UDI_MAX_ATTR_NAMELEN 32
12 #define UDI_MAX_ATTR_SIZE 64
14 #define UDI_ATTR32_SET(aval, v) \
15 { udi_ubit32_t vtmp = (v); \
16 (aval)[0] = (vtmp) & 0xff; \
17 (aval)[1] = ((vtmp) >> 8) & 0xff; \
18 (aval)[2] = ((vtmp) >> 16) & 0xff; \
19 (aval)[3] = ((vtmp) >> 24) & 0xff; }
20 #define UDI_ATTR32_GET(aval) \
21 ((aval)[0] + ((aval)[1] << 8) + \
22 ((aval)[2] << 16) + ((aval)[3] << 24))
23 #define UDI_ATTR32_INIT(v) \
24 { (v) & 0xff, ((v) >> 8) & 0xff, \
25 ((v) >> 16) & 0xff, ((v) >> 24) & 0xff }
28 * \brief Instance Attribute
30 struct udi_instance_attr_list_s
32 char attr_name[UDI_MAX_ATTR_NAMELEN];
33 udi_ubit8_t attr_value[UDI_MAX_ATTR_SIZE];
34 udi_ubit8_t attr_length;
35 udi_instance_attr_type_t attr_type;
40 * \brief Instance Attribute Types
41 * \see ::udi_instance_attr_type_t