Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fs(4CDFS) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dir(4CDFS)

inode(4CDFS)






       fs(4CDFS)                     (CD-ROM)                     fs(4CDFS)


       NAME
             fs (cdfs) - format of a cdfs file system

       SYNOPSIS
             #include <sys/fs/iso9660.h>
             #include <sys/fs/cdfs_fs.h>

       DESCRIPTION
             The cdfs file system supports the ISO-9660 and High Sierra
             file system format specifications.  In a cdfs file system,
             sectors 0-15 are reserved for boot information (this area is
             not used).  The Volume Descriptor list begins at sector 16.
             The Volume Descriptor list contains the Primary Volume
             Descriptor (PVD) (which is known as the super-block in other
             types of file systems).  Directory and file data make up the
             rest of the file system.

             The PVD contains information such as:

                   The location of the root directory

                   The size of the file system (in logical blocks)

                   Various identification strings and time stamps

             For each cdfs file system that is mounted, an in-core data
             structure is used to store the relevant portions of the PVD.
             This data structure, called the cdfs structure, also stores
             the other file system specific information.  The cdfs
             structure is defined in the cdfs_fs.h header file.  The ISO-
             9660 and High Sierra PVD's are defined in the iso9660.h header
             file.

             The format of the cdfs file system structure is:

             struct cdfs {
               uint_t     cdfs_Flags;  /* State flags for this FS */
               struct pathname         cdfs_MntPnt;/* Pathname of mount-point */
               struct pathname         cdfs_DevNode;/* Pathname of device node */
               struct vnode            *cdfs_DevVnode;/* 'specfs' vnode for the device */
               struct cdfs_inode       *cdfs_RootInode;/* Inode of CDFS root directory */
               struct cdfs_fid         cdfs_RootFid;/* FID of Root Inode */
               enum cdfs_type          cdfs_Type;/* File system type (9660/Hi-S) */
               daddr_t    cdfs_PvdLoc; /* PVD location (Log Sector #) */
               uint_t     cdfs_LogSecSz;/* Logical sector size (Bytes) */
               uint_t     cdfs_LogSecMask;/* Convert bytes to beg of Sect */


                           Copyright 1994 Novell, Inc.               Page 1













      fs(4CDFS)                     (CD-ROM)                     fs(4CDFS)


              uint_t     cdfs_LogSecShift;/* Convert bytes to Log Sect Num */
              uint_t     cdfs_LogBlkMask;/* Convert bytes to beg of Blk */
              uint_t     cdfs_LogBlkShift;/* Convert bytes to Log Blk Num */
              /*
               * Relevant PVD Information
               */
              uint_t     cdfs_LogBlkSz;/* Logical block size (Bytes) */
              uint_t     cdfs_VolVer; /* Version # of Vol Descr struct */
              uint_t     cdfs_FileVer;/* Version # of Dir Rec/Path Tbl */
              uint_t     cdfs_VolSetSz;/* Volume Set size (# of discs) */
              uint_t     cdfs_VolSeqNum;/* Volume Sequence # (Disc #) */
              uint_t     cdfs_VolSpaceSz;/* Volume Space Size (Bytes) */
              uint_t     cdfs_PathTabSz;/* Path Table size (Bytes) */
              daddr_t    cdfs_PathTabLoc;/* Path Table loc. (Log Block #) */
              timestruc_t             cdfs_CreateDate;/* Volume Creation date/time */
              timestruc_t             cdfs_ModDate;/* Volume Modification date/time */
              timestruc_t             cdfs_ExpireDate;/* Volume Expiration date/time */
              timestruc_t             cdfs_EffectDate;/* Volume Effective date/time */
              uchar_t    cdfs_VolID[32];/* Volume ID string */
              uint_t     cdfs_RootDirOff;/* PVD offset of Root Dir Rec */
              uint_t     cdfs_RootDirSz;/* Size (bytes) of Root Dir Rec */
              /*
               * XCDR specific fields.
               */
              struct cd_defs          cdfs_Dflts;/* Default IDs, perms and modes */
              uint_t     cdfs_NameConv;/* XCDR name conversion mode */
              struct cd_uidmap        cdfs_UidMap[CD_MAXUMAP]; /* User ID map array */
              struct cd_gidmap        cdfs_GidMap[CD_MAXGMAP]; /* Group ID map array */
              /*
               * SUSP specific fields.
               */
              uint_t     cdfs_SuspSkip;/* Value for finding SUFs in SUA */
              /*
               * RRIP specific field(s).
               */
              uint_t     cdfs_DevMap_Cnt;/* Num of valid Device mappings*/
              struct cd_devmap        cdfs_DevMap[CD_MAXDMAP]; /* Device Node (Number) Map */
            };

      REFERENCES
            cdfs-specific dir(4CDFS), cdfs-specific inode(4CDFS)
            ISO 9660 Specification, Working paper for Information
            Processing: Volume and File Structure of CD-ROM Information
             Interchange" in Optical Information Systems magazine,
            January/February 1987



                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026