DOSSRV(4) DOSSRV(4) NAME dossrv, 9660srv, a:, b:, c:, d:, 9fat:, dosmnt, eject - DOS and ISO9660 file systems SYNOPSIS dossrv [ -v ] [ -r ] [ -s ] [ -f file ] [ service ] 9660srv [ -9J ] [ -v ] [ -s ] [ -f file ] [ service ] a: b: c: 9fat: dosmnt n mtpt eject [ n ] DESCRIPTION Dossrv is a file server that interprets DOS file systems. A single instance of dossrv can provide access to multiple DOS disks simultaneously. Dossrv posts a file descriptor named service (default dos) in the /srv directory. To access the DOS file system on a device, use mount with the spec argument (see bind(1)) the name of the file holding raw DOS file system, typically the disk. If spec is undefined in the mount, dossrv will use file as the default name for the device holding the DOS sys- tem. Normally dossrv creates a pipe to act as the communications channel between itself and its clients. The -s flag instructs dossrv to use its standard input and output instead. The kernels use this option if they are booting from a DOS disk. This flag also prevents the creation of an explicit service file in /srv. The -v flag causes verbose output for debugging, while the -r flag makes the file system read-only. The shell script a: contains unmount /n/a: >[2] /dev/null mount -c /srv/dos /n/a: /dev/fd0disk and is therefore a shorthand for mounting a floppy disk in Page 1 Plan 9 (printed 12/28/24) DOSSRV(4) DOSSRV(4) drive A. The scripts b: and dosmnt are similar, mounting the second floppy disk and the nth non-floppy DOS partition, respectively. C: and d: call dosmnt in an attempt to name the drives in the same order that Microsoft operating sys- tems do. 9fat: provides access to the FAT component of the Plan 9 partition (see prep(8)). The file attribute flags used by the DOS file system do not map directly to those used by Plan 9. Since there is no concept of user or group, permission changes via wstat (see stat(2)) will fail unless the same (read, write, execute) permissions are specified for user, group, and other. For example, removing write permission in Plan 9 corresponds to setting the read-only attribute in the DOS file system. Most of the other DOS attributes are not accessible. Setting the exclusive use flag (CHEXCL) in Plan 9 corre- sponds to setting the system use attribute in the DOS file system. Such files are not actually restricted to exclusive use, but do merit special treatment that helps in the cre- ation of boot disks: when dossrv allocates a new block for such a file (caused, say, by a write that fills the file's last allocated block), it succeeds only if it can arrange for the file to be stored contiguously on disk. Since other operating systems do not guarantee that system files are laid out contiguously, the CHAPPEND mode bit is set in file stat information only when the file is currently contiguous. Attempts to set the CHAPPEND mode bit explic- itly will cause dossrv to try to make the file contiguous, succeeding only if this is possible. 9660srv is similar to dossrv in specification, except that it interprets ISO9660 CD-ROM file systems instead of DOS file systems. Some CDs contain multiple directory trees describing the same set of files. 9660srv's first choice in such a case is a standard ISO9660 tree with Plan 9 system use fields; the second choice is a Microsoft ``Joliet'' tree, which allows long file names and Unicode characters; the third choice is a standard ISO9660 or High Sierra tree. The -9 flag causes 9660srv to ignore the Plan 9 system use fields, while the -J flag causes it to ignore the Joliet tree. If the floppy drive has an ejection motor, eject will spit out the floppy from drive n, default 0. EXAMPLE Mount a floppy disk with a DOS file system on it. a: Page 2 Plan 9 (printed 12/28/24) DOSSRV(4) DOSSRV(4) SEE ALSO kfs(4) SOURCE /sys/src/cmd/dossrv /sys/src/cmd/9660srv /rc/bin/eject BUGS The overloading of the semantics of the CHEXCL and CHAPPEND bits can be confusing. Page 3 Plan 9 (printed 12/28/24)