bfs_fs.h revision 11cd02dfb91661c65134cac258cf5924270e9d2
111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** To edit the content of this header, modify the corresponding 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** source file (e.g. under external/kernel-headers/original/) then 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** run bionic/libc/kernel/tools/update_all.py 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** Any manual change here will be lost the next time this script will 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** be run. You've been warned! 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_BFS_FS_H 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_BFS_FS_H 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_BSIZE_BITS 9 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_BSIZE (1<<BFS_BSIZE_BITS) 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_MAGIC 0x1BADFACE 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_ROOT_INO 2 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_INODES_PER_BLOCK 8 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_VDIR 2L 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_VREG 1L 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct bfs_inode { 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le16 i_ino; 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 i_unused; 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_sblock; 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_eblock; 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_eoffset; 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_vtype; 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_mode; 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_uid; 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_gid; 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_nlink; 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_atime; 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_mtime; 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 i_ctime; 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 i_padding[4]; 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_NAMELEN 14 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_DIRENT_SIZE 16 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_DIRS_PER_BLOCK 32 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct bfs_dirent { 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le16 ino; 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[BFS_NAMELEN]; 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct bfs_super_block { 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 s_magic; 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 s_start; 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 s_end; 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 s_from; 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __le32 s_to; 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 s_bfrom; 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 s_bto; 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char s_fsname[6]; 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char s_volume[6]; 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 s_padding[118]; 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_OFF2INO(offset) ((((offset) - BFS_BSIZE) / sizeof(struct bfs_inode)) + BFS_ROOT_INO) 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_INO2OFF(ino) ((__u32)(((ino) - BFS_ROOT_INO) * sizeof(struct bfs_inode)) + BFS_BSIZE) 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_NZFILESIZE(ip) ((le32_to_cpu((ip)->i_eoffset) + 1) - le32_to_cpu((ip)->i_sblock) * BFS_BSIZE) 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_FILESIZE(ip) ((ip)->i_sblock == 0 ? 0 : BFS_NZFILESIZE(ip)) 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_FILEBLOCKS(ip) ((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock)) 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BFS_UNCLEAN(bfs_sb, sb) ((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & MS_RDONLY)) 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84