Modules/UDI - Moved UDI headers to /UDI/include
[tpg/acess2.git] / KernelLand / Modules / Interfaces / UDI / include / udi / mei.h
diff --git a/KernelLand/Modules/Interfaces/UDI/include/udi/mei.h b/KernelLand/Modules/Interfaces/UDI/include/udi/mei.h
deleted file mode 100644 (file)
index ef76405..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Acess2 UDI Layer
- * - By John Hodge (thePowersGang)
- *
- * include/udi/mei.h
- * - Metalanguage-to-Environment Interface
- */
-#ifndef _UDI__MEI_H_
-#define _UDI__MEI_H_
-
-typedef const struct udi_mei_init_s    udi_mei_init_t;
-typedef const struct udi_mei_ops_vec_template_s        udi_mei_ops_vec_template_t;
-typedef const struct uid_mei_op_template_s     uid_mei_op_template_t;
-
-typedef udi_ubit8_t udi_mei_enumeration_rank_func_t(udi_ubit32_t attr_device_match, void **attr_value_list);
-typedef void udi_mei_direct_stub_t(udi_op_t *op, udi_cb_t *gcb, va_list arglist);
-typedef void udi_mei_backend_stub_t(udi_op_t *op, udi_cb_t *gcb, void *marshal_space);
-
-struct udi_mei_init_s
-{
-       udi_mei_ops_vec_template_t      *ops_vec_template_list;
-       udi_mei_enumeration_rank_func_t *mei_enumeration_rank;
-};
-
-struct udi_mei_ops_vec_template_s
-{
-       udi_index_t     meta_ops_num;
-       udi_ubit8_t     relationship;
-       const udi_mei_op_template_t     *op_template_list;
-};
-// Flags for `relationship`
-#define UDI_MEI_REL_INITIATOR  (1U<<0)
-#define UDI_MEI_REL_BIND       (1U<<1)
-#define UDI_MEI_REL_EXTERNAL   (1U<<2)
-#define UDI_MEI_REL_INTERNAL   (1U<<3)
-#define UDI_MEI_REL_SINGLE     (1U<<4)
-
-struct uid_mei_op_template_s
-{
-       const char      *op_name;
-       udi_ubit8_t     op_category;
-       udi_ubit8_t     op_flags;
-       udi_index_t     meta_cb_num;
-       udi_index_t     completion_ops_num;
-       udi_index_t     completion_vec_idx;
-       udi_index_t     exception_ops_num;
-       udi_index_t     exception_vec_idx;
-       udi_mei_direct_stub_t   *direct_stub;
-       udi_mei_backend_stub_t  *backend_stub;
-       udi_layout_t    *visible_layout;
-       udi_layout_t    *marshal_layout;
-};
-/* Values for op_category */
-#define UDI_MEI_OPCAT_REQ      1
-#define UDI_MEI_OPCAT_ACK      2
-#define UDI_MEI_OPCAT_NAK      3
-#define UDI_MEI_OPCAT_IND      4
-#define UDI_MEI_OPCAT_RES      5
-#define UDI_MEI_OPCAT_RDY      6
-/* Values for op_flags */
-#define UDI_MEI_OP_ABORTABLE   (1U<<0)
-#define UDI_MEI_OP_RECOVERABLE (1U<<1)
-#define UDI_MEI_OP_STATE_CHANGE        (1U<<2)
-/* Maximum Sizes For Control Block Layouts */
-#define UDI_MEI_MAX_VISIBLE_SIZE       2000
-#define UDI_MEI_MAX_MARSHAL_SIZE       4000
-
-#define _UDI_MEI_FIRST(lst, ...)       lst
-#define _UDI_MEI_OTHER(lst, ...)       __VA_ARGS__
-#define _UDI_MEI_VARG(type,name,vatype) \
-       type name = UDI_VA_ARG(arglist, type, vatype);
-#define _UDI_MEI_VARGS0()
-#define _UDI_MEI_VARGS1(args,argt,argva) \
-       _UDI_MEI_VARG(_UDI_MEI_FIRST(argt), _UDI_MEI_FIRST(args),_UDI_MEI_FIRST(argva))
-#define _UDI_MEI_VARGS2(args,argt,argva) \
-       _UDI_MEI_VARG(_UDI_MEI_FIRST(argt), _UDI_MEI_FIRST(args),_UDI_MEI_FIRST(argva)) \
-       _UDI_MEI_VARGS1( _UDI_MEI_OTHER(argt), _UDI_MEI_OTHER(args), _UDI_MEI_OTHER(argva) )
-       
-#define UDI_MEI_STUBS(op_name, cb_type, argc, args, arg_types, arg_va_list, meta_ops_num, vec_idx) \
-       void op_name(cb_type *cb, _UDI_ARG_LIST_##argc args ) {\
-               udi_mei_call(UDI_GCB(cb), &udi_mei_info, meta_ops_num, vec_idx, args);\
-       }\
-       void op_name##_direct(udi_op_t *op, udi_cb_t *gcb, va_lis arglist) {\
-               _UDI_MEI_VARGS##argc(args ,## arg_types ,## arg_va_list)\
-               (*(op_name##_op_t)op)(UDI_MCB(gcb, cb_type) ,## args);\
-       }\
-       void op_name##_backend(udi_op_t *op, udi_cb_t *gcb, void *marshal_space) {\
-       }
-
-#endif
-

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