Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The ultimate purpose of a file system device is to hold data. Consequently, two major operations that can occur on a device are the reading and writing of individual sectors. Five additional operations can be performed which affect not just individual sectors, but the whole device:

  • A device can be opened. During the opening of a device, it is initialized and its characteristics are determined (sector size, number of sectors, vendor).
  • A device can be partitioned. Partitioning divides the final unallocated portion of the device into two parts, so that a volume could be located on each (see section 7-5 “Partitions”).
  • A device can be low-level formatted. Some device must be low-level formatted before being used.
  • A device can be (high-level) formatted. (High-level) formatting writes the control information for a file system to a device so that a volume on it can be mounted. Essentially, (high-level) formatting is the process of creating a volume on an empty device or partition.
  • A device can be closed. During the closing of a device, it is uninitialized (if necessary) and associated structures are freed.
  • These operations and the corresponding API functions are discussed in this section. For information about using device names, see section 4-2 “μC/FS Device and Volume Names”.

    Function

    Description

    FSDev_AccessLock()

    Acquire exclusive access to a device.

    FSDev_AccessUnlock()

    Release exclusive access to a device.

    FSDev_Close()

    Remove device from file system.

    FSDev_GetNbrPartitions()

    Get number of partitions on a device.

    FSDev_Invalidate()

    Invalidate files and volumes open on a device.

    FSDev_IO_Ctrl()

    Perform device I/O control operation.

    FSDev_Open()

    Add device to file system.

    FSDev_PartitionAdd()

    Add partition to device.

    FSDev_PartitionFind()

    Find partition on device and get information about partition.

    FSDev_PartitionInit()

    Initialize partition on device.

    FSDev_Query()

    Get device information.

    FSDev_Rd()

    Read sector on device.

    FSDev_Refresh()

    Refresh device in file system.

    FSDev_Wr()

    Write sector on device.

    Table 7-1 Device API functions

    • No labels