+typedef void udi_instance_attr_get_call_t(udi_cb_t *gcb, udi_instance_attr_type_t attr_type, udi_size_t actual_length);
+
+extern void udi_instance_attr_get(udi_instance_attr_get_call_t *callback, udi_cb_t *gcb,
+ const char *attr_name, udi_ubit32_t child_ID,
+ void *attr_value, udi_size_t attr_length
+ );
+
+typedef void udi_instance_attr_set_call_t(udi_cb_t *gcb, udi_status_t status);
+
+extern void udi_instance_attr_set(udi_instance_attr_set_call_t *callback, udi_cb_t *gcb,
+ const char *attr_name, udi_ubit32_t child_ID,
+ const void *attr_value, udi_size_t attr_length, udi_ubit8_t attr_type
+ );
+
+#define UDI_INSTANCE_ATTR_DELETE(callback, gcb, attr_name) \
+ udi_instance_attr_set(callbac, gcb, attr_name, NULL, NULL, 0, UDI_ATTR_NONE)
+