"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "include/ntfs-3g/layout.h" between
ntfs-3g_ntfsprogs-2016.2.22.tgz and ntfs-3g_ntfsprogs-2017.3.23.tgz

About: NTFS-3G is a read-write NTFS driver for Linux and other operating systems. It provides safe handling of the Windows XP, Windows Server 2003, Windows 2000, Windows Vista, Windows Server 2008, Windows 7 and Windows 8 NTFS file systems.

layout.h  (ntfs-3g_ntfsprogs-2016.2.22.tgz):layout.h  (ntfs-3g_ntfsprogs-2017.3.23.tgz)
skipping to change at line 163 skipping to change at line 163
#define ntfs_is_chkd_record(x) ( ntfs_is_magic (x, CHKD) ) #define ntfs_is_chkd_record(x) ( ntfs_is_magic (x, CHKD) )
#define ntfs_is_chkd_recordp(p) ( ntfs_is_magicp(p, CHKD) ) #define ntfs_is_chkd_recordp(p) ( ntfs_is_magicp(p, CHKD) )
#define ntfs_is_baad_record(x) ( ntfs_is_magic (x, BAAD) ) #define ntfs_is_baad_record(x) ( ntfs_is_magic (x, BAAD) )
#define ntfs_is_baad_recordp(p) ( ntfs_is_magicp(p, BAAD) ) #define ntfs_is_baad_recordp(p) ( ntfs_is_magicp(p, BAAD) )
#define ntfs_is_empty_record(x) ( ntfs_is_magic (x, empty) ) #define ntfs_is_empty_record(x) ( ntfs_is_magic (x, empty) )
#define ntfs_is_empty_recordp(p) ( ntfs_is_magicp(p, empty) ) #define ntfs_is_empty_recordp(p) ( ntfs_is_magicp(p, empty) )
/*
* The size of a logical sector in bytes, used as the sequence number stride for
* multi-sector transfers. This is intended to be less than or equal to the
* physical sector size, since if this were greater than the physical sector
* size, then incomplete multi-sector transfers may not be detected.
*/
#define NTFS_BLOCK_SIZE 512 #define NTFS_BLOCK_SIZE 512
#define NTFS_BLOCK_SIZE_BITS 9 #define NTFS_BLOCK_SIZE_BITS 9
/** /**
* struct NTFS_RECORD - * struct NTFS_RECORD -
* *
* The Update Sequence Array (usa) is an array of the le16 values which belong * The Update Sequence Array (usa) is an array of the le16 values which belong
* to the end of each sector protected by the update sequence record in which * to the end of each sector protected by the update sequence record in which
* this array is contained. Note that the first entry is the Update Sequence * this array is contained. Note that the first entry is the Update Sequence
* Number (usn), a cyclic counter of how many times the protected record has * Number (usn), a cyclic counter of how many times the protected record has
skipping to change at line 517 skipping to change at line 523
AT_PROPERTY_SET = const_cpu_to_le32( 0xf0), AT_PROPERTY_SET = const_cpu_to_le32( 0xf0),
AT_LOGGED_UTILITY_STREAM = const_cpu_to_le32( 0x100), AT_LOGGED_UTILITY_STREAM = const_cpu_to_le32( 0x100),
AT_FIRST_USER_DEFINED_ATTRIBUTE = const_cpu_to_le32( 0x1000), AT_FIRST_USER_DEFINED_ATTRIBUTE = const_cpu_to_le32( 0x1000),
AT_END = const_cpu_to_le32(0xffffffff), AT_END = const_cpu_to_le32(0xffffffff),
} ATTR_TYPES; } ATTR_TYPES;
/** /**
* enum COLLATION_RULES - The collation rules for sorting views/indexes/etc * enum COLLATION_RULES - The collation rules for sorting views/indexes/etc
* (32-bit). * (32-bit).
* *
* COLLATION_UNICODE_STRING - Collate Unicode strings by comparing their binary * COLLATION_BINARY - Collate by binary compare where the first byte is most
* Unicode values, except that when a character can be uppercased, the * significant.
* upper case value collates before the lower case one. * COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit
* COLLATION_FILE_NAME - Collate file names as Unicode strings. The collation * coding units, primarily ignoring case using the volume's $UpCase table,
* is done very much like COLLATION_UNICODE_STRING. In fact I have no idea * but falling back to a case-sensitive comparison if the names are equal
* what the difference is. Perhaps the difference is that file names * ignoring case.
* would treat some special characters in an odd way (see * COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs
* unistr.c::ntfs_collate_names() and unistr.c::legal_ansi_char_array[] * to be properly documented --- is it really the same as
* for what I mean but COLLATION_UNICODE_STRING would not give any special * COLLATION_FILE_NAME?
* treatment to any characters at all, but this is speculation.
* COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key * COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key
* values. E.g. used for $SII index in FILE_Secure, which sorts by * values. E.g. used for $SII index in FILE_Secure, which sorts by
* security_id (le32). * security_id (le32).
* COLLATION_NTOFS_SID - Sorting is done according to ascending SID values. * COLLATION_NTOFS_SID - Sorting is done according to ascending SID values.
* E.g. used for $O index in FILE_Extend/$Quota. * E.g. used for $O index in FILE_Extend/$Quota.
* COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash * COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash
* values and second by ascending security_id values. E.g. used for $SDH * values and second by ascending security_id values. E.g. used for $SDH
* index in FILE_Secure. * index in FILE_Secure.
* COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending * COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending
* le32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which * le32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which
skipping to change at line 551 skipping to change at line 556
* 2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45 * 2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45
* To compare them, they are split into four le32 values each, like so: * To compare them, they are split into four le32 values each, like so:
* 1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081 * 1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081
* 2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179 * 2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179
* Now, it is apparent why the 2nd object_id collates after the 1st: the * Now, it is apparent why the 2nd object_id collates after the 1st: the
* first le32 value of the 1st object_id is less than the first le32 of * first le32 value of the 1st object_id is less than the first le32 of
* the 2nd object_id. If the first le32 values of both object_ids were * the 2nd object_id. If the first le32 values of both object_ids were
* equal then the second le32 values would be compared, etc. * equal then the second le32 values would be compared, etc.
*/ */
typedef enum { typedef enum {
COLLATION_BINARY = const_cpu_to_le32(0), /* Collate by binary COLLATION_BINARY = const_cpu_to_le32(0),
compare where the first byte is most COLLATION_FILE_NAME = const_cpu_to_le32(1),
significant. */ COLLATION_UNICODE_STRING = const_cpu_to_le32(2),
COLLATION_FILE_NAME = const_cpu_to_le32(1), /* Collate file names
as Unicode strings. */
COLLATION_UNICODE_STRING = const_cpu_to_le32(2), /* Collate Unicode
strings by comparing their binary
Unicode values, except that when a
character can be uppercased, the upper
case value collates before the lower
case one. */
COLLATION_NTOFS_ULONG = const_cpu_to_le32(16), COLLATION_NTOFS_ULONG = const_cpu_to_le32(16),
COLLATION_NTOFS_SID = const_cpu_to_le32(17), COLLATION_NTOFS_SID = const_cpu_to_le32(17),
COLLATION_NTOFS_SECURITY_HASH = const_cpu_to_le32(18), COLLATION_NTOFS_SECURITY_HASH = const_cpu_to_le32(18),
COLLATION_NTOFS_ULONGS = const_cpu_to_le32(19), COLLATION_NTOFS_ULONGS = const_cpu_to_le32(19),
} COLLATION_RULES; } COLLATION_RULES;
/** /**
* enum ATTR_DEF_FLAGS - * enum ATTR_DEF_FLAGS -
* *
* The flags (32-bit) describing attribute properties in the attribute * The flags (32-bit) describing attribute properties in the attribute
skipping to change at line 1073 skipping to change at line 1070
FILE_NAME_POSIX = 0x00, FILE_NAME_POSIX = 0x00,
/* This is the largest namespace. It is case sensitive and /* This is the largest namespace. It is case sensitive and
allows all Unicode characters except for: '\0' and '/'. allows all Unicode characters except for: '\0' and '/'.
Beware that in WinNT/2k files which eg have the same name Beware that in WinNT/2k files which eg have the same name
except for their case will not be distinguished by the except for their case will not be distinguished by the
standard utilities and thus a "del filename" will delete standard utilities and thus a "del filename" will delete
both "filename" and "fileName" without warning. */ both "filename" and "fileName" without warning. */
FILE_NAME_WIN32 = 0x01, FILE_NAME_WIN32 = 0x01,
/* The standard WinNT/2k NTFS long filenames. Case insensitive. /* The standard WinNT/2k NTFS long filenames. Case insensitive.
All Unicode chars except: '\0', '"', '*', '/', ':', '<', All Unicode chars except: '\0', '"', '*', '/', ':', '<',
'>', '?', '\' and '|'. Further, names cannot end with a '.' '>', '?', '\' and '|'. Trailing dots and spaces are allowed,
or a space. */ even though on Windows a filename with such a suffix can only
be created and accessed using a WinNT-style path, i.e.
\\?\-prefixed. (If a regular path is used, Windows will
strip the trailing dots and spaces, which makes such
filenames incompatible with most Windows software.) */
FILE_NAME_DOS = 0x02, FILE_NAME_DOS = 0x02,
/* The standard DOS filenames (8.3 format). Uppercase only. /* The standard DOS filenames (8.3 format). Uppercase only.
All 8-bit characters greater space, except: '"', '*', '+', All 8-bit characters greater space, except: '"', '*', '+',
',', '/', ':', ';', '<', '=', '>', '?' and '\'. */ ',', '/', ':', ';', '<', '=', '>', '?' and '\'. Trailing
dots and spaces are forbidden. */
FILE_NAME_WIN32_AND_DOS = 0x03, FILE_NAME_WIN32_AND_DOS = 0x03,
/* 3 means that both the Win32 and the DOS filenames are /* 3 means that both the Win32 and the DOS filenames are
identical and hence have been saved in this single filename identical and hence have been saved in this single filename
record. */ record. */
} __attribute__((__packed__)) FILE_NAME_TYPE_FLAGS; } __attribute__((__packed__)) FILE_NAME_TYPE_FLAGS;
/** /**
* struct FILE_NAME_ATTR - Attribute: Filename (0x30). * struct FILE_NAME_ATTR - Attribute: Filename (0x30).
* *
* NOTE: Always resident. * NOTE: Always resident.
 End of changes. 5 change blocks. 
24 lines changed or deleted 26 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS