X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/91447636331957f3d9b5ca5b508f07c526b0074d..c0fea4742e91338fffdcf79f86a7c1d5e2b97eb1:/bsd/hfs/hfs.h diff --git a/bsd/hfs/hfs.h b/bsd/hfs/hfs.h index e9b96c239..2d34f3f8a 100644 --- a/bsd/hfs/hfs.h +++ b/bsd/hfs/hfs.h @@ -247,6 +247,11 @@ typedef struct hfsmount { lck_mtx_t hfs_mutex; /* protects access to hfsmount data */ void *hfs_freezing_proc; /* who froze the fs */ + lck_rw_t hfs_insync; /* protects sync/freeze interaction */ + + /* Resize variables: */ + u_int32_t hfs_resize_filesmoved; + u_int32_t hfs_resize_totalfiles; } hfsmount_t; typedef hfsmount_t ExtendedVCB; @@ -274,6 +279,7 @@ typedef hfsmount_t ExtendedVCB; #define HFS_FRAGMENTED_FREESPACE 0x100 #define HFS_NEED_JNL_RESET 0x200 #define HFS_HAS_SPARSE_DEVICE 0x400 +#define HFS_RESIZE_IN_PROGRESS 0x800 #define HFS_MOUNT_LOCK(hfsmp, metadata) \ @@ -301,6 +307,7 @@ typedef struct filefork FCB; #define MAKE_INODE_NAME(name,linkno) \ (void) sprintf((name), "%s%d", HFS_INODE_PREFIX, (linkno)) +#define HFS_INODE_PREFIX_LEN 5 #define HFS_AVERAGE_NAME_SIZE 22 @@ -489,6 +496,7 @@ extern void hfs_checkextendedsecurity(struct hfsmount *hfsmp); extern int hfs_extendfs(struct hfsmount *, u_int64_t, vfs_context_t); extern int hfs_truncatefs(struct hfsmount *, u_int64_t, vfs_context_t); +extern int hfs_resize_progress(struct hfsmount *, u_int32_t *); extern int hfs_isallocated(struct hfsmount *, u_long, u_long);