[device] Many more cosmetic changes
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 20 Dec 2010 20:33:06 +0000 (15:33 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 20 Dec 2010 20:33:06 +0000 (15:33 -0500)
Even more to come.

16 files changed:
src/aoe/bus.c
src/aoe/driver.c
src/include/device.h
src/include/filedisk.h
src/winvblock/bus/bus.c
src/winvblock/bus/dev_ctl.c
src/winvblock/bus/pnp.c
src/winvblock/debug.c
src/winvblock/device.c
src/winvblock/disk/dev_ctl.c
src/winvblock/disk/disk.c
src/winvblock/disk/pnp.c
src/winvblock/disk/scsi.c
src/winvblock/driver.c
src/winvblock/filedisk/filedisk.c
src/winvblock/ramdisk/ramdisk.c

index 0e20315..026ebb2 100644 (file)
 #define AOE_M_BUS_DOSNAME_ (L"\\DosDevices\\AoE")
 
 /* TODO: Remove this pull from aoe/driver.c */
-extern device__dispatch_func aoe__scan;
-extern device__dispatch_func aoe__show;
-extern device__dispatch_func aoe__mount;
+extern WV_F_DEV_DISPATCH aoe__scan;
+extern WV_F_DEV_DISPATCH aoe__show;
+extern WV_F_DEV_DISPATCH aoe__mount;
 
 /* Forward declarations. */
-static device__dev_ctl_func aoe_bus__dev_ctl_dispatch_;
+static WV_F_DEV_CTL aoe_bus__dev_ctl_dispatch_;
 static WV_F_DEV_PNP_ID aoe_bus__pnp_id_;
 winvblock__bool aoe_bus__create(void);
 void aoe_bus__free(void);
@@ -82,7 +82,7 @@ static NTSTATUS STDCALL aoe_bus__dev_ctl_dispatch_(
             WV_SP_BUS_T bus = WvBusFromDev(dev);
 
             /* Pretend it's an IOCTL_FILE_DETACH. */
-            return device__get(bus->LowerDeviceObject)->irp_mj->dev_ctl(
+            return WvDevFromDevObj(bus->LowerDeviceObject)->IrpMj->DevCtl(
                 dev,
                 irp,
                 IOCTL_FILE_DETACH
@@ -115,7 +115,7 @@ winvblock__bool aoe_bus__create(void) {
         goto err_new_bus;
       }
     /* When the PDO is created, we need to handle PnP ID queries. */
-    new_bus->Dev->ops.pnp_id = aoe_bus__pnp_id_;
+    new_bus->Dev->Ops.PnpId = aoe_bus__pnp_id_;
     /* Add it as a sub-bus to WinVBlock. */
     if (!WvBusAddChild(driver__bus(), new_bus->Dev)) {
         DBG("Couldn't add AoE bus to WinVBlock bus!\n");
index f51573c..9ef22ef 100644 (file)
@@ -2189,7 +2189,7 @@ NTSTATUS STDCALL aoe__show(
         disk__type_ptr disk = disk__get_ptr(dev_walker);
         struct aoe__disk_type_ * aoe_disk = aoe__get_(dev_walker);
 
-        disks->Disk[count].Disk = dev_walker->dev_num;
+        disks->Disk[count].Disk = dev_walker->DevNum;
         RtlCopyMemory(
             &disks->Disk[count].ClientMac,
             &aoe_disk->ClientMac,
@@ -2293,9 +2293,9 @@ static struct aoe__disk_type_ * aoe__create_disk_(void) {
       );
     /* Populate non-zero device defaults. */
     aoe_disk->disk = disk;
-    aoe_disk->prev_free = disk->device->ops.free;
-    disk->device->ops.free = aoe__free_disk_;
-    disk->device->ops.pnp_id = query_id;
+    aoe_disk->prev_free = disk->device->Ops.Free;
+    disk->device->Ops.Free = aoe__free_disk_;
+    disk->device->Ops.PnpId = query_id;
     disk->disk_ops.io = io;
     disk->disk_ops.max_xfer_len = max_xfer_len;
     disk->disk_ops.init = init;
index b2020b8..de2ffdf 100644 (file)
@@ -97,15 +97,13 @@ extern winvblock__lib_func WV_F_DEV_FREE WvDevFree;
 extern winvblock__lib_func void WvDevInit(WV_SP_DEV_T);
 extern winvblock__lib_func WV_SP_DEV_T WvDevCreate(void);
 
-winvblock__def_struct(device__ops) {
-    WV_FP_DEV_CREATE_PDO create_pdo;
-    WV_FP_DEV_INIT init;
-    WV_FP_DEV_PNP_ID pnp_id;
-    WV_FP_DEV_CLOSE close;
-    WV_FP_DEV_FREE free;
-  };
-
-typedef void STDCALL device__thread_func(IN void *);
+typedef struct WV_DEV_OPS {
+    WV_FP_DEV_CREATE_PDO CreatePdo;
+    WV_FP_DEV_INIT Init;
+    WV_FP_DEV_PNP_ID PnpId;
+    WV_FP_DEV_CLOSE Close;
+    WV_FP_DEV_FREE Free;
+  } WV_S_DEV_OPS, * WV_SP_DEV_OPS;
 
 /**
  * The prototype for a device IRP dispatch.
@@ -114,7 +112,8 @@ typedef void STDCALL device__thread_func(IN void *);
  * @v irp               Points to the IRP.
  * @ret NTSTATUS        The status of processing the IRP for the device.
  */
-typedef NTSTATUS STDCALL device__dispatch_func(IN WV_SP_DEV_T, IN PIRP);
+typedef NTSTATUS STDCALL WV_F_DEV_DISPATCH(IN WV_SP_DEV_T, IN PIRP);
+typedef WV_F_DEV_DISPATCH * WV_FP_DEV_DISPATCH;
 
 /**
  * The prototype for a device IRP_MJ_DEVICE_CONTROL dispatch.
@@ -124,11 +123,12 @@ typedef NTSTATUS STDCALL device__dispatch_func(IN WV_SP_DEV_T, IN PIRP);
  * @v code              The I/O control code.
  * @ret NTSTATUS        The status of processing the IRP for the device.
  */
-typedef NTSTATUS STDCALL device__dev_ctl_func(
+typedef NTSTATUS STDCALL WV_F_DEV_CTL(
     IN WV_SP_DEV_T,
     IN PIRP,
     IN ULONG POINTER_ALIGNMENT
   );
+typedef WV_F_DEV_CTL * WV_FP_DEV_CTL;
 
 /**
  * The prototype for a device IRP_MJ_SCSI dispatch.
@@ -138,7 +138,8 @@ typedef NTSTATUS STDCALL device__dev_ctl_func(
  * @v code              The SCSI function.
  * @ret NTSTATUS        The status of processing the IRP for the device.
  */
-typedef NTSTATUS STDCALL device__scsi_func(IN WV_SP_DEV_T, IN PIRP, IN UCHAR);
+typedef NTSTATUS STDCALL WV_F_DEV_SCSI(IN WV_SP_DEV_T, IN PIRP, IN UCHAR);
+typedef WV_F_DEV_SCSI * WV_FP_DEV_SCSI;
 
 /**
  * The prototype for a device IRP_MJ_PNP dispatch.
@@ -148,39 +149,28 @@ typedef NTSTATUS STDCALL device__scsi_func(IN WV_SP_DEV_T, IN PIRP, IN UCHAR);
  * @v code              The minor function.
  * @ret NTSTATUS        The status of processing the IRP for the device.
  */
-typedef NTSTATUS STDCALL device__pnp_func(IN WV_SP_DEV_T, IN PIRP, IN UCHAR);
+typedef NTSTATUS STDCALL WV_F_DEV_PNP(IN WV_SP_DEV_T, IN PIRP, IN UCHAR);
+typedef WV_F_DEV_PNP * WV_FP_DEV_PNP;
 
 /* IRP major function handler table. */
-struct device__irp_mj {
-    device__dispatch_func * power;
-    device__dispatch_func * sys_ctl;
-    device__dev_ctl_func * dev_ctl;
-    device__scsi_func * scsi;
-    device__pnp_func * pnp;
-  };
+typedef struct WV_DEV_IRP_MJ {
+    WV_FP_DEV_DISPATCH Power;
+    WV_FP_DEV_DISPATCH SysCtl;
+    WV_FP_DEV_CTL DevCtl;
+    WV_FP_DEV_SCSI Scsi;
+    WV_FP_DEV_PNP Pnp;
+  } WV_S_DEV_IRP_MJ, * WV_SP_DEV_IRP_MJ;
 
 /* Details common to all devices this driver works with */
 struct WV_DEV_T {
     /* For debugging */
     winvblock__bool IsBus;
-    /* A device's IRP dispatch routine. */
-    driver__dispatch_func * dispatch;
-    /* The device's thread routine. */
-    device__thread_func * thread;
-    /* The device's thread wakeup signal. */
-    KEVENT thread_wakeup;
-    /* The device's IRP queue. */
-    LIST_ENTRY irp_list;
-    /* The device's IRP queue lock. */
-    KSPIN_LOCK irp_list_lock;
     /* Self is self-explanatory. */
     PDEVICE_OBJECT Self;
-    /* Flag to create/delete a PDO on a threaded bus. */
-    winvblock__bool thread_pdo;
     /* Points to the parent bus' DEVICE_OBJECT */
     PDEVICE_OBJECT Parent;
     /* The device's child ID relative to the parent bus. */
-    winvblock__uint32 dev_num;
+    winvblock__uint32 DevNum;
     /* Points to the driver. */
     PDRIVER_OBJECT DriverObject;
     /* Current state of the device. */
@@ -190,17 +180,15 @@ struct WV_DEV_T {
     /* The next device in the parent bus' devices.  TODO: Don't do this. */
     WV_SP_DEV_T next_sibling_ptr;
     /* The device operations. */
-    device__ops ops;
-    /* Tracking for the device module itself. */
-    LIST_ENTRY tracking;
+    WV_S_DEV_OPS Ops;
     /* Points to further extensions. */
     winvblock__any_ptr ext;
     /* How to handle IRPs based on major function code. */
-    struct device__irp_mj * irp_mj;
+    WV_SP_DEV_IRP_MJ IrpMj;
   };
 
-extern winvblock__lib_func WV_SP_DEV_T device__get(PDEVICE_OBJECT);
-extern winvblock__lib_func void device__set(PDEVICE_OBJECT, WV_SP_DEV_T);
-extern device__dispatch_func device__pnp_query_id;
+extern winvblock__lib_func WV_SP_DEV_T WvDevFromDevObj(PDEVICE_OBJECT);
+extern winvblock__lib_func void WvDevForDevObj(PDEVICE_OBJECT, WV_SP_DEV_T);
+extern WV_F_DEV_DISPATCH WvDevPnpQueryId;
 
 #endif  /* _WV_M_DEVICE_H_ */
index ad3033a..65fb085 100644 (file)
@@ -44,7 +44,7 @@ winvblock__def_struct ( filedisk__type )
   UNICODE_STRING filepath_unicode;
 };
 
-extern device__dispatch_func filedisk__attach;
+extern WV_F_DEV_DISPATCH filedisk__attach;
 
 extern NTSTATUS filedisk__module_init(void);
 
index e065ac9..3c33e61 100644 (file)
@@ -36,9 +36,9 @@
 #include "debug.h"
 
 /* IRP_MJ_DEVICE_CONTROL dispatcher from bus/dev_ctl.c */
-extern device__dev_ctl_func WvBusDevCtlDispatch;
+extern WV_F_DEV_CTL WvBusDevCtlDispatch;
 /* IRP_MJ_PNP dispatcher from bus/pnp.c */
-extern device__pnp_func WvBusPnpDispatch;
+extern WV_F_DEV_PNP WvBusPnpDispatch;
 
 /* Types. */
 typedef enum WV_BUS_WORK_ITEM_CMD_ {
@@ -60,8 +60,8 @@ typedef struct WV_BUS_WORK_ITEM_ {
 /* Forward declarations. */
 static WV_F_DEV_FREE WvBusFree_;
 static WV_F_DEV_CREATE_PDO WvBusCreatePdo_;
-static device__dispatch_func WvBusPower_;
-static device__dispatch_func WvBusSysCtl_;
+static WV_F_DEV_DISPATCH WvBusPower_;
+static WV_F_DEV_DISPATCH WvBusSysCtl_;
 static WV_F_BUS_THREAD WvBusDefaultThread_;
 static winvblock__bool WvBusAddWorkItem_(
     WV_SP_BUS_T,
@@ -70,11 +70,11 @@ static winvblock__bool WvBusAddWorkItem_(
 static WV_SP_BUS_WORK_ITEM_ WvBusGetWorkItem_(WV_SP_BUS_T);
 
 /* Globals. */
-struct device__irp_mj WvBusIrpMj_ = {
+WV_S_DEV_IRP_MJ WvBusIrpMj_ = {
     WvBusPower_,
     WvBusSysCtl_,
     WvBusDevCtlDispatch,
-    (device__scsi_func *) 0,
+    (WV_FP_DEV_SCSI) 0,
     WvBusPnpDispatch,
   };
 
@@ -113,7 +113,7 @@ winvblock__lib_func winvblock__bool STDCALL WvBusAddChild(
      * Initialize the device.  For disks, this routine is responsible for
      * determining the disk's geometry appropriately for AoE/RAM/file disks.
      */
-    Dev->ops.init(Dev);
+    Dev->Ops.Init(Dev);
     dev_obj->Flags &= ~DO_DEVICE_INITIALIZING;
     /* Add the new device's extension to the bus' list of children. */
     dev_num = 0;
@@ -122,31 +122,31 @@ winvblock__lib_func winvblock__bool STDCALL WvBusAddChild(
       } else {
         walker = Bus->first_child;
         /* If the first child device number isn't 0... */
-        if (walker->dev_num) {
+        if (walker->DevNum) {
             /* We insert before. */
             Dev->next_sibling_ptr = walker;
             Bus->first_child = Dev;
           } else {
             while (walker->next_sibling_ptr != NULL) {
                 /* If there's a gap in the device numbers for the bus... */
-                if (walker->dev_num < walker->next_sibling_ptr->dev_num - 1) {
+                if (walker->DevNum < walker->next_sibling_ptr->DevNum - 1) {
                     /* Insert here, instead of at the end. */
-                    dev_num = walker->dev_num + 1;
+                    dev_num = walker->DevNum + 1;
                     Dev->next_sibling_ptr = walker->next_sibling_ptr;
                     walker->next_sibling_ptr = Dev;
                     break;
                   }
                 walker = walker->next_sibling_ptr;
-                dev_num = walker->dev_num + 1;
+                dev_num = walker->DevNum + 1;
               }
             /* If we haven't already inserted the device... */
             if (!Dev->next_sibling_ptr) {
                 walker->next_sibling_ptr = Dev;
-                dev_num = walker->dev_num + 1;
+                dev_num = walker->DevNum + 1;
               }
           }
       }
-    Dev->dev_num = dev_num;
+    Dev->DevNum = dev_num;
     Bus->Children++;
     if (Bus->PhysicalDeviceObject != NULL) {
         IoInvalidateDeviceRelations(
@@ -257,16 +257,16 @@ winvblock__lib_func void WvBusInit(WV_SP_BUS_T Bus) {
     RtlZeroMemory(Bus, sizeof *Bus);
     /* Populate non-zero bus device defaults. */
     Bus->Dev = dev;
-    Bus->BusPrivate_.PrevFree = dev->ops.free;
+    Bus->BusPrivate_.PrevFree = dev->Ops.Free;
     Bus->Thread = WvBusDefaultThread_;
     KeInitializeSpinLock(&Bus->BusPrivate_.WorkItemsLock);
     InitializeListHead(&Bus->BusPrivate_.WorkItems);
     KeInitializeEvent(&Bus->ThreadSignal, SynchronizationEvent, FALSE);
-    dev->ops.create_pdo = WvBusCreatePdo_;
-    dev->ops.init = WvBusDevInit_;
-    dev->ops.free = WvBusFree_;
+    dev->Ops.CreatePdo = WvBusCreatePdo_;
+    dev->Ops.Init = WvBusDevInit_;
+    dev->Ops.Free = WvBusFree_;
     dev->ext = Bus;
-    dev->irp_mj = &WvBusIrpMj_;
+    dev->IrpMj = &WvBusIrpMj_;
     dev->IsBus = TRUE;
   }
 
@@ -343,7 +343,7 @@ static PDEVICE_OBJECT STDCALL WvBusCreatePdo_(IN WV_SP_DEV_T dev) {
       }
 
     /* Set associations for the bus, device, PDO. */
-    device__set(pdo, dev);
+    WvDevForDevObj(pdo, dev);
     dev->Self = bus->PhysicalDeviceObject = pdo;
 
     /* Set some DEVICE_OBJECT status. */
@@ -542,7 +542,7 @@ static void STDCALL WvBusDefaultThread_(IN WV_SP_BUS_T bus) {
     timeout.QuadPart = -300000000LL;
 
     /* Hook WV_SP_DEV_T::ops.free() */
-    bus->Dev->ops.free = WvBusThreadFree_;
+    bus->Dev->Ops.Free = WvBusThreadFree_;
 
     /* When bus::Stop is set, we shut down. */
     while (!bus->Stop) {
index a4c2355..cce36c7 100644 (file)
@@ -38,7 +38,7 @@
 #include "filedisk.h"
 
 /* Forward declarations. */
-static device__dispatch_func WvBusDevCtlDiskDetach_;
+static WV_F_DEV_DISPATCH WvBusDevCtlDiskDetach_;
 
 static NTSTATUS STDCALL WvBusDevCtlDiskDetach_(
     IN WV_SP_DEV_T dev,
@@ -56,7 +56,7 @@ static NTSTATUS STDCALL WvBusDevCtlDiskDetach_(
     if (dev_walker != NULL)
       disk_walker = disk__get_ptr(dev_walker);
     prev_disk_walker = disk_walker;
-    while ((disk_walker != NULL) && (dev_walker->dev_num != disk_num)) {
+    while ((disk_walker != NULL) && (dev_walker->DevNum != disk_num)) {
         prev_disk_walker = disk_walker;
         dev_walker = dev_walker->next_sibling_ptr;
         if (dev_walker != NULL)
@@ -68,7 +68,7 @@ static NTSTATUS STDCALL WvBusDevCtlDiskDetach_(
             irp->IoStatus.Information = 0;
             return STATUS_INVALID_DEVICE_REQUEST;
           }
-        DBG("Deleting disk %d\n", dev_walker->dev_num);
+        DBG("Deleting disk %d\n", dev_walker->DevNum);
         if (disk_walker == disk__get_ptr(bus->first_child))
           bus->first_child = dev_walker->next_sibling_ptr;
           else {
index d9996e3..0b2994c 100644 (file)
 #include "probe.h"
 
 /* Forward declarations. */
-static device__dispatch_func WvBusPnpStartDev_;
-static device__dispatch_func WvBusPnpRemoveDev_;
-static device__dispatch_func WvBusPnpQueryDevRelations_;
-static device__dispatch_func WvBusPnpQueryCapabilities_;
-static device__dispatch_func WvBusPnpQueryDevText_;
-static device__dispatch_func WvBusPnpQueryBusInfo_;
-static device__pnp_func WvBusPnpSimple_;
-device__pnp_func WvBusPnpDispatch;
+static WV_F_DEV_DISPATCH WvBusPnpStartDev_;
+static WV_F_DEV_DISPATCH WvBusPnpRemoveDev_;
+static WV_F_DEV_DISPATCH WvBusPnpQueryDevRelations_;
+static WV_F_DEV_DISPATCH WvBusPnpQueryCapabilities_;
+static WV_F_DEV_DISPATCH WvBusPnpQueryDevText_;
+static WV_F_DEV_DISPATCH WvBusPnpQueryBusInfo_;
+static WV_F_DEV_PNP WvBusPnpSimple_;
+WV_F_DEV_PNP WvBusPnpDispatch;
 
 static NTSTATUS STDCALL WvBusPnpIoCompletion_(
     IN PDEVICE_OBJECT dev_obj,
@@ -423,7 +423,7 @@ NTSTATUS STDCALL WvBusPnpDispatch(
     switch (code) {
         case IRP_MN_QUERY_ID:
           DBG("bus_pnp: IRP_MN_QUERY_ID\n");
-          return device__pnp_query_id(dev, irp);
+          return WvDevPnpQueryId(dev, irp);
 
         case IRP_MN_QUERY_DEVICE_TEXT:
           DBG("bus_pnp: IRP_MN_QUERY_DEVICE_TEXT\n");
index db1f7cd..77bbb2e 100644 (file)
@@ -227,7 +227,7 @@ Debug_DecodeIrp (
   IN PCHAR DebugMessage
  )
 {
-  WV_SP_DEV_T dev_ptr = device__get(DeviceObject);
+  WV_SP_DEV_T dev_ptr = WvDevFromDevObj(DeviceObject);
   PIO_STACK_LOCATION Stack = IoGetCurrentIrpStackLocation ( Irp );
   PSCSI_REQUEST_BLOCK Srb;
   PCDB Cdb;
index 4afa55d..fa3e3ad 100644 (file)
@@ -47,8 +47,8 @@ winvblock__lib_func void WvDevInit(WV_SP_DEV_T dev) {
     RtlZeroMemory(dev, sizeof *dev);
     /* Populate non-zero device defaults. */
     dev->DriverObject = driver__obj_ptr;
-    dev->ops.create_pdo = device__make_pdo_;
-    dev->ops.free = device__free_dev_;
+    dev->Ops.CreatePdo = device__make_pdo_;
+    dev->Ops.Free = device__free_dev_;
   }
 
 /**
@@ -81,7 +81,7 @@ winvblock__lib_func WV_SP_DEV_T WvDevCreate(void) {
  * @v dev               Points to the device that needs a PDO.
  */
 winvblock__lib_func PDEVICE_OBJECT STDCALL WvDevCreatePdo(IN WV_SP_DEV_T dev) {
-    return dev->ops.create_pdo(dev);
+    return dev->Ops.CreatePdo(dev);
   }
 
 /**
@@ -113,14 +113,11 @@ winvblock__uint32 STDCALL WvDevPnpId(
     IN BUS_QUERY_ID_TYPE query_type,
     IN OUT WCHAR (*buf)[512]
   ) {
-    return dev->ops.pnp_id ? dev->ops.pnp_id(dev, query_type, buf) : 0;
+    return dev->Ops.PnpId ? dev->Ops.PnpId(dev, query_type, buf) : 0;
   }
 
 /* An IRP handler for a PnP ID query. */
-NTSTATUS STDCALL device__pnp_query_id(
-    IN WV_SP_DEV_T dev,
-    IN PIRP irp
-  ) {
+NTSTATUS STDCALL WvDevPnpQueryId(IN WV_SP_DEV_T dev, IN PIRP irp) {
     NTSTATUS status;
     WCHAR (*str)[512];
     winvblock__uint32 str_len;
@@ -175,7 +172,7 @@ NTSTATUS STDCALL device__pnp_query_id(
  */
 winvblock__lib_func void STDCALL WvDevClose(IN WV_SP_DEV_T dev) {
     /* Call the device's close routine. */
-    dev->ops.close(dev);
+    dev->Ops.Close(dev);
     return;
   }
 
@@ -186,7 +183,7 @@ winvblock__lib_func void STDCALL WvDevClose(IN WV_SP_DEV_T dev) {
  */
 winvblock__lib_func void STDCALL WvDevFree(IN WV_SP_DEV_T dev) {
     /* Call the device's free routine. */
-    dev->ops.free(dev);
+    dev->Ops.Free(dev);
   }
 
 /**
@@ -204,7 +201,7 @@ static void STDCALL device__free_dev_(IN WV_SP_DEV_T dev) {
  * @v dev_obj           Points to the DEVICE_OBJECT to get the device from.
  * @ret                 Returns a pointer to the device on success, else NULL.
  */
-winvblock__lib_func WV_SP_DEV_T device__get(PDEVICE_OBJECT dev_obj) {
+winvblock__lib_func WV_SP_DEV_T WvDevFromDevObj(PDEVICE_OBJECT dev_obj) {
     driver__dev_ext_ptr dev_ext;
 
     if (!dev_obj)
@@ -219,7 +216,7 @@ winvblock__lib_func WV_SP_DEV_T device__get(PDEVICE_OBJECT dev_obj) {
  * @v dev_obj           Points to the DEVICE_OBJECT to set the device for.
  * @v dev               Points to the device to associate with.
  */
-winvblock__lib_func void device__set(PDEVICE_OBJECT dev_obj, WV_SP_DEV_T dev) {
+winvblock__lib_func void WvDevForDevObj(PDEVICE_OBJECT dev_obj, WV_SP_DEV_T dev) {
     driver__dev_ext_ptr dev_ext = dev_obj->DeviceExtension;
     dev_ext->device = dev;
     return;
index 119ed74..f69783f 100644 (file)
@@ -42,9 +42,9 @@
 #include "debug.h"
 
 /* Forward declarations. */
-static device__dispatch_func disk_dev_ctl__storage_query_prop_;
-static device__dispatch_func disk_dev_ctl__get_geom_;
-static device__dispatch_func disk_dev_ctl__scsi_get_address_;
+static WV_F_DEV_DISPATCH disk_dev_ctl__storage_query_prop_;
+static WV_F_DEV_DISPATCH disk_dev_ctl__get_geom_;
+static WV_F_DEV_DISPATCH disk_dev_ctl__scsi_get_address_;
 
 static NTSTATUS STDCALL disk_dev_ctl__storage_query_prop_(
     IN WV_SP_DEV_T dev,
@@ -181,7 +181,7 @@ static NTSTATUS STDCALL disk_dev_ctl__scsi_get_address_(
     scsi_address.Length = sizeof (SCSI_ADDRESS);
     scsi_address.PortNumber = 0;
     scsi_address.PathId = 0;
-    scsi_address.TargetId = (winvblock__uint8) dev->dev_num;
+    scsi_address.TargetId = (winvblock__uint8) dev->DevNum;
     scsi_address.Lun = 0;
     RtlCopyMemory(
         irp->AssociatedIrp.SystemBuffer,
index 5cd69c4..d590649 100644 (file)
@@ -47,16 +47,16 @@ __divdi3 (
 #endif
 
 /* IRP_MJ_DEVICE_CONTROL dispatcher from disk/dev_ctl.c */
-extern device__dev_ctl_func disk_dev_ctl__dispatch;
+extern WV_F_DEV_CTL disk_dev_ctl__dispatch;
 /* IRP_MJ_SCSI dispatcher from disk/scsi.c */
-extern device__scsi_func disk_scsi__dispatch;
+extern WV_F_DEV_SCSI disk_scsi__dispatch;
 /* IRP_MJ_PNP dispatcher from disk/pnp.c */
-extern device__pnp_func disk_pnp__dispatch;
+extern WV_F_DEV_PNP disk_pnp__dispatch;
 
 /* Forward declarations. */
 static WV_F_DEV_FREE free_disk;
-static device__dispatch_func disk__power_;
-static device__dispatch_func disk__sys_ctl_;
+static WV_F_DEV_DISPATCH disk__power_;
+static WV_F_DEV_DISPATCH disk__sys_ctl_;
 
 /* Globals. */
 static LIST_ENTRY disk_list;
@@ -64,7 +64,7 @@ static KSPIN_LOCK disk_list_lock;
 winvblock__bool disk__removable[disk__media_count] = { TRUE, FALSE, TRUE };
 PWCHAR disk__compat_ids[disk__media_count] =
   { L"GenSFloppy", L"GenDisk", L"GenCdRom" };
-struct device__irp_mj disk__irp_mj_ = {
+WV_S_DEV_IRP_MJ disk__irp_mj_ = {
     disk__power_,
     disk__sys_ctl_,
     disk_dev_ctl__dispatch,
@@ -159,7 +159,7 @@ static PDEVICE_OBJECT STDCALL create_pdo(IN WV_SP_DEV_T dev_ptr) {
     /*
      * Set associations for the PDO, device, disk
      */
-    device__set(dev_obj_ptr, dev_ptr);
+    WvDevForDevObj(dev_obj_ptr, dev_ptr);
     dev_ptr->Self = dev_obj_ptr;
     KeInitializeEvent ( &disk_ptr->SearchEvent, SynchronizationEvent, FALSE );
     KeInitializeSpinLock ( &disk_ptr->SpinLock );
@@ -374,16 +374,16 @@ disk__create (
    * Populate non-zero device defaults
    */
   disk_ptr->device = dev_ptr;
-  disk_ptr->prev_free = dev_ptr->ops.free;
+  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.close = default_close;
-  dev_ptr->ops.close = disk__close_;
-  dev_ptr->ops.create_pdo = create_pdo;
-  dev_ptr->ops.free = free_disk;
-  dev_ptr->ops.init = disk__init_;
+  dev_ptr->Ops.Close = disk__close_;
+  dev_ptr->Ops.CreatePdo = create_pdo;
+  dev_ptr->Ops.Free = free_disk;
+  dev_ptr->Ops.Init = disk__init_;
   dev_ptr->ext = disk_ptr;
-  dev_ptr->irp_mj = &disk__irp_mj_;
+  dev_ptr->IrpMj = &disk__irp_mj_;
   KeInitializeSpinLock ( &disk_ptr->SpinLock );
 
   return disk_ptr;
index 59b79db..09f3744 100644 (file)
 #include "debug.h"
 
 /* Forward declarations. */
-static device__dispatch_func disk_pnp__query_dev_text_;
-static device__dispatch_func disk_pnp__query_dev_relations_;
-static device__dispatch_func disk_pnp__query_bus_info_;
-static device__dispatch_func disk_pnp__query_capabilities_;
-static device__pnp_func disk_pnp__simple_;
-device__pnp_func disk_pnp__dispatch;
+static WV_F_DEV_DISPATCH disk_pnp__query_dev_text_;
+static WV_F_DEV_DISPATCH disk_pnp__query_dev_relations_;
+static WV_F_DEV_DISPATCH disk_pnp__query_bus_info_;
+static WV_F_DEV_DISPATCH disk_pnp__query_capabilities_;
+static WV_F_DEV_PNP disk_pnp__simple_;
+WV_F_DEV_PNP disk_pnp__dispatch;
 
 static NTSTATUS STDCALL disk_pnp__query_dev_text_(
     IN WV_SP_DEV_T dev,
@@ -215,7 +215,7 @@ static NTSTATUS STDCALL disk_pnp__query_capabilities_(
         goto out;
       }
     disk = disk__get_ptr(dev);
-    bus = WvBusFromDev(device__get(dev->Parent));
+    bus = WvBusFromDev(WvDevFromDevObj(dev->Parent));
     bus_lower = bus->LowerDeviceObject;
     if (bus_lower) {
         status = WvBusGetDevCapabilities(
@@ -380,7 +380,7 @@ NTSTATUS STDCALL disk_pnp__dispatch(
     switch (code) {
         case IRP_MN_QUERY_ID:
           DBG("disk_pnp: IIRP_MN_QUERY_ID\n");
-          return device__pnp_query_id(dev, irp);
+          return WvDevPnpQueryId(dev, irp);
 
         case IRP_MN_QUERY_DEVICE_TEXT:
           DBG("disk_pnp: IRP_MN_QUERY_DEVICE_TEXT\n");
index e84b0f0..e8c2ded 100644 (file)
@@ -65,7 +65,7 @@ disk_scsi__func disk_scsi__read_capacity_;
 disk_scsi__func disk_scsi__read_capacity_16_;
 disk_scsi__func disk_scsi__mode_sense_;
 disk_scsi__func disk_scsi__read_toc_;
-device__scsi_func disk_scsi__dispatch;
+WV_F_DEV_SCSI disk_scsi__dispatch;
 
 #if _WIN32_WINNT <= 0x0600
 #  if 0        /* FIXME: To build with WINDDK 6001.18001 */
index 4d1e1fc..9d41063 100644 (file)
@@ -183,7 +183,7 @@ static NTSTATUS STDCALL driver__attach_fdo_(
         goto err_dos_symlink;
       }
     /* Set associations for the bus, device, FDO, PDO. */
-    device__set(fdo, bus->Dev);
+    WvDevForDevObj(fdo, bus->Dev);
     bus->Dev->Self = fdo;
     bus->PhysicalDeviceObject = PhysicalDeviceObject;
     fdo->Flags |= DO_DIRECT_IO;         /* FIXME? */
@@ -392,8 +392,8 @@ static NTSTATUS driver__dispatch_power_(
     IN PDEVICE_OBJECT dev_obj,
     IN PIRP irp
   ) {
-    /* device__get() checks for a NULL dev_obj */
-    WV_SP_DEV_T dev = device__get(dev_obj);
+    /* WvDevFromDevObj() checks for a NULL dev_obj */
+    WV_SP_DEV_T dev = WvDevFromDevObj(dev_obj);
 
     #ifdef DEBUGIRPS
     Debug_IrpStart(dev_obj, irp);
@@ -405,8 +405,8 @@ static NTSTATUS driver__dispatch_power_(
         return driver__complete_irp(irp, 0, STATUS_NO_SUCH_DEVICE);
       }
     /* Call the particular device's power handler. */
-    if (dev->irp_mj && dev->irp_mj->power)
-      return dev->irp_mj->power(dev, irp);
+    if (dev->IrpMj && dev->IrpMj->Power)
+      return dev->IrpMj->Power(dev, irp);
     /* Otherwise, we don't support the IRP. */
     return driver__complete_irp(irp, 0, STATUS_NOT_SUPPORTED);
   }
@@ -416,8 +416,8 @@ static NTSTATUS driver__dispatch_create_close_(
     IN PDEVICE_OBJECT dev_obj,
     IN PIRP irp
   ) {
-    /* device__get() checks for a NULL dev_obj */
-    WV_SP_DEV_T dev = device__get(dev_obj);
+    /* WvDevFromDevObj() checks for a NULL dev_obj */
+    WV_SP_DEV_T dev = WvDevFromDevObj(dev_obj);
 
     #ifdef DEBUGIRPS
     Debug_IrpStart(dev_obj, irp);
@@ -434,8 +434,8 @@ static NTSTATUS driver__dispatch_sys_ctl_(
     IN PDEVICE_OBJECT dev_obj,
     IN PIRP irp
   ) {
-    /* device__get() checks for a NULL dev_obj */
-    WV_SP_DEV_T dev = device__get(dev_obj);
+    /* WvDevFromDevObj() checks for a NULL dev_obj */
+    WV_SP_DEV_T dev = WvDevFromDevObj(dev_obj);
 
     #ifdef DEBUGIRPS
     Debug_IrpStart(dev_obj, irp);
@@ -444,8 +444,8 @@ static NTSTATUS driver__dispatch_sys_ctl_(
     if (!dev || dev->State == WvDevStateDeleted)
       return driver__complete_irp(irp, 0, STATUS_NO_SUCH_DEVICE);
     /* Call the particular device's power handler. */
-    if (dev->irp_mj && dev->irp_mj->sys_ctl)
-      return dev->irp_mj->sys_ctl(dev, irp);
+    if (dev->IrpMj && dev->IrpMj->SysCtl)
+      return dev->IrpMj->SysCtl(dev, irp);
     /* Otherwise, we don't support the IRP. */
     return driver__complete_irp(irp, 0, STATUS_NOT_SUPPORTED);
   }
@@ -455,8 +455,8 @@ static NTSTATUS driver__dispatch_dev_ctl_(
     IN PDEVICE_OBJECT dev_obj,
     IN PIRP irp
   ) {
-    /* device__get() checks for a NULL dev_obj */
-    WV_SP_DEV_T dev = device__get(dev_obj);
+    /* WvDevFromDevObj() checks for a NULL dev_obj */
+    WV_SP_DEV_T dev = WvDevFromDevObj(dev_obj);
     PIO_STACK_LOCATION io_stack_loc = IoGetCurrentIrpStackLocation(irp);
 
     #ifdef DEBUGIRPS
@@ -466,8 +466,8 @@ static NTSTATUS driver__dispatch_dev_ctl_(
     if (!dev || dev->State == WvDevStateDeleted)
       return driver__complete_irp(irp, 0, STATUS_NO_SUCH_DEVICE);
     /* Call the particular device's power handler. */
-    if (dev->irp_mj && dev->irp_mj->dev_ctl) {
-        return dev->irp_mj->dev_ctl(
+    if (dev->IrpMj && dev->IrpMj->DevCtl) {
+        return dev->IrpMj->DevCtl(
             dev,
             irp,
             io_stack_loc->Parameters.DeviceIoControl.IoControlCode
@@ -482,8 +482,8 @@ static NTSTATUS driver__dispatch_scsi_(
     IN PDEVICE_OBJECT dev_obj,
     IN PIRP irp
   ) {
-    /* device__get() checks for a NULL dev_obj */
-    WV_SP_DEV_T dev = device__get(dev_obj);
+    /* WvDevFromDevObj() checks for a NULL dev_obj */
+    WV_SP_DEV_T dev = WvDevFromDevObj(dev_obj);
     PIO_STACK_LOCATION io_stack_loc = IoGetCurrentIrpStackLocation(irp);
 
     #ifdef DEBUGIRPS
@@ -493,8 +493,8 @@ static NTSTATUS driver__dispatch_scsi_(
     if (!dev || dev->State == WvDevStateDeleted)
       return driver__complete_irp(irp, 0, STATUS_NO_SUCH_DEVICE);
     /* Call the particular device's power handler. */
-    if (dev->irp_mj && dev->irp_mj->scsi) {
-        return dev->irp_mj->scsi(
+    if (dev->IrpMj && dev->IrpMj->Scsi) {
+        return dev->IrpMj->Scsi(
             dev,
             irp,
             io_stack_loc->Parameters.Scsi.Srb->Function
@@ -509,8 +509,8 @@ static NTSTATUS driver__dispatch_pnp_(
     IN PDEVICE_OBJECT dev_obj,
     IN PIRP irp
   ) {
-    /* device__get() checks for a NULL dev_obj */
-    WV_SP_DEV_T dev = device__get(dev_obj);
+    /* WvDevFromDevObj() checks for a NULL dev_obj */
+    WV_SP_DEV_T dev = WvDevFromDevObj(dev_obj);
     PIO_STACK_LOCATION io_stack_loc = IoGetCurrentIrpStackLocation(irp);
 
     #ifdef DEBUGIRPS
@@ -520,8 +520,8 @@ static NTSTATUS driver__dispatch_pnp_(
     if (!dev || dev->State == WvDevStateDeleted)
       return driver__complete_irp(irp, 0, STATUS_NO_SUCH_DEVICE);
     /* Call the particular device's power handler. */
-    if (dev->irp_mj && dev->irp_mj->pnp) {
-        return dev->irp_mj->pnp(
+    if (dev->IrpMj && dev->IrpMj->Pnp) {
+        return dev->IrpMj->Pnp(
             dev,
             irp,
             io_stack_loc->MinorFunction
@@ -568,5 +568,5 @@ winvblock__lib_func WV_SP_BUS_T driver__bus(void) {
         DBG("No driver bus device!\n");
         return NULL;
       }
-    return WvBusFromDev(device__get(driver__bus_fdo_));
+    return WvBusFromDev(WvDevFromDevObj(driver__bus_fdo_));
   }
index 52a34f1..57c6ebc 100644 (file)
@@ -283,9 +283,9 @@ filedisk__create (
    * Populate non-zero device defaults
    */
   filedisk_ptr->disk = disk_ptr;
-  filedisk_ptr->prev_free = disk_ptr->device->ops.free;
-  disk_ptr->device->ops.free = free_filedisk;
-  disk_ptr->device->ops.pnp_id = query_id;
+  filedisk_ptr->prev_free = disk_ptr->device->Ops.Free;
+  disk_ptr->device->Ops.Free = free_filedisk;
+  disk_ptr->device->Ops.PnpId = query_id;
   disk_ptr->disk_ops.io = io;
   disk_ptr->disk_ops.close = close;
   disk_ptr->ext = filedisk_ptr;
@@ -380,16 +380,10 @@ thread (
       KeWaitForSingleObject ( &filedisk_ptr->signal, Executive, KernelMode,
                              FALSE, &timeout );
       KeResetEvent ( &filedisk_ptr->signal );
-      /*
-       * Are we being torn down?  We abuse the device's free() member
-       */
-      if ( filedisk_ptr->disk->device->ops.free == NULL )
-       {
-         break;
-       }
-      /*
-       * Process each read/write request in the list
-       */
+      /* Are we being torn down?  We abuse the device's Free() member. */
+      if (filedisk_ptr->disk->device->Ops.Free == NULL)
+        break;
+      /* Process each read/write request in the list. */
       while ( walker =
              ExInterlockedRemoveHeadList ( &filedisk_ptr->req_list,
                                            &filedisk_ptr->req_list_lock ) )
@@ -456,7 +450,7 @@ static void STDCALL free_threaded_filedisk(IN WV_SP_DEV_T dev_ptr)
     /*
      * Queue the tear-down and return.  The thread will catch this on timeout.
      */
-    dev_ptr->ops.free = NULL;
+    dev_ptr->Ops.Free = NULL;
   }
 
 /**
@@ -486,7 +480,7 @@ filedisk__create_threaded (
    */
   filedisk_ptr->sync_io = io;
   filedisk_ptr->disk->disk_ops.io = threaded_io;
-  filedisk_ptr->disk->device->ops.free = free_threaded_filedisk;
+  filedisk_ptr->disk->device->Ops.Free = free_threaded_filedisk;
   /*
    * Initialize threading parameters and start the filedisk's thread
    */
index 1f3c523..c42ef46 100644 (file)
@@ -188,9 +188,9 @@ ramdisk__create (
    * Populate non-zero device defaults
    */
   ramdisk_ptr->disk = disk_ptr;
-  ramdisk_ptr->prev_free = disk_ptr->device->ops.free;
-  disk_ptr->device->ops.free = free_ramdisk;
-  disk_ptr->device->ops.pnp_id = query_id;
+  ramdisk_ptr->prev_free = disk_ptr->device->Ops.Free;
+  disk_ptr->device->Ops.Free = free_ramdisk;
+  disk_ptr->device->Ops.PnpId = query_id;
   disk_ptr->disk_ops.io = io;
   disk_ptr->ext = ramdisk_ptr;