source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/linux/efs_fs_i.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 1.5 KB
Line 
1/*
2 * efs_fs_i.h
3 *
4 * Copyright (c) 1999 Al Smith
5 *
6 * Portions derived from IRIX header files (c) 1988 Silicon Graphics
7 */
8
9#ifndef __EFS_FS_I_H__
10#define __EFS_FS_I_H__
11
12typedef int32_t         efs_block_t;
13typedef uint32_t        efs_ino_t;
14
15#define EFS_DIRECTEXTENTS       12
16
17/*
18 * layout of an extent, in memory and on disk. 8 bytes exactly.
19 */
20typedef union extent_u {
21        unsigned char raw[8];
22        struct extent_s {
23                unsigned int    ex_magic:8;     /* magic # (zero) */
24                unsigned int    ex_bn:24;       /* basic block */
25                unsigned int    ex_length:8;    /* numblocks in this extent */
26                unsigned int    ex_offset:24;   /* logical offset into file */
27        } cooked;
28} efs_extent;
29
30typedef struct edevs {
31        __be16          odev;
32        __be32          ndev;
33} efs_devs;
34
35/*
36 * extent based filesystem inode as it appears on disk.  The efs inode
37 * is exactly 128 bytes long.
38 */
39struct  efs_dinode {
40        __be16          di_mode;        /* mode and type of file */
41        __be16          di_nlink;       /* number of links to file */
42        __be16          di_uid;         /* owner's user id */
43        __be16          di_gid;         /* owner's group id */
44        __be32          di_size;        /* number of bytes in file */
45        __be32          di_atime;       /* time last accessed */
46        __be32          di_mtime;       /* time last modified */
47        __be32          di_ctime;       /* time created */
48        __be32          di_gen;         /* generation number */
49        __be16          di_numextents;  /* # of extents */
50        u_char          di_version;     /* version of inode */
51        u_char          di_spare;       /* spare - used by AFS */
52        union di_addr {
53                efs_extent      di_extents[EFS_DIRECTEXTENTS];
54                efs_devs        di_dev; /* device for IFCHR/IFBLK */
55        } di_u;
56};
57
58
59#endif  /* __EFS_FS_I_H__ */
60
Note: See TracBrowser for help on using the repository browser.