/*
- * wim.c
+ * wim.c - Stuff that doesn't fit into any other file
*/
/*
- * Copyright (C) 2010 Carl Thijssen
* Copyright (C) 2012 Eric Biggers
*
* wimlib - Library for working with WIM files
#endif
#include "wimlib_internal.h"
-#include "io.h"
+#include "buffer_io.h"
#include "lookup_table.h"
#include "xml.h"
-static int print_metadata(WIMStruct *w)
+static int image_print_metadata(WIMStruct *w)
{
DEBUG("Printing metadata for image %d", w->current_image);
print_security_data(wim_security_data(w));
}
-static int print_files(WIMStruct *w)
+static int image_print_files(WIMStruct *w)
{
return for_dentry_in_tree(wim_root_dentry(w), print_dentry_full_path,
NULL);
}
-WIMStruct *new_wim_struct()
+static WIMStruct *new_wim_struct()
{
WIMStruct *w = CALLOC(1, sizeof(WIMStruct));
#ifdef WITH_FUSE
static int sort_image_metadata_by_position(const void *p1, const void *p2)
{
- const struct image_metadata *imd1 = p1;
- const struct image_metadata *imd2 = p2;
+ const struct wim_image_metadata *imd1 = p1;
+ const struct wim_image_metadata *imd2 = p2;
u64 offset1 = imd1->metadata_lte->resource_entry.offset;
u64 offset2 = imd2->metadata_lte->resource_entry.offset;
if (offset1 < offset2)
* If @lte points to a metadata resource, append it to the list of metadata
* resources in the WIMStruct. Otherwise, do nothing.
*/
-static int append_metadata_resource_entry(struct lookup_table_entry *lte,
+static int append_metadata_resource_entry(struct wim_lookup_table_entry *lte,
void *wim_p)
{
WIMStruct *w = wim_p;
}
/* Returns the compression type given in the flags of a WIM header. */
-int wim_hdr_flags_compression_type(int wim_hdr_flags)
+static int wim_hdr_flags_compression_type(int wim_hdr_flags)
{
if (wim_hdr_flags & WIM_HDR_FLAG_COMPRESSION) {
if (wim_hdr_flags & WIM_HDR_FLAG_COMPRESS_LZX)
WIMLIBAPI int wimlib_create_new_wim(int ctype, WIMStruct **w_ret)
{
WIMStruct *w;
- struct lookup_table *table;
+ struct wim_lookup_table *table;
int ret;
DEBUG("Creating new WIM with %s compression.",
int select_wim_image(WIMStruct *w, int image)
{
- struct image_metadata *imd;
+ struct wim_image_metadata *imd;
DEBUG("Selecting image %d", image);
ERROR("Select the first part of the split WIM to see the metadata.");
return WIMLIB_ERR_SPLIT_UNSUPPORTED;
}
- return for_image(w, image, print_metadata);
+ return for_image(w, image, image_print_metadata);
}
WIMLIBAPI int wimlib_print_files(WIMStruct *w, int image)
ERROR("Select the first part of the split WIM if you'd like to list the files.");
return WIMLIB_ERR_SPLIT_UNSUPPORTED;
}
- return for_image(w, image, print_files);
+ return for_image(w, image, image_print_files);
}
/* Sets the index of the bootable image. */
if (w->hdr.image_count != 0) {
w->image_metadata = CALLOC(w->hdr.image_count,
- sizeof(struct image_metadata));
+ sizeof(struct wim_image_metadata));
if (!w->image_metadata) {
ERROR("Failed to allocate memory for %u image metadata structures",
return ret;
/* Make sure all the expected images were found. (We already have
- * returned false if *extra* images were found) */
+ * returned WIMLIB_ERR_IMAGE_COUNT if *extra* images were found) */
if (w->current_image != w->hdr.image_count &&
w->hdr.part_number == 1)
{
* file, rather than their order in the lookup table, which is random
* because of hashing. */
qsort(w->image_metadata, w->current_image,
- sizeof(struct image_metadata), sort_image_metadata_by_position);
+ sizeof(struct wim_image_metadata), sort_image_metadata_by_position);
w->current_image = WIMLIB_NO_IMAGE;
return ret;
}
-void destroy_image_metadata(struct image_metadata *imd,
- struct lookup_table *table)
+void destroy_image_metadata(struct wim_image_metadata *imd,
+ struct wim_lookup_table *table)
{
free_dentry_tree(imd->root_dentry, table);
free_security_data(imd->security_data);