Changes by: antona
Update of /cvsroot/linux-ntfs/linux-ntfs/include
In directory usw-pr-cvs1:/tmp/cvs-serv6688/include
Modified Files:
layout.h unistr.h
Log Message:
mkntfs delayed. more reverse engineering required to determine exact method of
index entry collation. first few helper functions are already done and entered
into ntfslib in unistr.c
Index: layout.h
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/include/layout.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -U2 -r1.8 -r1.9
--- layout.h 2001/06/08 19:58:24 1.8
+++ layout.h 2001/06/09 00:25:55 1.9
@@ -32,6 +32,8 @@
#include "endians.h"
#include "support.h"
-#include "unistr.h"
+/* 2-byte Unicode character type. */
+typedef __u16 uchar_t;
+
/*
* Clusters are signed 64-bit values on NTFS volumes. We define two types, LCN
@@ -832,36 +834,37 @@
*/
typedef struct {
- MFT_REF parent_directory; /* Directory this filename is
+/*hex ofs*/
+/* 0*/ MFT_REF parent_directory; /* Directory this filename is
referenced from. */
- __s64 creation_time; /* Time file was created. */
- __s64 last_data_change_time; /* Time the data attribute was last
+/* 8*/ __s64 creation_time; /* Time file was created. */
+/* 10*/ __s64 last_data_change_time; /* Time the data attribute was last
modified. */
- __s64 last_mft_change_time; /* Time this mft record was last
+/* 18*/ __s64 last_mft_change_time; /* Time this mft record was last
modified. */
- __s64 last_access_time; /* Last time this mft record was
+/* 20*/ __s64 last_access_time; /* Last time this mft record was
accessed. */
- __s64 allocated_size; /* Byte size of allocated space for the
+/* 28*/ __s64 allocated_size; /* Byte size of allocated space for the
data attribute. NOTE: Is a multiple
of the cluster size. */
- __s64 data_size; /* Byte size of actual data in data
+/* 30*/ __s64 data_size; /* Byte size of actual data in data
attribute. NOTE: Only present when
lowest_vcn is 0. */
- FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */
- union {
- struct {
- __u16 packed_ea_size; /* Size of the buffer needed to
+/* 38*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */
+/* 3c*/ union {
+ /* 3c*/ struct {
+ /* 3c*/ __u16 packed_ea_size; /* Size of the buffer needed to
pack the extended attributes
(EAs), if such are present.*/
- __u16 reserved; /* Reserved for alignment. */
+ /* 3e*/ __u16 reserved; /* Reserved for alignment. */
} __attribute__ ((__packed__));
- __u32 reparse_point_tag; /* Type of reparse point,
+ /* 3c*/ __u32 reparse_point_tag; /* Type of reparse point,
present only in reparse
points and only if there are
no EAs. */
} __attribute__ ((__packed__));
- __u8 file_name_length; /* Length of file name in
+/* 40*/ __u8 file_name_length; /* Length of file name in
(Unicode) characters. */
- FILE_NAME_TYPE_FLAGS file_name_type; /* Namespace of the file name.*/
- uchar_t file_name[0]; /* File name in Unicode. */
+/* 41*/ FILE_NAME_TYPE_FLAGS file_name_type; /* Namespace of the file name.*/
+/* 42*/ uchar_t file_name[0]; /* File name in Unicode. */
} __attribute__ ((__packed__)) FILE_NAME_ATTR;
Index: unistr.h
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/include/unistr.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -U2 -r1.6 -r1.7
--- unistr.h 2001/06/01 02:07:24 1.6
+++ unistr.h 2001/06/09 00:25:55 1.7
@@ -30,7 +30,4 @@
#include "support.h"
-/* 2-byte Unicode character type. */
-typedef __u16 uchar_t;
-
extern const __u8 legal_ansi_char_array[0x40];
@@ -48,8 +45,8 @@
const uchar_t *upcase, const __u32 upcase_size);
-int ntfs_collate_names(const uchar_t *upcase, const __u32 upcase_len,
- const uchar_t *name1, const __u32 name1_len,
- const uchar_t *name2, const __u32 name2_len,
- const IGNORE_CASE_BOOL ic, const int err_val);
+int ntfs_collate_names(const uchar_t *name1, const __u32 name1_len,
+ const uchar_t *name2, const __u32 name2_len,
+ const int err_val, const IGNORE_CASE_BOOL ic,
+ const uchar_t *upcase, const __u32 upcase_len);
int ntfs_wcsncmp(const uchar_t *s1, const uchar_t *s2, size_t n);
@@ -57,4 +54,15 @@
int ntfs_wcsncasecmp(const uchar_t *s1, const uchar_t *s2, size_t n,
const uchar_t *upcase, const __u32 upcase_size);
+
+void ntfs_upcase_name(uchar_t *name, __u32 name_len, const uchar_t *upcase,
+ const __u32 upcase_len);
+
+void ntfs_file_upcase_value(FILE_NAME_ATTR *file_name_attr,
+ const uchar_t *upcase, const __u32 upcase_len);
+
+int ntfs_file_compare_values(FILE_NAME_ATTR *file_name_attr1,
+ FILE_NAME_ATTR *file_name_attr2,
+ const int err_val, const IGNORE_CASE_BOOL ic,
+ const uchar_t *upcase, const __u32 upcase_len);
#endif /* defined UNISTR_H */
|