Annotation of Net2/isofs/isofs_node.h, revision 1.1.1.2

1.1.1.2 ! root        1: /*
        !             2:  *     isofs_node.h,v 1.5 1993/07/19 13:40:05 cgd Exp
        !             3:  */
        !             4: 
        !             5: 
        !             6: typedef        struct  {
        !             7:        unsigned        iso_cln;        /* Child link */
        !             8:        unsigned        iso_pln;        /* Parents link */
        !             9:        struct timeval  iso_atime;      /* time of last access */
        !            10:        struct timeval  iso_mtime;      /* time of last modification */
        !            11:        struct timeval  iso_ctime;      /* time file changed */
        !            12:        u_short         iso_mode;       /* files access mode and type */
        !            13:        uid_t           iso_uid;        /* owner user id */
        !            14:        gid_t           iso_gid;        /* owner group id */
        !            15: } ISO_RRIP_INODE;
        !            16: 
1.1       root       17: struct iso_node {
                     18:        struct  iso_node *i_chain[2]; /* hash chain, MUST be first */
                     19:        struct  vnode *i_vnode; /* vnode associated with this inode */
                     20:        struct  vnode *i_devvp; /* vnode for block I/O */
                     21:        u_long  i_flag;         /* see below */
                     22:        dev_t   i_dev;          /* device where inode resides */
                     23:        ino_t   i_number;       /* the identity of the inode */
                     24:        struct  iso_mnt *i_mnt; /* filesystem associated with this inode */
                     25:        struct  lockf *i_lockf; /* head of byte-level lock list */
                     26:        long    i_diroff;       /* offset in dir, where we found last entry */
                     27:        off_t   i_endoff;       /* end of useful stuff in directory */
                     28:        long    i_spare0;
                     29:        long    i_spare1;
                     30: 
                     31: 
                     32:        int iso_reclen;
                     33:        int iso_extlen;
                     34:        int iso_extent;
                     35:        int i_size;
                     36:        int iso_flags;
                     37:        int iso_unit_size;
                     38:        int iso_interleave_gap;
                     39:        int iso_volume_seq;
1.1.1.2 ! root       40:        int iso_namelen;        /* ISO9660/RRIP name len */
        !            41:        int iso_parent;         /* byte offset in beginning of dir record */
        !            42:        int iso_parent_ext;     /* block number of dir record */
        !            43:        ISO_RRIP_INODE  inode;
1.1       root       44: };
                     45: 
                     46: #define        i_forw          i_chain[0]
                     47: #define        i_back          i_chain[1]
                     48: 
                     49: /* flags */
                     50: #define        ILOCKED         0x0001          /* inode is locked */
                     51: #define        IWANT           0x0002          /* some process waiting on lock */
                     52: #define        IACC            0x0020          /* inode access time to be updated */
                     53: 
                     54: #define VTOI(vp) ((struct iso_node *)(vp)->v_data)
                     55: #define ITOV(ip) ((ip)->i_vnode)
                     56: 
                     57: #define ISO_ILOCK(ip)  iso_ilock(ip)
                     58: #define ISO_IUNLOCK(ip)        iso_iunlock(ip)
                     59: 
                     60: /*
                     61:  * Prototypes for ISOFS vnode operations
                     62:  */
                     63: int isofs_lookup __P((struct vnode *vp, struct nameidata *ndp, struct proc *p));
                     64: int isofs_open __P((struct vnode *vp, int mode, struct ucred *cred,
                     65:        struct proc *p));
                     66: int isofs_close __P((struct vnode *vp, int fflag, struct ucred *cred,
                     67:        struct proc *p));
                     68: int isofs_access __P((struct vnode *vp, int mode, struct ucred *cred,
                     69:        struct proc *p));
                     70: int isofs_getattr __P((struct vnode *vp, struct vattr *vap, struct ucred *cred,
                     71:        struct proc *p));
                     72: int isofs_read __P((struct vnode *vp, struct uio *uio, int ioflag,
                     73:        struct ucred *cred));
                     74: int isofs_ioctl __P((struct vnode *vp, int command, caddr_t data, int fflag,
                     75:        struct ucred *cred, struct proc *p));
                     76: int isofs_select __P((struct vnode *vp, int which, int fflags, struct ucred *cred,
                     77:        struct proc *p));
                     78: int isofs_mmap __P((struct vnode *vp, int fflags, struct ucred *cred,
                     79:        struct proc *p));
                     80: int isofs_seek __P((struct vnode *vp, off_t oldoff, off_t newoff,
                     81:        struct ucred *cred));
                     82: int isofs_readdir __P((struct vnode *vp, struct uio *uio, struct ucred *cred,
                     83:        int *eofflagp));
                     84: int isofs_abortop __P((struct nameidata *ndp));
                     85: int isofs_inactive __P((struct vnode *vp, struct proc *p));
                     86: int isofs_reclaim __P((struct vnode *vp));
                     87: int isofs_lock __P((struct vnode *vp));
                     88: int isofs_unlock __P((struct vnode *vp));
                     89: int isofs_strategy __P((struct buf *bp));
                     90: int isofs_print __P((struct vnode *vp));
                     91: int isofs_islocked __P((struct vnode *vp));
                     92: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.