typedef winvblock__bool STDCALL device__init_func(IN struct device__type *);
/**
- * Device close routine
+ * Device close routine.
*
- * @v dev_ptr The device being closed
+ * @v dev_ptr The device being closed.
*/
-# define device__close_decl( x ) \
-\
-void STDCALL \
-x ( \
- IN struct device__type * dev_ptr \
- )
-/*
- * Function pointer for a device close routine.
- * 'indent' mangles this, so it looks weird
- */
-typedef device__close_decl (
- ( *device__close_routine )
- );
-/**
- * Close a device
- *
- * @v dev_ptr Points to the device to close
- */
-extern winvblock__lib_func device__close_decl (
- device__close
- );
+typedef void STDCALL device__close_func(IN struct device__type *);
+
+extern winvblock__lib_func device__close_func device__close;
/**
* Device deletion routine.
winvblock__def_struct(device__ops) {
device__create_pdo_func * create_pdo;
device__init_func * init;
- device__close_routine close;
+ device__close_func * close;
device__free_func * free;
};
}
/**
- * Close a device
+ * Close a device.
*
- * @v dev_ptr Points to the device to close
+ * @v dev_ptr Points to the device to close.
*/
-winvblock__lib_func
-device__close_decl (
- device__close
- )
-{
- /*
- * Call the device's close routine
- */
- dev_ptr->ops.close ( dev_ptr );
-}
+winvblock__lib_func void STDCALL device__close(
+ IN struct device__type * dev_ptr
+ ) {
+ /* Call the device's close routine. */
+ dev_ptr->ops.close(dev_ptr);
+ return;
+ }
/**
* Delete a device.
return TRUE;
}
-static
-device__close_decl (
- close
- )
-{
- disk__type_ptr disk_ptr = disk__get_ptr ( dev_ptr );
- disk_ptr->disk_ops.close ( disk_ptr );
- return;
-}
+static void STDCALL disk__close_(IN struct device__type * dev_ptr) {
+ disk__type_ptr disk_ptr = disk__get_ptr(dev_ptr);
+ disk_ptr->disk_ops.close(disk_ptr);
+ return;
+ }
disk__close_decl ( default_close )
{
disk_ptr->disk_ops.init = default_init;
disk_ptr->disk_ops.close = default_close;
dev_ptr->dispatch = disk_dispatch;
- dev_ptr->ops.close = 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_;