Annotation of qemu/roms/openbios/fs/grubfs/disk_inode.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Mach Operating System
        !             3:  * Copyright (c) 1991,1990 Carnegie Mellon University
        !             4:  * All Rights Reserved.
        !             5:  *
        !             6:  * Permission to use, copy, modify and distribute this software and its
        !             7:  * documentation is hereby granted, provided that both the copyright
        !             8:  * notice and this permission notice appear in all copies of the
        !             9:  * software, derivative works or modified versions, and any portions
        !            10:  * thereof, and that both notices appear in supporting documentation.
        !            11:  *
        !            12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
        !            13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
        !            14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
        !            15:  *
        !            16:  * Carnegie Mellon requests users of this software to return to
        !            17:  *
        !            18:  *  Software Distribution Coordinator  or  [email protected]
        !            19:  *  School of Computer Science
        !            20:  *  Carnegie Mellon University
        !            21:  *  Pittsburgh PA 15213-3890
        !            22:  *
        !            23:  * any improvements or extensions that they make and grant Carnegie Mellon
        !            24:  * the rights to redistribute these changes.
        !            25:  */
        !            26: /*
        !            27:  * Copyright (c) 1982, 1989 The Regents of the University of California.
        !            28:  * All rights reserved.
        !            29:  *
        !            30:  * Redistribution and use in source and binary forms are permitted
        !            31:  * provided that the above copyright notice and this paragraph are
        !            32:  * duplicated in all such forms and that any documentation,
        !            33:  * advertising materials, and other materials related to such
        !            34:  * distribution and use acknowledge that the software was developed
        !            35:  * by the University of California, Berkeley.  The name of the
        !            36:  * University may not be used to endorse or promote products derived
        !            37:  * from this software without specific prior written permission.
        !            38:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            39:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            40:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            41:  *
        !            42:  *     @(#)inode.h     7.5 (Berkeley) 7/3/89
        !            43:  */
        !            44: 
        !            45: #ifndef        _BOOT_UFS_DISK_INODE_H_
        !            46: #define        _BOOT_UFS_DISK_INODE_H_
        !            47: 
        !            48: /*
        !            49:  * The I node is the focus of all file activity in the BSD Fast File System.
        !            50:  * There is a unique inode allocated for each active file,
        !            51:  * each current directory, each mounted-on file, text file, and the root.
        !            52:  * An inode is 'named' by its dev/inumber pair. (iget/iget.c)
        !            53:  * Data in icommon is read in from permanent inode on volume.
        !            54:  */
        !            55: 
        !            56: #define        FFS_NDADDR      12      /* direct addresses in inode */
        !            57: #define        FFS_NIADDR      3       /* indirect addresses in inode */
        !            58: 
        !            59: #define        FFS_MAX_FASTLINK_SIZE   ((FFS_NDADDR + FFS_NIADDR) \
        !            60:                                 * sizeof (mach_daddr_t))
        !            61: 
        !            62: struct icommon
        !            63:   {
        !            64:     unsigned short ic_mode;    /*  0: mode and type of file */
        !            65:     short ic_nlink;            /*  2: number of links to file */
        !            66:     mach_uid_t ic_uid;         /*  4: owner's user id */
        !            67:     mach_gid_t ic_gid;         /*  6: owner's group id */
        !            68:     quad ic_size;              /*  8: number of bytes in file */
        !            69:     mach_time_t ic_atime;      /* 16: time last accessed */
        !            70:     int ic_atspare;
        !            71:     mach_time_t ic_mtime;      /* 24: time last modified */
        !            72:     int ic_mtspare;
        !            73:     mach_time_t ic_ctime;      /* 32: last time inode changed */
        !            74:     int ic_ctspare;
        !            75:     union
        !            76:       {
        !            77:        struct
        !            78:          {
        !            79:            mach_daddr_t Mb_db[FFS_NDADDR];     /* 40: disk block addresses */
        !            80:            mach_daddr_t Mb_ib[FFS_NIADDR];     /* 88: indirect blocks */
        !            81:          }
        !            82:        ic_Mb;
        !            83:        char ic_Msymlink[FFS_MAX_FASTLINK_SIZE];
        !            84:        /* 40: symbolic link name */
        !            85:       }
        !            86:     ic_Mun;
        !            87: #define        ic_db           ic_Mun.ic_Mb.Mb_db
        !            88: #define        ic_ib           ic_Mun.ic_Mb.Mb_ib
        !            89: #define        ic_symlink      ic_Mun.ic_Msymlink
        !            90:     int ic_flags;              /* 100: status, currently unused */
        !            91:     int ic_blocks;             /* 104: blocks actually held */
        !            92:     int ic_gen;                        /* 108: generation number */
        !            93:     int ic_spare[4];           /* 112: reserved, currently unused */
        !            94:   };
        !            95: 
        !            96: /*
        !            97:  *     Same structure, but on disk.
        !            98:  */
        !            99: struct dinode
        !           100:   {
        !           101:     union
        !           102:       {
        !           103:        struct icommon di_com;
        !           104:        char di_char[128];
        !           105:       }
        !           106:     di_un;
        !           107:   };
        !           108: #define        di_ic   di_un.di_com
        !           109: 
        !           110: #endif /* _BOOT_UFS_DISK_INODE_H_ */

unix.superglobalmegacorp.com

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