X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fwimlib.h;h=928f2401b9bca5b06d03eaacedc5b57c163265a1;hb=8ed5883780f52ea40dd47347a717dc4ccb7396c5;hp=dde93c61eba722a631c3556382e3deca8e15c30e;hpb=ef8f45b98b5c4db398321cd36d052ccbb9c3784a;p=wimlib diff --git a/src/wimlib.h b/src/wimlib.h index dde93c61..928f2401 100644 --- a/src/wimlib.h +++ b/src/wimlib.h @@ -201,20 +201,6 @@ 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,15 @@ 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_add_image_from_ntfs_volume(WIMStruct *w, const char *device, + 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 +1144,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. *