X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Fdentry.h;h=a571e0213f93c93b5885bdf401b301895a7edee0;hp=9e24529a2d5229b596687223d87a9abeb8d7e3c8;hb=ce6b853107173c96fb04754aeb9e250a07bd4a07;hpb=279a9a65b2b92bada2db886bbb546d276987b677 diff --git a/include/wimlib/dentry.h b/include/wimlib/dentry.h index 9e24529a..a571e021 100644 --- a/include/wimlib/dentry.h +++ b/include/wimlib/dentry.h @@ -562,15 +562,18 @@ inode_set_unix_data(struct wim_inode *inode, uid_t uid, gid_t gid, mode_t mode, #endif extern int -read_dentry(const u8 *metadata_resource, u64 metadata_resource_len, - u64 offset, struct wim_dentry *dentry); +read_dentry(const u8 * restrict metadata_resource, + u64 metadata_resource_len, u64 offset, + struct wim_dentry * restrict dentry); extern int -read_dentry_tree(const u8 metadata_resource[], u64 metadata_resource_len, - struct wim_dentry *dentry); +read_dentry_tree(const u8 * restrict metadata_resource, + u64 metadata_resource_len, + struct wim_dentry * restrict dentry); extern u8 * -write_dentry_tree(const struct wim_dentry *tree, u8 *p); +write_dentry_tree(const struct wim_dentry * restrict tree, + u8 * restrict p); static inline bool dentry_is_root(const struct wim_dentry *dentry) @@ -581,8 +584,9 @@ dentry_is_root(const struct wim_dentry *dentry) static inline bool inode_is_directory(const struct wim_inode *inode) { - return (inode->i_attributes & FILE_ATTRIBUTE_DIRECTORY) - && !(inode->i_attributes & FILE_ATTRIBUTE_REPARSE_POINT); + return (inode->i_attributes & (FILE_ATTRIBUTE_DIRECTORY | + FILE_ATTRIBUTE_REPARSE_POINT)) + == FILE_ATTRIBUTE_DIRECTORY; } static inline bool @@ -601,18 +605,6 @@ inode_is_symlink(const struct wim_inode *inode) inode->i_reparse_tag == WIM_IO_REPARSE_TAG_MOUNT_POINT); } -static inline bool -inode_is_regular_file(const struct wim_inode *inode) -{ - return !inode_is_directory(inode) && !inode_is_symlink(inode); -} - -static inline bool -dentry_is_regular_file(const struct wim_dentry *dentry) -{ - return inode_is_regular_file(dentry->d_inode); -} - static inline bool inode_has_children(const struct wim_inode *inode) { @@ -643,7 +635,7 @@ inode_ref_streams(struct wim_inode *inode); extern int dentry_tree_fix_inodes(struct wim_dentry *root, struct list_head *inode_list); -int +extern int verify_inode(struct wim_inode *inode, const struct wim_security_data *sd); -#endif +#endif /* _WIMLIB_DENTRY_H */