blob: 6d88d28aef59e7b6ce3e0c30f8a163c64aa2a1e3 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
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__
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015typedef int32_t efs_block_t;
16typedef uint32_t efs_ino_t;
Ben Cheng4b29af02012-03-07 16:14:53 -080017
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080018#define EFS_DIRECTEXTENTS 12
Ben Cheng4b29af02012-03-07 16:14:53 -080019
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080020typedef 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;
Ben Cheng4b29af02012-03-07 16:14:53 -080029
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080030typedef struct edevs {
31 __be16 odev;
32 __be32 ndev;
33} efs_devs;
Ben Cheng4b29af02012-03-07 16:14:53 -080034
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080035struct 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};
Ben Cheng4b29af02012-03-07 16:14:53 -080053
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054struct efs_inode_info {
55 int numextents;
56 int lastextent;
Ben Cheng4b29af02012-03-07 16:14:53 -080057
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080058 efs_extent extents[EFS_DIRECTEXTENTS];
59 struct inode vfs_inode;
60};
Ben Cheng4b29af02012-03-07 16:14:53 -080061
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080062#endif
Ben Cheng4b29af02012-03-07 16:14:53 -080063