/* * linux/fs/hfs/hfs_fs.h * * Copyright (C) 1995-1997 Paul H. Hargrove * (C) 2003 Ardis Technologies <roman@ardistech.com> * This file may be distributed under the terms of the GNU General Public License.
*/
/* * struct hfs_sb_info * * The HFS-specific part of a Linux (struct super_block)
*/ struct hfs_sb_info { struct buffer_head *mdb_bh; /* The hfs_buffer holding the real superblock (aka VIB
or MDB) */ struct hfs_mdb *mdb; struct buffer_head *alt_mdb_bh; /* The hfs_buffer holding
the alternate superblock */ struct hfs_mdb *alt_mdb;
__be32 *bitmap; /* The page holding the
allocation bitmap */ struct hfs_btree *ext_tree; /* Information about
the extents b-tree */ struct hfs_btree *cat_tree; /* Information about
the catalog b-tree */
u32 file_count; /* The number of regular files in
the filesystem */
u32 folder_count; /* The number of directories in the
filesystem */
u32 next_id; /* The next available
file id number */
u32 clumpablks; /* The number of allocation blocks to try to add when
extending a file */
u32 fs_start; /* The first 512-byte block represented
in the bitmap */
u32 part_start;
u16 root_files; /* The number of regular (non-directory) files in the root
directory */
u16 root_dirs; /* The number of directories in the
root directory */
u16 fs_ablocks; /* The number of allocation blocks
in the filesystem */
u16 free_ablocks; /* the number of unused allocation blocks
in the filesystem */
u32 alloc_blksz; /* The size of an
"allocation block" */ int s_quiet; /* Silent failure when
changing owner or mode? */
__be32 s_type; /* Type for new files */
__be32 s_creator; /* Creator for new files */
umode_t s_file_umask; /* The umask applied to the
permissions on all files */
umode_t s_dir_umask; /* The umask applied to the
permissions on all dirs */
kuid_t s_uid; /* The uid of all files */
kgid_t s_gid; /* The gid of all files */
int session, part; struct nls_table *nls_io, *nls_disk; struct mutex bitmap_lock; unsignedlong flags;
u16 blockoffset; int fs_div; struct super_block *sb; int work_queued; /* non-zero delayed work is queued */ struct delayed_work mdb_work; /* MDB flush delayed work */
spinlock_t work_lock; /* protects mdb_work and work_queued */
};
/* * There are two time systems. Both are based on seconds since * a particular time/date. * Unix: signed little-endian since 00:00 GMT, Jan. 1, 1970 * mac: unsigned big-endian since 00:00 GMT, Jan. 1, 1904 * * HFS implementations are highly inconsistent, this one matches the * traditional behavior of 64-bit Linux, giving the most useful * time range between 1970 and 2106, by treating any on-disk timestamp * under HFS_UTC_OFFSET (Jan 1 1970) as a time between 2040 and 2106.
*/ #define HFS_UTC_OFFSET 2082844800U
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.