Changes by: antona
Update of /cvsroot/linux-ntfs/linux-ntfs/include
In directory usw-pr-cvs1:/tmp/cvs-serv27230/include
Modified Files:
Makefile.in attrib.h
Log Message:
Hammer out the API for run list merging. Add calls for low level (using raw run lists and ATTR_RECORDs as parameters) run list merging, mappaing pairs decompression, and vcn to lcn conversion as well as high level (using ntfs_attr as parameter) calls for run list mapping and vcn to lcn conversion.
Index: Makefile.in
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/include/Makefile.in,v
retrieving revision 1.16
retrieving revision 1.17
diff -U2 -r1.16 -r1.17
--- Makefile.in 22 Apr 2002 10:34:31 -0000 1.16
+++ Makefile.in 24 Apr 2002 23:47:42 -0000 1.17
@@ -89,25 +89,9 @@
all_includes = @all_includes@
all_libraries = @all_libraries@
-@DEBUG_TRUE@AM_CFLAGS = @DEBUG_TRUE@-D_FILE_OFFSET_BITS=64 -g -DDEBUG
-@DEBUG_FALSE@AM_CFLAGS = @DEBUG_FALSE@-D_FILE_OFFSET_BITS=64
+@DEBUG_TRUE@AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -g -DDEBUG
+@DEBUG_FALSE@AM_CFLAGS = -D_FILE_OFFSET_BITS=64
linux_ntfsincludedir = $(includedir)/ntfs
-linux_ntfsinclude_HEADERS = \
- attrib.h \
- bitmap.h \
- bootsect.h \
- debug.h \
- disk_io.h \
- endians.h \
- inode.h \
- layout.h \
- list.h \
- logfile.h \
- mft.h \
- mst.h \
- support.h \
- types.h \
- unistr.h \
- volume.h
+linux_ntfsinclude_HEADERS = attrib.h bitmap.h bootsect.h debug.h disk_io.h endians.h inode.h layout.h list.h logfile.h mft.h mst.h support.h types.h unistr.h volume.h
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
Index: attrib.h
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/include/attrib.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -U2 -r1.33 -r1.34
--- attrib.h 24 Apr 2002 19:02:07 -0000 1.33
+++ attrib.h 24 Apr 2002 23:47:42 -0000 1.34
@@ -28,4 +28,11 @@
#include "unistr.h"
+/**
+ * ntfs_lcn_special_values - special return values for ntfs_*_vcn_to_lcn()
+ *
+ * Special return values for ntfs_rl_vcn_to_lcn() and ntfs_attr_vcn_to_lcn().
+ *
+ * TODO: Describe them.
+ */
typedef enum {
LCN_HOLE = -1, /* Keep this as highest value or die! */
@@ -33,7 +40,6 @@
LCN_ENOENT = -3,
LCN_EINVAL = -4,
-} NTFS_LCN_SPECIAL_VALUES;
-
-extern LCN ntfs_vcn_to_lcn(const run_list_element *rl, const VCN vcn);
+ LCN_EIO = -5,
+} ntfs_lcn_special_values;
/**
@@ -66,4 +72,14 @@
} ntfs_attr_search_ctx;
+extern void ntfs_reinit_attr_search_ctx(ntfs_attr_search_ctx *ctx);
+extern ntfs_attr_search_ctx *ntfs_get_attr_search_ctx(ntfs_inode *ni,
+ MFT_RECORD *mrec);
+extern void ntfs_put_attr_search_ctx(ntfs_attr_search_ctx *ctx);
+
+extern int ntfs_lookup_attr(const ATTR_TYPES type, const uchar_t *name,
+ const __u32 name_len, const IGNORE_CASE_BOOL ic,
+ const VCN lowest_vcn, const __u8 *val, const __u32 val_len,
+ ntfs_attr_search_ctx *ctx);
+
/**
* ntfs_attr_state_bits - bits for the state field in the ntfs_attr structure
@@ -130,16 +146,16 @@
extern void ntfs_attr_put(ntfs_attr *na);
-extern void ntfs_reinit_attr_search_ctx(ntfs_attr_search_ctx *ctx);
-extern ntfs_attr_search_ctx *ntfs_get_attr_search_ctx(ntfs_inode *ni,
- MFT_RECORD *mrec);
-extern void ntfs_put_attr_search_ctx(ntfs_attr_search_ctx *ctx);
-
-extern int ntfs_lookup_attr(const ATTR_TYPES type, const uchar_t *name,
- const __u32 name_len, const IGNORE_CASE_BOOL ic,
- const VCN lowest_vcn, const __u8 *val, const __u32 val_len,
- ntfs_attr_search_ctx *ctx);
+extern run_list_element *ntfs_merge_run_lists(run_list_element *drl,
+ run_list_element *srl);
extern run_list_element *ntfs_decompress_mapping_pairs(const ntfs_volume *vol,
const ATTR_RECORD *attr, run_list_element *old_rl);
+
+extern int ntfs_attr_map_run_list(ntfs_attr *na, VCN vcn);
+
+extern LCN ntfs_rl_vcn_to_lcn(const run_list_element *rl, const VCN vcn);
+extern LCN ntfs_attr_vcn_to_lcn(ntfs_attr *na, const VCN vcn);
+
+// FIXME / TODO: Above here the file is cleaned up. (AIA)
/**
|