From 72971b71efdb2cb7b7dbf7299e426320169d4e3e Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 30 Dec 2009 11:01:29 +0800 Subject: [PATCH] More work on UDI, attempting to get it to load the pseudod driver --- Modules/UDI/Makefile | 2 +- Modules/UDI/include/_udi/logging.h | 25 +++++++++++++++++++++++++ Modules/UDI/include/_udi/meta_mgmt.h | 8 ++++++-- Modules/UDI/include/udi.h | 9 +++++++++ Modules/UDI/include/udi_physio.h | 26 ++++++++++++++++++++++++++ Modules/UDI/logging.c | 16 ++++++++++++++++ Modules/UDI/physio_main.c | 16 ++++++++++++++++ 7 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 Modules/UDI/include/_udi/logging.h create mode 100644 Modules/UDI/include/udi_physio.h create mode 100644 Modules/UDI/logging.c create mode 100644 Modules/UDI/physio_main.c diff --git a/Modules/UDI/Makefile b/Modules/UDI/Makefile index 81b5f124..5f9bd7ce 100644 --- a/Modules/UDI/Makefile +++ b/Modules/UDI/Makefile @@ -2,7 +2,7 @@ # CPPFLAGS = -I./include -OBJ = main.o +OBJ = main.o logging.o NAME = UDI -include ../Makefile.tpl diff --git a/Modules/UDI/include/_udi/logging.h b/Modules/UDI/include/_udi/logging.h new file mode 100644 index 00000000..37d3c3c4 --- /dev/null +++ b/Modules/UDI/include/_udi/logging.h @@ -0,0 +1,25 @@ +/** + */ +#ifndef _UDI_LOGGING_H +#define _UDI_LOGGING_H + +typedef void udi_log_write_call_t( udi_cb_t *gcb, udi_status_t correlated_status ); + +extern void udi_log_write( + udi_log_write_call_t *callback, + udi_cb_t *gcb, + udi_trevent_t trace_event, + udi_ubit8_t severity, + udi_index_t meta_idx, + udi_status_t original_status, + udi_ubit32_t msgnum, + ... + ); + +/* Values for severity */ +#define UDI_LOG_DISASTER 1 +#define UDI_LOG_ERROR 2 +#define UDI_LOG_WARNING 3 +#define UDI_LOG_INFORMATION 4 + +#endif diff --git a/Modules/UDI/include/_udi/meta_mgmt.h b/Modules/UDI/include/_udi/meta_mgmt.h index ac571371..354278e4 100644 --- a/Modules/UDI/include/_udi/meta_mgmt.h +++ b/Modules/UDI/include/_udi/meta_mgmt.h @@ -10,14 +10,12 @@ typedef struct { udi_cb_t gcb; } udi_mgmt_cb_t; - typedef struct { udi_cb_t gcb; udi_trevent_t trace_mask; udi_index_t meta_idx; } udi_usage_cb_t; - typedef struct { udi_cb_t gcb; udi_ubit32_t child_ID; @@ -42,4 +40,10 @@ typedef const struct { udi_final_cleanup_req_op_t *final_cleanup_req_op; } udi_mgmt_ops_t; +extern void udi_devmgmt_ack(udi_mgmt_cb_t *cb, udi_ubit8_t flags, udi_status_t status) +/* Values for flags */ +#define UDI_DMGMT_NONTRANSPARENT (1U<<0) +/* Meta-Specific Status Codes */ +#define UDI_DMGMT_STAT_ROUTING_CHANGE (UDI_STAT_META_SPECIFIC|1) + #endif diff --git a/Modules/UDI/include/udi.h b/Modules/UDI/include/udi.h index 6654d2da..02fe0126 100644 --- a/Modules/UDI/include/udi.h +++ b/Modules/UDI/include/udi.h @@ -161,4 +161,13 @@ typedef struct { void *rdata; } udi_chan_context_t; +// === FUNCTIONS === +extern void udi_final_cleanup_ack(udi_mgmt_cb_t *cb); + +// --- Channel Events --- +extern void udi_channel_event_complete(udi_channel_event_cb_t *cb, udi_status_t status); + + + + #endif diff --git a/Modules/UDI/include/udi_physio.h b/Modules/UDI/include/udi_physio.h new file mode 100644 index 00000000..08b380ed --- /dev/null +++ b/Modules/UDI/include/udi_physio.h @@ -0,0 +1,26 @@ +/** + */ +#ifndef _UDI_PHYSIO_H_ +#include + +/** + * \name Bus Operations + * \{ + */ +typedef struct { + udi_cb_t gcb; +} udi_bus_bind_cb_t; + +/** + * \brief Bus Bind Control Block Group Number + */ +#define UDI_BUS_BIND_CB_NUM 1 + +extern void udi_bus_bind_req(udi_bus_bind_cb_t *cb); + +extern void udi_bus_unbind_req(udi_bus_bind_cb_t *cb); +/** + * \} + */ + +#endif diff --git a/Modules/UDI/logging.c b/Modules/UDI/logging.c new file mode 100644 index 00000000..10a109ab --- /dev/null +++ b/Modules/UDI/logging.c @@ -0,0 +1,16 @@ +/** + * \file logging.c + * \author John Hodge (thePowersGang) + */ +#include +#include + +// === PROTOTYPES === + +// === CODE === +void udi_log_write( udi_log_write_call_t *callback, udi_cb_t *gcb, + udi_trevent_t trace_event, udi_ubit8_t severity, udi_index_t meta_idx, + udi_status_t original_status, udi_ubit32_t msgnum, ... ) +{ + Log("UDI Log"); +} diff --git a/Modules/UDI/physio_main.c b/Modules/UDI/physio_main.c new file mode 100644 index 00000000..f5e7aa04 --- /dev/null +++ b/Modules/UDI/physio_main.c @@ -0,0 +1,16 @@ +/** + * \file logging.c + * \author John Hodge (thePowersGang) + */ +#include +#include +#include + +// === CODE === +void udi_bus_bind_req(udi_bus_bind_cb_t *cb) +{ +} + +void udi_bus_unbind_req(udi_bus_bind_cb_t *cb) +{ +} -- 2.20.1