]> wimlib.net Git - wimlib/blobdiff - src/wimlib.h
NTFS apply updates
[wimlib] / src / wimlib.h
index dde93c61eba722a631c3556382e3deca8e15c30e..a379a42f73c6b0f7446b2ee9349e8bb5baf2e33e 100644 (file)
 typedef struct WIMStruct WIMStruct;
 #endif
 
-/** 
- * Specifies the way in which identical files are linked when extracting
- * image(s) from the WIM. 
- */
-enum wim_link_type {
-/** Hard link identical files when extracting files from the WIM. */
-       WIM_LINK_TYPE_HARD = 0,
-/** Symbolic link identical files when extracting files from the WIM. */
-       WIM_LINK_TYPE_SYMBOLIC = 1,
-/** Do not create links when extracting identical files from the WIM (default).
- * */
-       WIM_LINK_TYPE_NONE = 2,
-};
-
 /**
  * Specifies the compression type of a WIM file.
  */
@@ -264,6 +250,9 @@ enum wim_compression_type {
 /** 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
 
@@ -271,10 +260,8 @@ enum wim_compression_type {
  * the WIM image. */
 #define WIMLIB_ADD_IMAGE_FLAG_VERBOSE          0x00000002
 
-/** Apply NTFS-specific information to the captured WIM image.  This flag can
- * only be specified if the directory being captured is on a NTFS filesystem
- * mounted with NTFS-3g, and wimlib was compiled with support for NTFS-3g  */
-#define WIMLIB_ADD_IMAGE_FLAG_NTFS             0x00000004
+/** Follow symlinks; archive and dump the files they point to. */
+#define WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE      0x00000004
 
 /** See documentation for wimlib_export_image(). */
 #define WIMLIB_EXPORT_FLAG_BOOT                        0x00000001
@@ -290,17 +277,14 @@ enum wim_compression_type {
 #define WIMLIB_OPEN_FLAG_SPLIT_OK              0x00000004
 
 
-/** When identical files are extracted from the WIM, hard link them together. */
+/** When identical files are extracted from the WIM, always hard link them
+ * together. */
 #define WIMLIB_EXTRACT_FLAG_HARDLINK           0x00000001
 
-/** When identical files are extracted from the WIM, symlink them together. */
+/** When identical files are extracted from the WIM, always 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
 
@@ -327,7 +311,9 @@ enum wimlib_error_code {
        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_RESOURCE_HASH,
        WIMLIB_ERR_INVALID_RESOURCE_SIZE,
        WIMLIB_ERR_INVALID_SECURITY_DATA,
        WIMLIB_ERR_LINK,
@@ -336,12 +322,15 @@ enum wimlib_error_code {
        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_OPENDIR,
+       WIMLIB_ERR_READLINK,
        WIMLIB_ERR_READ,
        WIMLIB_ERR_RENAME,
+       WIMLIB_ERR_SPECIAL_FILE,
        WIMLIB_ERR_SPLIT_INVALID,
        WIMLIB_ERR_SPLIT_UNSUPPORTED,
        WIMLIB_ERR_STAT,
@@ -419,6 +408,9 @@ extern int wimlib_add_image(WIMStruct *wim, const char *dir,
                            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.
  *
@@ -1146,25 +1138,6 @@ extern int wimlib_set_image_descripton(WIMStruct *wim, int image,
  */
 extern int wimlib_set_image_name(WIMStruct *wim, int image, const char *name);
 
-/**
- * Sets the link type to use when extracting files from a WIM.  This applies
- * when extracting one image as well as when extracting all images.  Cross-image
- * links may save a lot of space because it is common for files to be referenced
- * multiple times in WIM files.  By default, the link type used for extraction
- * is ::WIM_LINK_TYPE_NONE, meaning that links are not created.
- *
- * @param wim
- *     Pointer to the ::WIMStruct for a WIM file
- * @param link_type
- *     ::WIM_LINK_TYPE_NONE, ::WIM_LINK_TYPE_SYMBOLIC, or ::WIM_LINK_TYPE_HARD.
- *
- * @return 0 on success; nonzero on error.
- * @retval ::WIMLIB_ERR_INVALID_PARAM
- *     @a link_type was not ::WIM_LINK_TYPE_NONE, ::WIM_LINK_TYPE_SYMBOLIC,
- *     or ::WIM_LINK_TYPE_HARD.
- */
-extern int wimlib_set_link_type(WIMStruct *wim, int link_type);
-
 /**
  * Set the functions that wimlib uses to allocate and free memory.
  *