SunOS man pages : pcfs (7)
File Systems pcfs(7FS)
NAME
pcfs - DOS formatted file system
SYNOPSIS
#include <sys/param.h>
#include <sys/mount.h>
#include <sys/fs/pc_fs.h>
int mount(const char *spec, const char *dir, int mflag,
"pcfs", structpcfs_args, struct *pc_argp, sizeof (struct
pcfs_args));
DESCRIPTION
pcfs is a file system type that allows users direct access
to files on DOS formatted disks from within the SunOS
operating system. Once mounted, pcfs provides standard
SunOS file operations and semantics. That is, users can
create, delete, read, and write files on a DOS formatted
disk. They can also create and delete directories and list
files in a directory.
The pcfs file system contained on the block special file
identified by spec is mounted on the directory identified
by dir. spec and dir are pointers to pathnames. mflag
specifies the mount options. The MS_DATA bit in mflag
must be set. Mounting a pcfs file system requires a pointer
to a structure containing mount flags and local timezone
information, *pc_argp:
struct pcfs_args {
int timezone; /* seconds west of Greenwich */
int daylight; /* type of dst correction */
int flags;
};
The information required in the timezone and daylight
members of this structure is described in ctime(3C). flags
can contain the PCFS_MNT_FOLDCASE flag. Fold names read from
the file system to lowercase.
Mounting File Systems
Use the following command to mount pcfs from diskette:
mount -F pcfs device-special directory-name
You can use:
mount directory-name
if the following line is in your /etc/vfstab file:
SunOS 5.8 Last change: 1 Apr1999 1
File Systems pcfs(7FS)
device-special - directory-namepcfs - no rw
Use the following command to mount pcfs from non-diskette
media:
mount -F pcfs device-special:logical-drive directory-name
You can use:
mount directory-name
if the following line is in your /etc/vfstab file:
device-special:logical_drive - directory-name pcfs - no rw
device-special specifies the special block device file for
the diskette (/dev/disketteN) or the entire hard disk
(/dev/dsk/cNtNdNp0 for a SCSI disk, and /dev/dsk/cNdNp0 for
IDE disks) or the PCMCIA pseudo-floppy memory card
(/dev/dsk/cNtNdNsN).
logical-drive specifies either the DOS logical drive letter
(c through z) or a drive number (1 through 24). Drive
letter c is equivalent to drive number 1 and represents
the Primary DOS partition on the disk; drive letters d
through z are equivalent to drive numbers 2 through 24,
and represent DOS drives within the Extended DOS parti-
tion. Note that device-special and logical-drive must be
separated by a colon.
directory-name specifies the location where the file system
is mounted.
For example, to mount the Primary DOS partition from a SCSI
hard disk, use:
mount -F pcfs /dev/dsk/cNtNdNp0:c /pcfs/c
To mount the first logical drive in the Extended DOS parti-
tion from an IDE hard disk, use:
mount -F pcfs /dev/dsk/cNdNp0:d /pcfs/d
To mount a DOS diskette in the first floppy drive, if
Volume Management is not running (see vold(1M)) use:
mount -F pcfs /dev/diskette /pcfs/a
If Volume Management is running, then running volcheck(1)
will automatically mount the floppy and some removable disks
for the user.
SunOS 5.8 Last change: 1 Apr1999 2
File Systems pcfs(7FS)
To mount a PCMCIA pseudo-floppy memory card, with Volume
Management not running (or not managing the PCMCIA media),
use:
mount -F pcfs /dev/dsk/cNtNdNsN /pcfs
Conventions
Files and directories created through pcfs have to comply
with either the DOS short file name convention or the long
file name convention introduced with Windows 95. The DOS
short file name convention is of the form filename[.ext],
where filename generally consists of from one to eight
upper-case characters, while the optional ext consists of
from one to three upper-case characters.
The long file name convention is much closer to Solaris file
names. A long file name can consist of any any characters
valid in a short file name, lowercase letters, non-leading
spaces, the characters +,;=[], any number of periods, and
can be up to 255 characters long. Long file names have an
associated short file name for systems that do not support
long file names (such as earlier releases of Solaris). The
short file name is not visible if the system recognizes long
file names. pcfs generates a unique short name automatically
when creating a long file name.
Given a long file name such as This is a really long
filename.TXT, the short file name will generally be of the
form THISIS~N.TXT, where N is a number. So, this long
file name will probably get the short name THISIS~1.TXT, or
THISIS~2.TXT if THISIS~1.TXT already exits (or THISIS~3.TXT
if both exist, and so forth). If you need to use pcfs file
systems on systems that do not support long file names, you
may want to continue following the short file name conven-
tions. See EXAMPLES.
When creating a file name, pcfs creates a short file name if
it fits the DOS short file name format, otherwise it
creates a long file name. This is because long file names
take more directory space. In fact, since the root directory
of a pcfs file system is fixed size, long file names in the
root directory should be avoided if possible.
When displaying file names, pcfs shows them exactly as they
are on the media (so short names show up as all uppercase,
and long file names retain their case). The old behavior of
pcfs was to fold all names to lowercase, which can be
forced with the PCFS_MNT_FOLDCASE mount option. All file
name searches within pcfs, however, are treated as if they
were uppercase, so readme.txt and ReAdMe.TxT refer to the
SunOS 5.8 Last change: 1 Apr1999 3
File Systems pcfs(7FS)
same file.
To format a diskette or a PCMCIA pseudo-floppy memory card
in DOS format in the SunOS system, use either the fdformat
-d or the DOS FORMAT command.
Boot Partitions
On IA systems, hard drives may contain an fdisk partition
reserved for the Solaris boot utilities. These partitions
are special instances of pcfs. You can mount an IA boot
partition with the command:
mount -F pcfs device-special:boot directory-name
or you can use:
mount directory-name
if the following line is in your /etc/vfstab file:
device-special:boot - directory-name pcfs - no rw
device-special specifies the special block device file for
the entire hard disk (/dev/dsk/cNtNdNp0)
directory-name specifies the location where the file system
is mounted.
All files on a boot partition are owned by super-user. Only
the super-user may create, delete, or modify files on a
boot partition.
EXAMPLES
Example 1: Sample Displays of File Names
If you copy a file financial.data from a UNIX file system to
pcfs, it will show up as financial.data in pcfs, but will
probably show up as FINANC~1.DAT in systems that do not sup-
port long file names.
The following file names are not legal short file names, but
are legal long file names :
test.sh.orig
data+
.login
Other systems that do not support long file names may well
see:
SunOS 5.8 Last change: 1 Apr1999 4
File Systems pcfs(7FS)
TESTSH~1.ORI
DATA~1
LOGIN~1
The short file name is generated from the initial characters
of the long file name, so it is better to differentiate
names in the first few characters. For example, these names:
WorkReport.January.Data
WorkReport.February.Data
WorkReport.March.Data
result in these short names, which are not very distinguish-
able:
WORKRE~1.DAT
WORKRE~2.DAT
WORKRE~13.DAT
These names, however:
January.WorkReport.Data
February.WorkReport.Data
March.WorkReport.Data
result in the more descriptive short names:
JANUAR~1.DAT
FEBRUA~1.DAT
MARCHW~1.DAT
FILES
/usr/lib/fs/pcfs/mount
pcfs mount command
/usr/kernel/fs/pcfs
32-bit kernel module
/usr/kernel/fs/sparcv9/pcfs
64-bit kernel module
SunOS 5.8 Last change: 1 Apr1999 5
File Systems pcfs(7FS)
SEE ALSO
chgrp(1), chown(1), dos2unix(1), eject(1), fdformat(1),
unix2dos(1), volcheck(1), mount(1M), mount_pcfs(1M),
vold(1M), ctime(3C), vfstab(4), pcmem(7D)
WARNINGS
Do not physically eject a DOS floppy while the device is
still mounted as pcfs. If Volume Management is managing a
device, use the eject(1) command before physically removing
media.
When mounting pcfs on a hard disk, make sure the first block
on that device contains a valid fdisk partition table.
Because pcfs has no provision for handling owner-IDs or
group-IDs on files, chown(1) or chgrp(1) may generate vari-
ous errors. This is a limitation of pcfs, but it should not
cause problems other than error messages.
NOTES
The following characters are the only ones allowed in pcfs
short file names and extensions:
0-9
A-Z
$#&@!%()-{}<>`_^~|'
SunOS and DOS use different character sets and have dif-
ferent requirements for the text file format. Use the
dos2unix(1) and unix2dos(1) commands to convert files
between them.
pcfs offers a convenient transportation vehicle for files
between Sun Workstations and PCs. Since the DOS disk for-
mat was designed for use under DOS, it is quite inefficient
to operate under the SunOS system. Therefore, it should not
be used as the format for a regular local storage. Use ufs
instead for local storage within the SunOS system.
Although long file names can contain spaces (just as in
UNIX file names), some utilities may be confused by them.
This implementation of pcfs conforms to the behavior exhi-
bited by Windows 95 version 4.00.950.
BUGS
pcfs should handle the disk change condition in the same way
that DOS does, so that the user does not need to unmount
the file system to change floppies.
SunOS 5.8 Last change: 1 Apr1999 6
File Systems pcfs(7FS)
When listing or searching a directory, pcfs does not include
files with the hidden or system bits set.
SunOS 5.8 Last change: 1 Apr1999 7
|
 |
|
|