<< Previous | Next >>

mbr_EnumDevice

mbr_EnumDevice( mbr_drvr *driver, mbr_dev *dev, int devnum, int (*checktype)() );

Description

This routine is called to learn about devices present on the driver passed in. The device will be added to the linked list of enumerated devices. Partition information will be filled in from the master boot record (MBR). Pointers to file system level partition information structures will be set to NULL.

Parameters

driver
Pointer to a DOS contoller structure (setup during init of storage device devicer.)

dev
Pointer to a drive structure to be filled in.

devnum
Physical device number of device on the driver.

checktype
Routine that takes an unsigned char partition type and returns 1 if of sought type and zero if not. Pass NULL for this parameter to bypass this check.

Return value

0 for success
-EIO for Error trying to read the device or structure.
-EINVAL if devnum invalid or does not exist.
-ENOMEM if memory for page buffer is not available.
-EUNFORMAT if the device is accessible, but not formatted. You can use it provided it is formatted/partitioned by either this library or another system.
-EBADPART if the partition table on the device is invalid
-ENOPART if the device does not have any sought partitions, If checktype parameter is NULL, this test is bypassed. This code is superseded by any other error detected.
-EXIST if the device has already been enumerated.
-EBUSY if the device is busy.

Library

PART.LIB


Dynamic C Functions << Previous | Next >> rabbit.com