1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef __EFS_FS_I_H__
13#define __EFS_FS_I_H__
14
15typedef int32_t efs_block_t;
16typedef uint32_t efs_ino_t;
17
18#define EFS_DIRECTEXTENTS 12
19
20typedef union extent_u {
21 unsigned char raw[8];
22 struct extent_s {
23 unsigned int ex_magic:8;
24 unsigned int ex_bn:24;
25 unsigned int ex_length:8;
26 unsigned int ex_offset:24;
27 } cooked;
28} efs_extent;
29
30typedef struct edevs {
31 __be16 odev;
32 __be32 ndev;
33} efs_devs;
34
35struct efs_dinode {
36 __be16 di_mode;
37 __be16 di_nlink;
38 __be16 di_uid;
39 __be16 di_gid;
40 __be32 di_size;
41 __be32 di_atime;
42 __be32 di_mtime;
43 __be32 di_ctime;
44 __be32 di_gen;
45 __be16 di_numextents;
46 u_char di_version;
47 u_char di_spare;
48 union di_addr {
49 efs_extent di_extents[EFS_DIRECTEXTENTS];
50 efs_devs di_dev;
51 } di_u;
52};
53
54struct efs_inode_info {
55 int numextents;
56 int lastextent;
57
58 efs_extent extents[EFS_DIRECTEXTENTS];
59 struct inode vfs_inode;
60};
61
62#endif
63
64