DOS filesystem (QNX Neutrino)
Syntax:
driver ... dos dos_options ... &
Options:
Where driver is one of the devb-* drivers, and
dos_options is one or more of the following, separated by commas:
- badchar=value
- (QNX Neutrino 7.0 or later) Specify the character to use instead of unrecognized characters in names.
The value must be in the range from 1 through 127;
the default is 95 (underscore).
- case
- Use case-sensitive filename matching (forces long filenames).
DOS/FAT is normally a case-preserving, case-insensitive filesystem.
- codepage=mapping
- Install a DOS codepage for mapping of locale 8.3 filenames.
These names are used only when the corresponding (Unicode)
long filename is absent (created pre-Win95) or has been
disabled (using lfn=ignore) or for the volume label;
specification of the appropriate locale will also allow portability of filenames created by
fs-dos.so to older versions of DOS.
Use the chcp native command on a DOS system to determine its active codepage.
Supported values for mapping are:
mapping |
Description |
cp437 |
DOS Latin US |
cp850 |
DOS Latin-1 |
cp852 |
DOS Latin-2 |
cp866 |
DOS Cyrillic |
cp932 |
Japanese; see below |
cp936 |
Simplified Chinese; see below |
cp950 |
Traditional Chinese; see below |
cp1250 |
Windows Latin 2 |
cp1251 |
Windows Cyrillic |
cp1252 |
Windows Latin 1 |
koi8r |
KOI8 Cyrillic |
Note:
The character sets for Japanese, simplified Chinese, and traditional Chinese
(code pages 932, 936, and 950, respectively) aren't statically linked into fs-dos.so
as the other code pages are; they're in a separate shared library, charset.so.
If you need to use these code pages, make sure to include charset.so in your OS image.
- compat=auto|dos|os2|win95|win98|win2k
- Set DOS/Windows compatibility mode.
Certain versions of DOS implement minor individual peculiarities of the FAT on-disk
format, although this is unlikely to affect any normal or typical filesystem client usage.
The default is auto.
- exe=all|auto|none|system
- Specify how to handle the POSIX x-bit for executables:
- all — make all files executable.
- auto — make files ending in .exe, .bat,
and .com executable.
- none — make no files executable.
- system — use the DOS system attribute to indicate which files are executable.
The default is auto.
- fat=always|lazy|nonrmv
- Set pre-reading of the FAT.
Scanning the FAT is required to return the count of free blocks.
It also allows for improved
write()
performance by creating an in-memory summary of where free blocks might be located within the filesystem.
The value must be one of the following:
- always — always read the entire FAT at mount time
- lazy — read the FAT only when required
(statvfs()
query)
- nonrmv — act as always for nonremovable
media, and lazy for removable media
The default is nonrmv.
- fsi=ignore|lazy|update|use
- Set the handling of the FAT32/FSI record (this contains a count
of free clusters plus a hint at the next free cluster):
- ignore — ignore the record.
- lazy — update the record only when unmounting.
- update — update it whenever the FAT is modified.
- use — update it and use it (normally the free block
count is calculated at mounting).
The default is lazy.
- gid=group
- Set the owning group of all files to group.
The default is 0 (root).
- hidden=dot|ignore|show
- Specify what to do with files that have the DOS hidden attribute:
- dot — show hidden files in the filesystem with a dot (.) prefixed to their names.
Files created with a leading dot have the DOS hidden attribute set.
- ignore — ignore hidden files; the files don't appear in the filesystem.
- show — show hidden files in the filesystem as normal files.
The default is show.
- lfn=always|ignore|show
- Specify what to do with long filenames:
- always — show long filenames.
Always create both short and long filenames.
- ignore — ignore long filenames. Only 8.3 filenames are displayed or created.
- show — show long filenames.
Long filenames are created if the filename is longer than 8.3 or if mixed case is used.
The default is show.
- lnk=all|ignore|local
- Specify how to handle Windows shortcut files:
- all — turn all shortcut files into symbolic links pointing to their shortcut targets.
- ignore — place no special meaning on these files (the default).
- local — turn into symbolic links only those shortcut files that point to targets
within this filesystem.
- mbutf
- (QNX Neutrino 7.0 or later) Enable support for multibyte UTF-8 characters in the volume label.
The default behavior is to support only ASCII and single-byte UTF characters;
other characters are replaced by the bad character (see the badchar option).
- notrunc
- Enforce short (8.3) filenames. This option is valid only with lfn=ignore.
By default, filename components beyond the 8.3 limit are silently ignored.
For example, LONGFILENAME.TXT becomes LONGFILE.TXT.
- posix=emulate|none|strict
- Set POSIX check and emulation modes:
- emulate — provide the following features beyond those provided by FAT:
- Create the . and .. entries in the root directory.
- Calculate directory size.
- Calculate the number of links per directory, based on the subdirectories.
- Ignore modification attempts that cannot be stored on disk or recreated by emulation, but don't raise errors.
- none — disable POSIX checks and emulation:
- There are no . and .. entries in the root directory.
- The link count of every directory is always 2.
- strict — set stricter POSIX checks. Provide the same features listed under
emulate mode, but flag as errors modification attempts that cannot
be stored on disk or recreated by emulation. For example, an error of EINVAL
is flagged for attempts to do any of the following:
- Set the user ID or group ID to something other than the default.
- Remove an r permission.
- Set an s permission.
- Set a file modification or access time to pre-1980.
The default is emulate.
- sfn=lower|upper|windows
- Specify how to display 8.3 filenames:
- lower — always user lowercase (file.c).
- upper — always use uppercase (FILE.C).
- windows — emulate WindowsNT and use all lowercase
or all uppercase according to the attributes of each filename
(e.g., file.c or FILE.C).
The default is lower.
- system=ignore|show
- Specify what to do with files that have the DOS system attribute:
- ignore — ignore system files; they don't appear in the filesystem.
- show — show system files in the filesystem as normal files.
The default is show.
- uid=user
- Set the owner of all files to user.
The default is 0 (root).
- umask=mask
- Apply this permission mask to all files. The default is 0 (all permissions).
The mask argument is a numeric or symbolic umask, similar to what the
chmod
utility uses.
Note:
Because
getsubopt()
interprets commas as separators between suboptions, you can specify only one
symbolic mode at a time (e.g.,
u=rw, not
u=rw,go=r).
To work around this, specify more than one
umask option (e.g.,
umask=u=rw umask=go=r).
- utc
- Use UTC time rather than local time for timestamps.
- vollabel=equals|ignore|show
- Specify what to do with the DOS volume name:
- equals — display the volume label as a name-special file with an
= prefixed to its name.
- ignore — don't display the volume label.
- show — display the volume label as a name-special file.
The default is equals.
In addition, you can specify any of the
filesystem options
described for
io-blk.so.
Description:
The fs-dos.so shared object lets you mount DOS filesystems
(FAT12, FAT16, and FAT32) under QNX Neutrino.
The fs-dos.so shared object is automatically loaded by the devb-*
drivers when mounting a DOS FAT filesystem.
Note:
This filesystem uses UTF-8 encoding for presentation of its filenames;
attempts to specify a filename not using UTF-8 encoding will fail (with an error of EILSEQ).
Summary of filesystem commands
The following table shows the shared objects and related commands for the filesystems:
a Read-only.
b Not usually necessary.
For more information, see the
Filesystems
chapter of the System Architecture guide.