Changes by: antona
Update of /cvsroot/linux-ntfs/linux-ntfs/include
In directory usw-pr-cvs1:/tmp/cvs-serv32085/include
Modified Files:
logfile.h
Log Message:
dumplog now decodes the first 0x5000 bytes of the logfile given on the command
line as fully as possible with the current knowledge of the logfile structures.
Index: logfile.h
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/include/logfile.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -U2 -r1.9 -r1.10
--- logfile.h 2001/06/15 16:47:46 1.9
+++ logfile.h 2001/06/16 00:06:17 1.10
@@ -88,8 +88,8 @@
__u16 log_clients; /* Number of log client records following
the restart_area. = 1 */
- __u16 client_free_list; /* How many clients are free(?). If != 0xffff,
+ __s16 client_free_list; /* How many clients are free(?). If != 0xffff,
check that log_clients > client_free_list.
= 0xffff */
- __u16 client_in_use_list;/* How many clients are in use(?). If != 0xffff
+ __s16 client_in_use_list;/* How many clients are in use(?). If != 0xffff
check that log_clients > client_in_use_list.
= 0 */
@@ -152,6 +152,6 @@
restart the volume, i.e. the current
position within the logfile. */
- __u16 prev_client; /* ??? = 0xffff */
- __u16 next_client; /* ??? = 0xffff */
+ __s16 prev_client; /* ??? = 0xffff */
+ __s16 next_client; /* ??? = 0xffff */
__u64 seq_number; /* ??? = 1, size uncertain, Regis calls this
"volume clear flag" and gives a size of one
@@ -171,5 +171,7 @@
/*
* Log page record page header. Each log page begins with this header and is
- * followed by several LOG_RECORD structures.
+ * followed by several LOG_RECORD structures, starting at offset 0x40 (the
+ * size of this structure and the following update sequence array and then
+ * aligned to 8 byte boundary, but is this specified anywhere?).
*/
typedef struct {
@@ -194,5 +196,5 @@
*/
typedef enum {
- LOG_RECORD_MULTI_PAGE = 1, /* ??? */
+ LOG_RECORD_MULTI_PAGE = cpu_to_le16(0x0001), /* ??? */
LOG_RECORD_SIZE_PLACE_HOLDER = 0xffff,
/* This has nothing to do with the log record. It is only so
@@ -201,5 +203,6 @@
/*
- * Log record header.
+ * Log record header. Each log record seems to have a constant size of 0x70
+ * bytes.
*/
typedef struct {
@@ -226,13 +229,13 @@
__u16 lcns_to_follow; /* Number of lcn_list entries
following this entry. */
+/* Now at ofs 0x40. */
__u16 record_offset;
__u16 attribute_offset;
__u32 alignment_or_reserved;
- __u32 target_vcn;
- __u32 alignment_or_reserved1;
+ __s64 target_vcn;
+/* Now at ofs 0x50. */
struct { /* Only present if lcns_to_follow
is not 0. */
- __u32 lcn;
- __u32 alignment_or_reserved;
+ __s64 lcn;
} __attribute__((__packed__)) lcn_list[0];
} __attribute__ ((__packed__)) LOG_RECORD;
|