Volume Operations
Five general operations can be performed on a volume:
- A volume can be opened (mounted). During the opening of a volume, file system control structures are read from the underlying device, parsed and verified.
- Files can be accessed on a volume. A file is a linear data sequence (‘file contents’) associated with some logical, typically human-readable identifier (‘file name’). Additional properties, such as size, update date/time and access mode (e.g., read-only, write-only, read-write) may be associated with a file. File accesses constitute reading data from files, writing data to files, creating new files, renaming files, copying files, etc. File access is accomplished via file module-level functions, which are covered in Files.
- Directories can be accessed on a volume. A directory is a container for files and other directories. Operations include iterating through the contents of the directory, creating new directories, renaming directories, etc. Directory access is accomplished via directory module-level functions, which are covered in Directories.
- A volume can be formatted. (More specifically, high-level formatted.) Formatting writes the control information for a file system to the partition on which a volume is located.
- A volume can be closed (unmounted). During the closing of a volume, any cached data is written to the underlying device and associated structures are freed.
For information about using volume names, see µC/FS Device and Volume Names. For FAT-specific volume functions, see FAT File System.
Table - Volume API functions
Function | Description | Valid for Unmounted Volume? |
---|---|---|
FSVol_CacheAssign() | Assign cache to volume. | Yes |
FSVol_CacheInvalidate() | Invalidate cache for volume. | No |
FSVol_CacheFlush() | Flush cache for volume. | No |
FSVol_Close() | Close (unmount) volume. | Yes |
FSVol_Fmt() | Format volume. | Yes |
FSVol_IsMounted() | Determine whether volume is mounted. | Yes |
FSVol_LabelGet() | Get volume label. | No |
FSVol_LabelSet() | Set volume label. | No |
FSVol_Open() | Open (mount) volume. | ----- |
FSVol_Query() | Get volume information. | Yes |
FSVol_Rd() | Read sector on volume. | No |
FSVol_Refresh() | Refresh a volume. | No |
FSVol_Wr() | Write sector on volume. | No |