Annotation of qemu/roms/openbios/fs/grubfs/disk_inode.h, revision 1.1.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.