parent
31c61d3404
commit
59c98d3fb1
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* logfile.h - Exports for $LogFile handling. Part of the Linux-NTFS project.
|
||||
* logfile.h - Exports for $LogFile handling. Part of the Linux-NTFS project.
|
||||
*
|
||||
* Copyright (c) 2000-2002 Anton Altaparmakov
|
||||
* Copyright (c) 2000-2004 Anton Altaparmakov
|
||||
*
|
||||
* This program/include file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
|
@ -23,6 +23,8 @@
|
|||
#define _NTFS_LOGFILE_H
|
||||
|
||||
#include "types.h"
|
||||
#include "endians.h"
|
||||
#include "layout.h"
|
||||
|
||||
typedef enum {
|
||||
magic_RSTR = const_cpu_to_le32(0x52545352), /* "RSTR", restart area */
|
||||
|
@ -59,7 +61,7 @@ typedef struct {
|
|||
u16 usa_ofs; /* See NTFS_RECORD definition above. */
|
||||
u16 usa_count; /* See NTFS_RECORD definition above. */
|
||||
|
||||
u64 chkdsk_lsn; /* The check disk log file sequence number for
|
||||
LSN chkdsk_lsn; /* The check disk log file sequence number for
|
||||
this restart page. Only used when the
|
||||
magic is changed to "CHKD". = 0 */
|
||||
u32 system_page_size; /* Byte size of system pages, has to be >= 512
|
||||
|
@ -85,7 +87,7 @@ typedef struct {
|
|||
* it.
|
||||
*/
|
||||
typedef struct {
|
||||
u64 current_lsn; /* Log file record. = 0x700000, 0x700808 */
|
||||
LSN current_lsn; /* Log file record. = 0x700000, 0x700808 */
|
||||
u16 log_clients; /* Number of log client records following
|
||||
the restart_area. = 1 */
|
||||
s16 client_free_list; /* How many clients are free(?). If != 0xffff,
|
||||
|
@ -147,9 +149,9 @@ typedef struct {
|
|||
* the offset of the RESTART_AREA to the client_array_offset value found in it.
|
||||
*/
|
||||
typedef struct {
|
||||
u64 oldest_lsn; /* Oldest log file sequence number for this
|
||||
LSN oldest_lsn; /* Oldest log file sequence number for this
|
||||
client record. */
|
||||
u64 client_restart_lsn; /* Log file sequence number at which to
|
||||
LSN client_restart_lsn; /* Log file sequence number at which to
|
||||
restart the volume, i.e. the current
|
||||
position within the logfile. */
|
||||
s16 prev_client; /* ??? = 0xffff */
|
||||
|
@ -182,7 +184,7 @@ typedef struct {
|
|||
u16 usa_count; /* See NTFS_RECORD definition above. */
|
||||
|
||||
union {
|
||||
u64 last_lsn;
|
||||
LSN last_lsn;
|
||||
u32 file_offset;
|
||||
} __attribute__ ((__packed__)) copy;
|
||||
u32 flags;
|
||||
|
@ -191,7 +193,7 @@ typedef struct {
|
|||
union {
|
||||
struct {
|
||||
u64 next_record_offset;
|
||||
u64 last_end_lsn;
|
||||
LSN last_end_lsn;
|
||||
} __attribute__ ((__packed__)) packed;
|
||||
} __attribute__ ((__packed__)) header;
|
||||
} __attribute__ ((__packed__)) RECORD_PAGE_HEADER;
|
||||
|
@ -211,9 +213,9 @@ typedef enum {
|
|||
* bytes.
|
||||
*/
|
||||
typedef struct {
|
||||
u64 this_lsn;
|
||||
u64 client_previous_lsn;
|
||||
u64 client_undo_next_lsn;
|
||||
LSN this_lsn;
|
||||
LSN client_previous_lsn;
|
||||
LSN client_undo_next_lsn;
|
||||
u32 client_data_length;
|
||||
struct {
|
||||
u16 seq_number;
|
||||
|
@ -237,11 +239,11 @@ typedef struct {
|
|||
u16 record_offset;
|
||||
u16 attribute_offset;
|
||||
u32 alignment_or_reserved;
|
||||
s64 target_vcn;
|
||||
VCN target_vcn;
|
||||
/* Now at ofs 0x50. */
|
||||
struct { /* Only present if lcns_to_follow
|
||||
is not 0. */
|
||||
s64 lcn;
|
||||
LCN lcn;
|
||||
} __attribute__((__packed__)) lcn_list[0];
|
||||
} __attribute__ ((__packed__)) LOG_RECORD;
|
||||
|
||||
|
|
Loading…
Reference in New Issue