1 /* 2 * udf_fs_i.h 3 * 4 * This file is intended for the Linux kernel/module. 5 * 6 * CONTACTS 7 * E-mail regarding any portion of the Linux UDF file system should be 8 * directed to the development team mailing list (run by majordomo): 9 * linux_udf@hpesjro.fc.hp.com 10 * 11 * COPYRIGHT 12 * This file is distributed under the terms of the GNU General Public 13 * License (GPL). Copies of the GPL can be obtained from: 14 * ftp://prep.ai.mit.edu/pub/gnu/GPL 15 * Each contributing author retains all rights to their own work. 16 */ 17 18 #ifndef _UDF_FS_I_H 19 #define _UDF_FS_I_H 1 20 21 #ifdef __KERNEL__ 22 23 #ifndef _ECMA_167_H 24 typedef struct 25 { 26 __u32 logicalBlockNum; 27 __u16 partitionReferenceNum; 28 } __attribute__ ((packed)) lb_addr; 29 #endif 30 31 struct udf_inode_info 32 { 33 long i_umtime; 34 long i_uctime; 35 long i_crtime; 36 long i_ucrtime; 37 /* Physical address of inode */ 38 lb_addr i_location; 39 __u64 i_unique; 40 __u32 i_lenEAttr; 41 __u32 i_lenAlloc; 42 __u64 i_lenExtents; 43 __u32 i_next_alloc_block; 44 __u32 i_next_alloc_goal; 45 unsigned i_alloc_type : 3; 46 unsigned i_extended_fe : 1; 47 unsigned i_strat_4096 : 1; 48 unsigned i_new_inode : 1; 49 unsigned reserved : 26; 50 }; 51 52 #endif 53 54 /* exported IOCTLs, we have 'l', 0x40-0x7f */ 55 56 #define UDF_GETEASIZE _IOR('l', 0x40, int) 57 #define UDF_GETEABLOCK _IOR('l', 0x41, void *) 58 #define UDF_GETVOLIDENT _IOR('l', 0x42, void *) 59 #define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long) 60 61 #endif /* _UDF_FS_I_H */ 62