#include "wimlib_internal.h"
#include "xml.h"
-#ifdef WITH_NTFS_3G
-#include <ntfs-3g/volume.h>
-#include <ntfs-3g/security.h>
-#endif
-
-
/* Internal */
#define WIMLIB_EXTRACT_FLAG_MULTI_IMAGE 0x80000000
WIMLIBAPI int wimlib_extract_image(WIMStruct *w, int image,
const char *output_dir, int flags)
{
-
if (!output_dir)
return WIMLIB_ERR_INVALID_PARAM;
== (WIMLIB_EXTRACT_FLAG_SYMLINK | WIMLIB_EXTRACT_FLAG_HARDLINK))
return WIMLIB_ERR_INVALID_PARAM;
-
- /*ntfs_initialize_file_security(*/
-
for_lookup_table_entry(w->lookup_table, zero_out_refcnts, NULL);
if (image == WIM_ALL_IMAGES) {
}
}
-
-WIMLIBAPI int wimlib_apply_image_to_ntfs_volume(WIMStruct *w, int image,
- const char *device, int flags)
-{
- if ((flags & WIMLIB_EXTRACT_FLAG_NTFS)) {
- #ifndef WITH_NTFS_3G
- ERROR("wimlib was compiled without support for NTFS-3g, so");
- ERROR("we cannot extract a WIM image while preserving NTFS-");
- ERROR("specific information");
- #endif
- if (flags & (WIMLIB_EXTRACT_FLAG_SYMLINK | WIMLIB_EXTRACT_FLAG_HARDLINK))
- return WIMLIB_ERR_INVALID_PARAM;
- if (getuid() != 0) {
- ERROR("We are not root, but NTFS-3g requires root privileges to set arbitrary");
- ERROR("security data on the NTFS filesystem. Please run this program as root");
- ERROR("if you want to extract a WIM image while preserving NTFS-specific");
- ERROR("information.");
-
- return WIMLIB_ERR_NOT_ROOT;
- }
- }
-}