Modules/UDI - Adding PCI and MEI headers
[tpg/acess2.git] / KernelLand / Modules / Interfaces / UDI / include / udi.h
index 53953c0..0e097d7 100644 (file)
@@ -4,10 +4,25 @@
 #ifndef _UDI_H_
 #define _UDI_H_
 
-// Use the core acess file to use the specific size types (plus va_arg)
-#include <acess.h>
+#include <stdint.h>
+#include <stdarg.h>
 
+typedef int8_t udi_sbit8_t;    /* signed 8-bit: -2^7..2^7-1 */
+typedef int16_t        udi_sbit16_t;   /* signed 16-bit: -2^15..2^15-1 */
+typedef int32_t        udi_sbit32_t;   /* signed 32-bit: -2^31..2^31-1 */
+typedef uint8_t        udi_ubit8_t;    /* unsigned 8-bit: 0..28-1 */
+typedef uint16_t       udi_ubit16_t;   /* unsigned 16-bit: 0..216-1 */
+typedef uint32_t       udi_ubit32_t;   /* unsigned 32-bit: 0..232-1 */
+
+#ifndef NULL
+# define NULL  ((void*)0)
+#endif
+
+#if UDI_ABI_is_ia32
 #include "udi/arch/x86.h"
+#else
+#error "Unknown UDI ABI"
+#endif
 
 /**
  * \name Values and Flags for udi_status_t
@@ -79,11 +94,29 @@ typedef const udi_ubit8_t   udi_layout_t;
  */
 
 
+typedef struct udi_init_s              udi_init_t;
+typedef struct udi_primary_init_s      udi_primary_init_t;
+typedef struct udi_secondary_init_s    udi_secondary_init_t;
+typedef struct udi_ops_init_s  udi_ops_init_t;
+typedef struct udi_cb_init_s   udi_cb_init_t;
+typedef struct udi_cb_select_s udi_cb_select_t;
+typedef struct udi_gcb_init_s  udi_gcb_init_t;
+
+typedef struct udi_init_context_s      udi_init_context_t;
+typedef struct udi_limits_s            udi_limits_t;
+typedef struct udi_chan_context_s      udi_chan_context_t;
+typedef struct udi_child_chan_context_s        udi_child_chan_context_t;
+
+typedef void   udi_op_t(void);
+typedef udi_op_t * const       udi_ops_vector_t;
+
 // === INCLUDE SUB-SECTIONS ===
 #include "udi/cb.h"    // Control Blocks
+#include "udi/time.h"  // Timer Services
 #include "udi/log.h"   // Logging
 #include "udi/attr.h"  // Attributes
 #include "udi/strmem.h"        // String/Memory
+#include "udi/queues.h"        // Queues
 #include "udi/buf.h"   // Buffers
 #include "udi/mem.h"   // Memory Management
 #include "udi/imc.h"   // Inter-module Communication

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