Code to handle some weird siutations and bad WIMs
[wimlib] / src / wimlib.h
index d2b230be1bf16348118b1eb88ee1373d0d513b3a..9aa8a05a61b803a91142f6884e6e0b43cee867b4 100644 (file)
@@ -264,6 +264,9 @@ enum wim_compression_type {
 /** Print progress information when writing the integrity table. */
 #define WIMLIB_WRITE_FLAG_SHOW_PROGRESS                0x00000002
 
 /** Print progress information when writing the integrity table. */
 #define WIMLIB_WRITE_FLAG_SHOW_PROGRESS                0x00000002
 
+/** Print file paths as we write then */
+#define WIMLIB_WRITE_FLAG_VERBOSE              0x00000004
+
 /** Mark the image being added as the bootable image of the WIM. */
 #define WIMLIB_ADD_IMAGE_FLAG_BOOT             0x00000001
 
 /** Mark the image being added as the bootable image of the WIM. */
 #define WIMLIB_ADD_IMAGE_FLAG_BOOT             0x00000001
 
@@ -299,11 +302,6 @@ enum wim_compression_type {
 /** When identical files are extracted from the WIM, symlink them together. */
 #define WIMLIB_EXTRACT_FLAG_SYMLINK            0x00000002
 
 /** When identical files are extracted from the WIM, symlink them together. */
 #define WIMLIB_EXTRACT_FLAG_SYMLINK            0x00000002
 
-/** Apply NTFS-specific information when applying the WIM image.  This flag can
- * only be specified if the output directory is on a NTFS filesystem mounted
- * with NTFS-3g, and wimlib was compiled with support for NTFS-3g  */
-#define WIMLIB_EXTRACT_FLAG_NTFS               0x00000004
-
 /** Print the name of each file as it is extracted from the WIM image. */
 #define WIMLIB_EXTRACT_FLAG_VERBOSE            0x00000008
 
 /** Print the name of each file as it is extracted from the WIM image. */
 #define WIMLIB_EXTRACT_FLAG_VERBOSE            0x00000008
 
@@ -330,7 +328,9 @@ enum wimlib_error_code {
        WIMLIB_ERR_INVALID_HEADER_SIZE,
        WIMLIB_ERR_INVALID_IMAGE,
        WIMLIB_ERR_INVALID_INTEGRITY_TABLE,
        WIMLIB_ERR_INVALID_HEADER_SIZE,
        WIMLIB_ERR_INVALID_IMAGE,
        WIMLIB_ERR_INVALID_INTEGRITY_TABLE,
+       WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY,
        WIMLIB_ERR_INVALID_PARAM,
        WIMLIB_ERR_INVALID_PARAM,
+       WIMLIB_ERR_INVALID_RESOURCE_HASH,
        WIMLIB_ERR_INVALID_RESOURCE_SIZE,
        WIMLIB_ERR_INVALID_SECURITY_DATA,
        WIMLIB_ERR_LINK,
        WIMLIB_ERR_INVALID_RESOURCE_SIZE,
        WIMLIB_ERR_INVALID_SECURITY_DATA,
        WIMLIB_ERR_LINK,
@@ -339,6 +339,7 @@ enum wimlib_error_code {
        WIMLIB_ERR_NOMEM,
        WIMLIB_ERR_NOTDIR,
        WIMLIB_ERR_NOT_A_WIM_FILE,
        WIMLIB_ERR_NOMEM,
        WIMLIB_ERR_NOTDIR,
        WIMLIB_ERR_NOT_A_WIM_FILE,
+       WIMLIB_ERR_NOT_ROOT,
        WIMLIB_ERR_NO_FILENAME,
        WIMLIB_ERR_NTFS_3G,
        WIMLIB_ERR_OPEN,
        WIMLIB_ERR_NO_FILENAME,
        WIMLIB_ERR_NTFS_3G,
        WIMLIB_ERR_OPEN,
@@ -424,6 +425,9 @@ extern int wimlib_add_image(WIMStruct *wim, const char *dir,
                            const char *name, const char *description, 
                            const char *flags_element, int flags);
 
                            const char *name, const char *description, 
                            const char *flags_element, int flags);
 
+extern int wimlib_apply_image_to_ntfs_volume(WIMStruct *w, int image,
+                                            const char *device, int flags);
+
 /** 
  * Creates a WIMStruct for a new WIM file.
  *
 /** 
  * Creates a WIMStruct for a new WIM file.
  *