[disk] Use typedef instead of macro for disk max. xfer. len. func.
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 20 Dec 2010 22:32:19 +0000 (17:32 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 20 Dec 2010 22:32:19 +0000 (17:32 -0500)
Instead of disk__max_xfer_len_decl(), use WV_F_DISK_MAX_XFER_LEN

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

index 2bddb7c..3cca4a9 100644 (file)
@@ -63,6 +63,7 @@ static void STDCALL aoe__unload_(IN PDRIVER_OBJECT);
 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;
 
 /** Tag types. */
 enum aoe__tag_type_
@@ -1930,8 +1931,7 @@ static void STDCALL aoe__thread_(IN void *StartContext)
     DBG ( "Exit\n" );
   }
 
-static disk__max_xfer_len_decl(max_xfer_len)
-  {
+static winvblock__uint32 max_xfer_len(IN WV_SP_DISK_T disk_ptr) {
     struct aoe__disk_type_ * aoe_disk_ptr = aoe__get_(disk_ptr->device);
 
     return disk_ptr->SectorSize * aoe_disk_ptr->MaxSectorsPerPacket;
index fe0b3cd..75440f5 100644 (file)
@@ -73,20 +73,10 @@ typedef WV_F_DISK_IO * WV_FP_DISK_IO;
  * Maximum transfer length response routine.
  *
  * @v disk_ptr        The disk being queried.
+ * @ret UINT32        The maximum transfer length.
  */
-#  define disk__max_xfer_len_decl( x ) \
-\
-winvblock__uint32 \
-x ( \
-  IN WV_SP_DISK_T disk_ptr \
- )
-/*
- * Function pointer for a maximum transfer length response routine.
- * 'indent' mangles this, so it looks weird.
- */
-typedef disk__max_xfer_len_decl (
-   ( *disk__max_xfer_len_routine )
- );
+typedef winvblock__uint32 WV_F_DISK_MAX_XFER_LEN(IN WV_SP_DISK_T);
+typedef WV_F_DISK_MAX_XFER_LEN * WV_FP_DISK_MAX_XFER_LEN;
 
 /**
  * Disk initialization routine.
@@ -129,7 +119,7 @@ typedef disk__close_decl (
 winvblock__def_struct ( disk__ops )
 {
   WV_FP_DISK_IO io;
-  disk__max_xfer_len_routine max_xfer_len;
+  WV_FP_DISK_MAX_XFER_LEN max_xfer_len;
   disk__init_routine init;
   disk__close_routine close;
 };
@@ -192,9 +182,7 @@ winvblock__def_struct ( mbr )
 #  endif
 
 extern WV_F_DISK_IO disk__io;
-extern disk__max_xfer_len_decl (
-  disk__max_xfer_len
- );
+extern WV_F_DISK_MAX_XFER_LEN disk__max_xfer_len;
 
 /**
  * Attempt to guess a disk's geometry.
index fd854dd..9fc3c9a 100644 (file)
@@ -75,7 +75,7 @@ WV_S_DEV_IRP_MJ disk__irp_mj_ = {
     disk_pnp__dispatch,
   };
 
-static disk__max_xfer_len_decl(default_max_xfer_len) {
+static winvblock__uint32 default_max_xfer_len(IN WV_SP_DISK_T disk_ptr) {
     return 1024 * 1024;
   }
 
@@ -431,6 +431,6 @@ NTSTATUS STDCALL disk__io(
   }
 
 /* See header for details. */
-disk__max_xfer_len_decl(disk__max_xfer_len) {
+winvblock__uint32 disk__max_xfer_len(IN WV_SP_DISK_T disk_ptr) {
     return disk_ptr->disk_ops.max_xfer_len(disk_ptr);
   }