struct _ntfs_volume;
#endif
-/* Metadata for a WIM image */
+/* Metadata for a WIM image */
struct wim_image_metadata {
/* Number of WIMStruct's that are sharing this image metadata (from
#endif
};
+/* Retrieve the metadata of the image in @wim currently selected with
+ * select_wim_image(). */
static inline struct wim_image_metadata *
wim_get_current_image_metadata(WIMStruct *wim)
{
return wim->image_metadata[wim->current_image - 1];
}
-static inline const struct wim_image_metadata *
-wim_get_const_current_image_metadata(const WIMStruct *wim)
-{
- return wim->image_metadata[wim->current_image - 1];
-}
-
+/* Retrieve the root dentry of the image in @wim currently selected with
+ * select_wim_image(). */
static inline struct wim_dentry *
-wim_root_dentry(WIMStruct *wim)
+wim_get_current_root_dentry(WIMStruct *wim)
{
return wim_get_current_image_metadata(wim)->root_dentry;
}
+/* Retrieve the security data of the image in @wim currently selected with
+ * select_wim_image(). */
static inline struct wim_security_data *
-wim_security_data(WIMStruct *wim)
+wim_get_current_security_data(WIMStruct *wim)
{
return wim_get_current_image_metadata(wim)->security_data;
}
-static inline const struct wim_security_data *
-wim_const_security_data(const WIMStruct *wim)
-{
- return wim_get_const_current_image_metadata(wim)->security_data;
-}
-
/* Iterate over each inode in a WIM image that has not yet been hashed */
#define image_for_each_inode(inode, imd) \
- list_for_each_entry(inode, &imd->inode_list, i_list)
+ list_for_each_entry(inode, &(imd)->inode_list, i_list)
/* Iterate over each stream in a WIM image that has not yet been hashed */
#define image_for_each_unhashed_stream(lte, imd) \
- list_for_each_entry(lte, &imd->unhashed_streams, unhashed_list)
+ list_for_each_entry(lte, &(imd)->unhashed_streams, unhashed_list)
/* Iterate over each stream in a WIM image that has not yet been hashed (safe
* against stream removal) */
#define image_for_each_unhashed_stream_safe(lte, tmp, imd) \
- list_for_each_entry_safe(lte, tmp, &imd->unhashed_streams, unhashed_list)
-
-extern void
-destroy_image_metadata(struct wim_image_metadata *imd,
- struct wim_lookup_table *table,
- bool free_metadata_lte);
+ list_for_each_entry_safe(lte, tmp, &(imd)->unhashed_streams, unhashed_list)
extern void
put_image_metadata(struct wim_image_metadata *imd,
append_image_metadata(WIMStruct *wim, struct wim_image_metadata *imd);
extern struct wim_image_metadata *
-new_image_metadata(void);
-
-extern struct wim_image_metadata **
-new_image_metadata_array(unsigned num_images);
-
+new_image_metadata(void) _malloc_attribute;
#endif /* _WIMLIB_METADATA_H */