Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
pcfs(7FS)			 File Systems			     pcfs(7FS)

       pcfs - DOS formatted file system

       #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));

       pcfs is a file system type that enables direct access to	files  on  DOS
       formatted disks from within the SunOS operating system.

       Once  mounted,  pcfs provides standard SunOS file operations and	seman-
       tics. Using pcfs, you can create, delete, read, and write  files	 on  a
       DOS  formatted  disk.   You  can	also create and	delete directories and
       list files in a directory.

       pcfs supports FAT12 (floppies) and FAT16	and FAT32 file systems.

       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   in-
       formation, *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:

       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 equiva-
       lent to drive number 1 and represents the Primary DOS partition on  the
       disk;  drive  letters   d through  z are	equivalent to drive numbers  2
	24, and	represent  DOS drives  within  the  Extended   DOS  partition.
       Note  that  device-special  and	logical-drive	must be	separated by a

       directory-name specifies	the location where the file system is mounted.

       For example, to mount the Primary DOS partition from a SCSI hard	 disk,

       mount -F	pcfs /dev/dsk/cNtNdNp0:c /pcfs/c

       To mount	the first logical drive	in the Extended	 DOS partition 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 when Volume  Manage-
       ment is not running (see	vold(1M)) use:

       mount -F	pcfs /dev/diskette /pcfs/a

       If  Volume  Management  is  running,   run volcheck(1) to automatically
       mount the floppy	and some removable disks.

       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

       Files  and directories created through pcfs must	comply with either the
       DOS short file name convention or the long file name convention	intro-
       duced  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 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  sup-
       port long file names (including 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

       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. The long file name will probably get  the  short  name	  THI-
       SIS~1.TXT,  or  THISIS~2.TXT  if	 THISIS~1.TXT  already exits (or  THI-
       SIS~3.TXT if both exist,	and so forth). If you use pcfs file systems on
       systems	that  do not support long file names, you may want to continue
       following the short file	name conventions. 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. Because  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.  This means that short names are displayed as uppercase and long
       file names retain their case. Earlier versions of pcfs folded all names
       to lowercase, which can be  forced with the PCFS_MNT_FOLDCASE mount op-
       tion. All file name searches within pcfs, however, are  treated	as  if
       they  were  uppercase,  so  readme.txt and ReAdMe.TxT refer to the same

       To format a diskette or a PCMCIA	pseudo-floppy memory card in DOS  for-
       mat  in	the SunOS system, use either the fdformat -d or	the DOS	FORMAT

   Boot	Partitions
       On x86 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 x86 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.

       Example 1: Sample Displays of File Names

       If you copy a file from a	UNIX file system to  pcfs,  it
       displays	 as in pcfs, but	may show up as FINANC~1.DAT in
       systems that do not support long	file names.

       The following are legal long file names.	They are  also	illegal	 short
       file names:



       Other systems that do not support long file names may see:




       The  short  file	 name  is generated from the initial characters	of the
       long file name, so differentiate	names in the first few characters. For
       example,	these names:




       result in these short names, which are not distinguishable:




       These names, however:




       result in the more descriptive short names:




       /usr/lib/fs/pcfs/mount	       pcfs mount command

       /usr/kernel/fs/pcfs	       32-bit kernel module

       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),

       Do  not	physically  eject  a DOS floppy	while the device is mounted as
       pcfs. If	Volume Management is managing a	device,	use the	eject(1)  com-
       mand 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	various	errors.	This is	a lim-
       itation of pcfs,	but it should not cause	problems other than error mes-

       Only the	following characters are allowed  in pcfs short	file names and




       SunOS and DOS use different character sets and have different  require-
       ments  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. Because the DOS disk format was designed for use
       under DOS, it does not operate efficiently under	the SunOS  system  and
       should not be used as the format	 for a regular local storage. Instead,
       use ufs 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 exhibited by Win-
       dows 95 version 4.00.950.

       pcfs should handle the disk change condition in the same	way that   DOS
       does,  so  you  do not need to unmount  the file	system to change flop-

       When listing or searching a directory, pcfs does	not include files with
       the hidden or system bits set.

SunOS 5.10			  10 Apr 2001			     pcfs(7FS)


Want to link to this manual page? Use this URL:

home | help