354278e4ef2f7ca2d74e3e8516dc848188388054
[tpg/acess2.git] / Modules / UDI / include / _udi / meta_mgmt.h
1 /*
2  * Acess2 UDI Support
3  * _udi/meta_mgmt.h
4  * - Mangement Metalanguage
5  */
6 #ifndef _UDI_META_MGMT_H_
7 #define _UDI_META_MGMT_H_
8
9 typedef struct {
10         udi_cb_t        gcb;
11 } udi_mgmt_cb_t;
12
13 typedef struct {
14         udi_cb_t        gcb;
15         udi_trevent_t   trace_mask;
16         udi_index_t     meta_idx;
17 } udi_usage_cb_t;
18
19 typedef struct {
20         udi_cb_t        gcb;
21         udi_ubit32_t    child_ID;
22         void    *child_data;
23         udi_instance_attr_list_t        *attr_list;
24         udi_ubit8_t     attr_valid_length;
25         const udi_filter_element_t      *filter_list;
26         udi_ubit8_t     filter_list_length;
27         udi_ubit8_t     parent_ID;
28 } udi_enumerate_cb_t;
29
30
31 typedef void udi_usage_ind_op_t(udi_usage_cb_t *, udi_ubit8_t);
32 typedef void udi_enumerate_req_op_t(udi_enumerate_cb_t *, udi_ubit8_t);
33 typedef void udi_devmgmt_req_op_t(udi_mgmt_cb_t *, udi_ubit8_t);
34 typedef void udi_final_cleanup_req_op_t(udi_mgmt_cb_t *);
35
36 typedef const struct {
37         udi_usage_ind_op_t      *usage_ind_op;
38         udi_enumerate_req_op_t  *enumerate_req_op;
39         udi_devmgmt_req_op_t    *devmgmt_req_op;
40         udi_final_cleanup_req_op_t      *final_cleanup_req_op;
41 } udi_mgmt_ops_t;
42
43 extern void udi_devmgmt_ack(udi_mgmt_cb_t *cb, udi_ubit8_t flags, udi_status_t status)
44 /* Values for flags */
45 #define UDI_DMGMT_NONTRANSPARENT        (1U<<0)
46 /* Meta-Specific Status Codes */
47 #define UDI_DMGMT_STAT_ROUTING_CHANGE   (UDI_STAT_META_SPECIFIC|1)
48
49 #endif

UCC git Repository :: git.ucc.asn.au