fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / fs / ntfs / types.h
index a98731e..8c8053b 100644 (file)
@@ -2,7 +2,7 @@
  * types.h - Defines for NTFS Linux kernel driver specific types.
  *          Part of the Linux-NTFS project.
  *
- * Copyright (c) 2001-2004 Anton Altaparmakov
+ * Copyright (c) 2001-2005 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
@@ -53,38 +53,13 @@ typedef sle64 leLCN;
 typedef s64 LSN;
 typedef sle64 leLSN;
 
-/**
- * runlist_element - in memory vcn to lcn mapping array element
- * @vcn:       starting vcn of the current array element
- * @lcn:       starting lcn of the current array element
- * @length:    length in clusters of the current array element
- *
- * The last vcn (in fact the last vcn + 1) is reached when length == 0.
- *
- * When lcn == -1 this means that the count vcns starting at vcn are not
- * physically allocated (i.e. this is a hole / data is sparse).
- */
-typedef struct {       /* In memory vcn to lcn mapping structure element. */
-       VCN vcn;        /* vcn = Starting virtual cluster number. */
-       LCN lcn;        /* lcn = Starting logical cluster number. */
-       s64 length;     /* Run length in clusters. */
-} runlist_element;
-
-/**
- * runlist - in memory vcn to lcn mapping array including a read/write lock
- * @rl:                pointer to an array of runlist elements
- * @lock:      read/write spinlock for serializing access to @rl
- *
+/*
+ * The NTFS transaction log $UsnJrnl uses usn which are signed 64-bit values.
+ * We define our own type USN, to allow for type checking and better code
+ * readability.
  */
-typedef struct {
-       runlist_element *rl;
-       struct rw_semaphore lock;
-} runlist;
-
-typedef enum {
-       FALSE = 0,
-       TRUE = 1
-} BOOL;
+typedef s64 USN;
+typedef sle64 leUSN;
 
 typedef enum {
        CASE_SENSITIVE = 0,