UDI/buf - buf_copy/buf_free/fixes
[tpg/acess2.git] / KernelLand / Modules / Interfaces / UDI / udi_lib / physio / meta_bus.c
index 1aed3ab..0c21222 100644 (file)
@@ -6,10 +6,10 @@
  * - Bus Bridge Metalanguage
  */
 #define DEBUG  1
-#include <acess.h>
 #include <udi.h>
 #include <udi_physio.h>
-#include "../../udi_internal.h"
+#include <acess.h>
+#include <udi_internal.h>
 
 #define USE_MEI        0
 
@@ -198,6 +198,13 @@ udi_layout_t       udi_meta_info__bridge__intr_detach_cb[] = {
        UDI_DL_INDEX_T,
        UDI_DL_END
 };
+udi_layout_t   udi_meta_info__bridge__intr_event_cb[] = {
+       UDI_DL_END
+};
+
+udi_layout_t   _BUS_BIND_cb_layout[] = {
+       UDI_DL_END
+};
 
 #if USE_MEI
 udi_layout_t   _noargs_marshal[] = {
@@ -214,10 +221,18 @@ udi_layout_t      _udi_intr_attach_ack_marshal[] = {
        UDI_DL_END
 };
 
+#define UDI__OPS_NUM   0
+#define MEI_OPINFO(name,cat,flags,cbtype,rsp_ops,rsp_idx,err_ops,err_idx)      \
+       {#name, UDI_MEI_OPCAT_##cat,flags,UDI_##cbtype##_CB_NUM, \
+               UDI_##rsp_ops##_OPS_NUM,rsp_idx,UDI_##err_ops##_OPS_NUM,err_idx, \
+               name##_direct, name##_backend, _##cbtype##_cb_layout, _##name##_marshal_layout }
+
 udi_mei_op_template_t  udi_meta_info__bridge__bus_ops[] = {
-       {"udi_bus_bind_req", UDI_MEI_OPCAT_REQ, 0, UDI_BUS_BIND_CB_NUM, UDI_BUS_DEVICE_OPS_NUM,1, 0,0,
-               udi_bus_bind_req_direct, udi_bus_bind_req_backend, udi_meta_info__bridge__bus_bind_cb,
-               _noargs_marshal},
+       #define _udi_bus_bind_req_marshal_layout        _noargs_marshal
+       MEI_OPINFO(udi_bus_bind_req, REQ, 0, BUS_BIND, BUS_DEVICE,1, ,0),
+//     {"udi_bus_bind_req", UDI_MEI_OPCAT_REQ, 0, UDI_BUS_BIND_CB_NUM, UDI_BUS_DEVICE_OPS_NUM,1, 0,0,
+//             udi_bus_bind_req_direct, udi_bus_bind_req_backend, udi_meta_info__bridge__bus_bind_cb,
+//             _noargs_marshal},
        {"udi_bus_unbind_req", UDI_MEI_OPCAT_REQ, 0, UDI_BUS_BIND_CB_NUM, UDI_BUS_DEVICE_OPS_NUM,2, 0,0,
                udi_bus_unbind_req_direct, udi_bus_unbind_req_backend, udi_meta_info__bridge__bus_bind_cb,
                _noargs_marshal},
@@ -256,13 +271,18 @@ udi_mei_init_t    udi_meta_info__bridge = {
 #endif
 tUDI_MetaLang  cMetaLang_BusBridge = {
        "udi_bridge",
+       #if USE_MEI
+       &udi_meta_info__bridge,
+       #else
+       NULL,
+       #endif
        // CB Types
        5,
        {
                {0},    // 0: Empty
-               {sizeof(udi_bus_bind_cb_t), udi_meta_info__bridge__bus_bind_cb},
-               {sizeof(udi_intr_attach_cb_t), udi_meta_info__bridge__intr_attach_cb},
-               {sizeof(udi_intr_detach_cb_t), udi_meta_info__bridge__intr_detach_cb},
-               {sizeof(udi_intr_event_cb_t), NULL}
+               {sizeof(udi_bus_bind_cb_t),    0, udi_meta_info__bridge__bus_bind_cb},
+               {sizeof(udi_intr_attach_cb_t), 0, udi_meta_info__bridge__intr_attach_cb},
+               {sizeof(udi_intr_detach_cb_t), 0, udi_meta_info__bridge__intr_detach_cb},
+               {sizeof(udi_intr_event_cb_t),  0, NULL}
        }
 };

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