Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ inode(4CDFS) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dir(4CDFS)

fs(4CDFS)






       inode(4CDFS)                  (CD-ROM)                  inode(4CDFS)


       NAME
             inode (cdfs) - format of a cdfs inode

       SYNOPSIS
             #include <sys/param.h>
             #include <sys/types.h>
             #include <sys/vnode.h>
             #include <sys/fs/cdfs_inode.h>

       DESCRIPTION
             For each file and directory in a cdfs file system that is
             currently being referenced, an in-core data structure, struct
             cdfs_inode, is used to store all of the information related to
             that file or directory.

             The information includes items such as:

                   the Group ID and User ID of the file or directory

                   the number of bytes in the file

                   the file or directory's permissions (read/execute)

                   the date and time the file or directory was created

                   the type of file (regular, directory, block, character,
                   symbolic link, pipe).

             The cdfs_inode structure is defined in the cdfs_inode.h header
             file, and is as follows:

             struct cdfs_inode {
               struct cdfs_inode      *i_FreeFwd;/* Free list forward link */
               struct cdfs_inode      *i_FreeBack;/* Free list backward link */
               struct cdfs_inode      *i_HashFwd;/* Hash list forward link */
               struct cdfs_inode      *i_HashBack;/* Hash list backward link */
               uint_t       i_Flags;  /* Inode flags - See CDFS struct */
               struct cdfs_fid        i_Fid;/* File ID info */
               struct cdfs_fid        i_ParentFid;/* Parent's File ID info */
               uid_t        i_UserID; /* User ID */
               gid_t        i_GroupID;/* Group ID */
               uint_t       i_Mode;   /* File type, Mode, and Perms */
               uint_t       i_Size;   /* Total # of bytes in file */
               uint_t       i_LinkCnt;/* # of links to file */
               dev_t        i_DevNum; /* Device # of BLK/CHR file type*/
               ulong_t      i_LockOwner;/* Process # of owner of lock */


                           Copyright 1994 Novell, Inc.               Page 1













      inode(4CDFS)                  (CD-ROM)                  inode(4CDFS)


              short        i_Count;  /* # of inode locks by lock owner */
              uint_t       i_DRcount;/* # of Directory Records */
              struct vfs   *i_vfs;   /* File sys associated with inode */
              daddr_t      i_NextByte;/* Next read-ahead offset (Byte) */
              int          i_mapsz;  /* kmem_alloc'ed size */
              long         i_mapcnt; /* mappings to file pages */
              struct cdfs_drec       *i_DirRec;/* 1st link-list Dir Rec of file */
              struct cdfs_xar        *i_Xar;/* XAR info from last Dir Rec */
              struct cdfs_rrip       *i_Rrip;/* RRIP info from last Dir Rec */
              struct vnode *i_Vnode; /* Vnode associated with Inode */
              timestruc_t  i_AccessDate;/* File Access date/time */
              timestruc_t  i_ModDate;/* File Modification date/time */
              timestruc_t  i_CreateDate;/* File Creation date/time */
              timestruc_t  i_ExpireDate;/* File Expiration date/time */
              timestruc_t  i_EffectDate;/* File Effective date/time */
              timestruc_t  i_AttrDate;/* File Attribute Change date/time */
              timestruc_t  i_BackupDate;/* File Backup date/time */
              struct pathname        i_SymLink;
              off_t        i_DirOffset;/* Dir offset of last ref'd entry */
              ulong        i_VerCode;/* version code attribute */
              daddr_t      i_ReadAhead;/* File offset of read-ahead byte */
              /*
              * The following fields cause storage to be allocated for the
              * corresponding data structures.  Since each inode will usually
              * need each of these structures, this is a simple mechanism for
              * getting the needed storage.  Reference to these structures should
              * be done via the corresponding pointers allocated above.  Thus,
              * if the storage is to be dynamically allocated, very little
              * code needs to change.
              */
              struct cdfs_drec       i_DirRecStorage;/* Static storage for i_DirRec */
              struct cdfs_xar        i_XarStorage;/* Static storage for i_Xar */
              struct cdfs_rrip       i_RripStorage;/* Static storage for i_Rrip */
              struct vnode i_VnodeStorage;/* Static storage for i_Vnode */
            }

      REFERENCES
            cdfs-specific dir(4CDFS), cdfs-specific fs(4CDFS)










                          Copyright 1994 Novell, Inc.               Page 2








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