[disk] Use typedef instead of macro for disk init. func.
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 20 Dec 2010 22:45:03 +0000 (17:45 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 20 Dec 2010 22:45:03 +0000 (17:45 -0500)
Instead of disk__init_decl(), use WV_F_DISK_INIT

src/aoe/driver.c
src/include/disk.h
src/winvblock/disk/disk.c

index 3cca4a9..0581cea 100644 (file)
@@ -64,6 +64,7 @@ static struct aoe__disk_type_ * aoe__create_disk_(void);
 static WV_F_DEV_FREE aoe__free_disk_;
 static WV_F_DISK_IO io;
 static WV_F_DISK_MAX_XFER_LEN max_xfer_len;
+static WV_F_DISK_INIT init;
 
 /** Tag types. */
 enum aoe__tag_type_
@@ -914,12 +915,12 @@ static void STDCALL aoe__unload_(IN PDRIVER_OBJECT DriverObject) {
 /**
  * Search for disk parameters.
  *
- * @v dev_ptr           The device extension for the disk.
+ * @v disk_ptr          The disk to initialize (for AoE, match).
+ * @ret BOOLEAN         See below.
  *
  * Returns TRUE if the disk could be matched, FALSE otherwise.
  */
-static disk__init_decl(init)
-  {
+static winvblock__bool STDCALL init(IN WV_SP_DISK_T disk_ptr) {
     struct aoe__disk_search_
       * disk_searcher, * disk_search_walker, * previous_disk_searcher;
     LARGE_INTEGER Timeout, CurrentTime;
index 75440f5..0c238f0 100644 (file)
@@ -82,20 +82,10 @@ typedef WV_F_DISK_MAX_XFER_LEN * WV_FP_DISK_MAX_XFER_LEN;
  * Disk initialization routine.
  *
  * @v disk_ptr        The disk device being initialized.
+ * @ret BOOLEAN       FALSE if initialization failed, otherwise TRUE
  */
-#  define disk__init_decl( x ) \
-\
-winvblock__bool STDCALL \
-x ( \
-  IN WV_SP_DISK_T disk_ptr \
- )
-/*
- * Function pointer for a disk initialization routine.
- * 'indent' mangles this, so it looks weird.
- */
-typedef disk__init_decl (
-   ( *disk__init_routine )
- );
+typedef winvblock__bool STDCALL WV_F_DISK_INIT(IN WV_SP_DISK_T);
+typedef WV_F_DISK_INIT * WV_FP_DISK_INIT;
 
 /**
  * Disk close routine.
@@ -120,7 +110,7 @@ winvblock__def_struct ( disk__ops )
 {
   WV_FP_DISK_IO io;
   WV_FP_DISK_MAX_XFER_LEN max_xfer_len;
-  disk__init_routine init;
+  WV_FP_DISK_INIT init;
   disk__close_routine close;
 };
 
index 9fc3c9a..7eca496 100644 (file)
@@ -57,6 +57,7 @@ extern WV_F_DEV_PNP disk_pnp__dispatch;
 static WV_F_DEV_FREE free_disk;
 static WV_F_DEV_DISPATCH disk__power_;
 static WV_F_DEV_DISPATCH disk__sys_ctl_;
+static WV_F_DISK_INIT WvDiskDefaultInit_;
 
 /* Globals. */
 static LIST_ENTRY disk_list;
@@ -85,7 +86,7 @@ static winvblock__bool STDCALL disk__init_(IN WV_SP_DEV_T dev) {
     return disk_ptr->disk_ops.init(disk_ptr);
   }
 
-disk__init_decl(default_init) {
+static winvblock__bool STDCALL WvDiskDefaultInit_(IN WV_SP_DISK_T disk_ptr) {
     return TRUE;
   }
 
@@ -353,7 +354,7 @@ winvblock__lib_func WV_SP_DISK_T disk__create(void) {
     disk_ptr->device = dev_ptr;
     disk_ptr->prev_free = dev_ptr->Ops.Free;
     disk_ptr->disk_ops.max_xfer_len = default_max_xfer_len;
-    disk_ptr->disk_ops.init = default_init;
+    disk_ptr->disk_ops.init = WvDiskDefaultInit_;
     disk_ptr->disk_ops.close = default_close;
     dev_ptr->Ops.Close = disk__close_;
     dev_ptr->Ops.CreatePdo = create_pdo;