-
-const struct apply_operations ntfs_3g_apply_ops = {
- .name = "NTFS-3g",
-
- .target_is_root = ntfs_3g_target_is_root,
- .start_extract = ntfs_3g_start_extract,
- .create_file = ntfs_3g_create_file,
- .create_directory = ntfs_3g_create_directory,
- .create_hardlink = ntfs_3g_create_hardlink,
- .extract_unnamed_stream = ntfs_3g_extract_unnamed_stream,
- .extract_named_stream = ntfs_3g_extract_named_stream,
- .set_file_attributes = ntfs_3g_set_file_attributes,
- .set_reparse_data = ntfs_3g_set_reparse_data,
- .set_short_name = ntfs_3g_set_short_name,
- .set_security_descriptor = ntfs_3g_set_security_descriptor,
- .set_timestamps = ntfs_3g_set_timestamps,
- .abort_extract = ntfs_3g_finish_or_abort_extract,
- .finish_extract = ntfs_3g_finish_or_abort_extract,
-
- .path_prefix = "/",
- .path_prefix_nchars = 1,
- .path_separator = '/',
- .path_max = 32768,
-
- /* By default, NTFS-3g creates names in the NTFS POSIX namespace, which
- * is case-sensitive. */
- .supports_case_sensitive_filenames = 1,
-
- /* The root directory of the NTFS volume should not be created
- * explicitly. */
- .root_directory_is_special = 1,
-
- /* NTFS-3g can open files by MFT reference. */
- .uses_cookies = 1,
-
- /*
- * With NTFS-3g, the extraction order of the names of a file that has a
- * short name needs to be:
- *
- * 1. Create file using the long name that has an associated short name.
- * This long name is temporarily placed in the POSIX namespace.
- * 2. Set the short name on the file. This will either change the POSIX
- * name to Win32 and create a new DOS name, or replace the POSIX name
- * with a Win32+DOS name.
- * 3. Create additional long names (links) of the file, which are placed
- * in the POSIX namespace.
- *
- * The reason for this is that two issues can come up when the
- * extraction is done otherwise:
- *
- * - If a DOS name is set on a file in a directory with several long
- * names, it is ambiguous which long name to use (at least with the
- * exported ntfs_set_ntfs_dos_name() function).
- * - NTFS-3g 2013.1.13 will no longer allow even setting the DOS name on
- * a file with multiple existing long names, even if those long names
- * are in different directories and the ntfs_set_ntfs_dos_name() call
- * is therefore unambiguous. (This was apparently changed with the
- * FUSE interface in mind.)
- */
- .requires_short_name_reordering = 1,
-};
-
-#endif /* WITH_NTFS_3G */