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_
/**
* 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;
* 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.
{
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;
};
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;
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;
}
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;