add/update function comment blocks

(ok, they need words, but it's a start)
edge.strict_endians
flatcap 2005-10-31 01:15:12 +00:00
parent c47717581a
commit 9c2e3a8206
20 changed files with 259 additions and 108 deletions

View File

@ -38,7 +38,7 @@ typedef struct _ntfs_attr_search_ctx ntfs_attr_search_ctx;
extern ntfschar AT_UNNAMED[];
/**
* ntfs_lcn_special_values - special return values for ntfs_*_vcn_to_lcn()
* enum 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().
*
@ -53,7 +53,7 @@ typedef enum {
} ntfs_lcn_special_values;
/**
* ntfs_attr_search_ctx - search context used in attribute search functions
* struct ntfs_attr_search_ctx - search context used in attribute search functions
* @mrec: buffer containing mft record to search
* @attr: attribute record in @mrec where to begin/continue search
* @is_first: if true lookup_attr() begins search with @attr, else after @attr
@ -126,7 +126,7 @@ static __inline__ int ntfs_attrs_walk(ntfs_attr_search_ctx *ctx)
}
/**
* ntfs_attr - ntfs in memory non-resident attribute structure
* struct ntfs_attr - ntfs in memory non-resident attribute structure
* @rl: if not NULL, the decompressed runlist
* @ni: base ntfs inode to which this attribute belongs
* @type: attribute type
@ -184,7 +184,7 @@ struct _ntfs_attr {
};
/**
* ntfs_attr_state_bits - bits for the state field in the ntfs_attr structure
* enum ntfs_attr_state_bits - bits for the state field in the ntfs_attr structure
*/
typedef enum {
NA_Initialized, /* 1: structure is initialized. */

View File

@ -138,7 +138,7 @@ static __inline__ int ntfs_bitmap_clear_bit(ntfs_attr *na, s64 bit)
#include "inode.h"
/**
* struct ntfs_bmp
* struct ntfs_bmp -
* a cache for either dir/$BITMAP, $MFT/$BITMAP or $Bitmap/$DATA
*/
struct ntfs_bmp {

View File

@ -29,6 +29,14 @@
#define NTFS_COLLATION_ERROR -2
/**
* ntfs_is_collation_rule_supported -
* @cr:
*
* Description...
*
* Returns:
*/
static inline BOOL ntfs_is_collation_rule_supported(COLLATION_RULES cr)
{
int i;

View File

@ -31,7 +31,8 @@
#include "support.h"
#include "volume.h"
/*
/**
* enum ntfs_device_state_bits -
* Defined bits for the state field in the ntfs_device structure.
*/
typedef enum {
@ -56,7 +57,8 @@ typedef enum {
#define NDevSetDirty(nd) set_ndev_flag(nd, Dirty)
#define NDevClearDirty(nd) clear_ndev_flag(nd, Dirty)
/*
/**
* struct ntfs_device -
* The ntfs device structure defining all operations needed to access the low
* level device underlying the ntfs volume.
*/
@ -70,7 +72,8 @@ struct ntfs_device {
struct stat;
/*
/**
* struct ntfs_device_operations -
* The ntfs device operations defining all operations that can be performed on
* the low level device described by an ntfs device structure.
*/

View File

@ -37,6 +37,9 @@
#ifndef HDIO_GETGEO
# define HDIO_GETGEO 0x10000301
/**
* struct hd_geometry -
*/
struct hd_geometry {
unsigned char heads;
unsigned char sectors;

View File

@ -84,7 +84,7 @@ extern int ntfs_readdir(ntfs_inode *dir_ni, s64 *pos,
#ifdef NTFS_RICH
/**
* struct ntfs_dir
* struct ntfs_dir -
*/
struct ntfs_dir {
ntfs_volume *vol;

View File

@ -31,7 +31,7 @@
#include "mft.h"
/**
* ntfs_index_context -
* struct ntfs_index_context -
* @ni: inode containing the @entry described by this context
* @name: name of the index described by this context
* @name_len: length of the index name

View File

@ -32,7 +32,8 @@ typedef struct _ntfs_inode ntfs_inode;
#include "support.h"
#include "volume.h"
/*
/**
* enum ntfs_inode_state_bits -
* Defined bits for the state field in the ntfs_inode structure.
* (f) = files only, (d) = directories only
*/
@ -108,7 +109,8 @@ typedef enum {
#define NInoFileNameTestAndClearDirty(ni) \
test_and_clear_nino_flag(ni, FileNameDirty)
/*
/**
* struct _ntfs_inode -
* The NTFS in-memory inode structure. It is just used as an extension to the
* fields already provided in the VFS inode.
*/

View File

@ -43,7 +43,8 @@
* number of sectors/2 (integer divide), i.e. in the middle of the volume.
*/
/*
/**
* struct BIOS_PARAMETER_BLOCK -
* BIOS parameter block (bpb) structure.
*/
typedef struct {
@ -64,7 +65,8 @@ typedef struct {
/* sizeof() = 25 (0x19) bytes */
} __attribute__((__packed__)) BIOS_PARAMETER_BLOCK;
/*
/**
* struct NTFS_BOOT_SECTOR -
* NTFS boot sector structure.
*/
typedef struct {
@ -97,7 +99,8 @@ typedef struct {
/* sizeof() = 512 (0x200) bytes */
} __attribute__((__packed__)) NTFS_BOOT_SECTOR;
/*
/**
* enum NTFS_RECORD_TYPES -
* Magic identifiers present at the beginning of all ntfs record containing
* records (like mft records for example).
*/
@ -165,7 +168,8 @@ typedef enum {
#define NTFS_BLOCK_SIZE 512
#define NTFS_BLOCK_SIZE_BITS 9
/*
/**
* struct NTFS_RECORD -
* The Update Sequence Array (usa) is an array of the u16 values which belong
* to the end of each sector protected by the update sequence record in which
* this array is contained. Note that the first entry is the Update Sequence
@ -192,7 +196,8 @@ typedef struct {
minus 1. */
} __attribute__((__packed__)) NTFS_RECORD;
/*
/**
* enum NTFS_SYSTEM_FILES -
* System files mft record numbers. All these files are always marked as used
* in the bitmap attribute of the mft; presumably in order to avoid accidental
* allocation for random other mft records. Also, the sequence number for each
@ -238,13 +243,13 @@ typedef enum {
whether to allow opening a file or not. */
} NTFS_SYSTEM_FILES;
/*
/**
* enum MFT_RECORD_FLAGS -
* These are the so far known MFT_RECORD_* flags (16-bit) which contain
* information about the mft record in which they are present.
* _4 and _8 are needed by $Extend sub-files (don't know what to
* call them yet...)
*/
typedef enum {
MFT_RECORD_IN_USE = const_cpu_to_le16(0x0001),
MFT_RECORD_IS_DIRECTORY = const_cpu_to_le16(0x0002),
@ -316,7 +321,8 @@ typedef u64 MFT_REF;
#define ERR_MREF(x) ((u64)((s64)(x)))
#define MREF_ERR(x) ((int)((s64)(x)))
/*
/**
* struct MFT_RECORD -
* The mft record header present at the beginning of every record in the mft.
* This is followed by a sequence of variable length attribute records which
* is terminated by an attribute of type AT_END which is a truncated attribute
@ -392,7 +398,10 @@ typedef struct {
*/
} __attribute__((__packed__)) MFT_RECORD;
/* This is the version without the NTFS 3.1+ specific fields. */
/**
* struct MFT_RECORD_OLD -
* This is the version without the NTFS 3.1+ specific fields.
*/
typedef struct {
/*Ofs*/
/* 0 NTFS_RECORD; -- Unfolded here as gcc doesn't like unnamed structs. */
@ -459,7 +468,8 @@ typedef struct {
*/
} __attribute__((__packed__)) MFT_RECORD_OLD;
/*
/**
* enum ATTR_TYPES -
* System defined attributes (32-bit). Each attribute type has a corresponding
* attribute name (Unicode string of maximum 64 character length) as described
* by the attribute definitions present in the data attribute of the $AttrDef
@ -489,7 +499,8 @@ typedef enum {
AT_END = const_cpu_to_le32(0xffffffff),
} ATTR_TYPES;
/*
/**
* enum COLLATION_RULES -
* The collation rules for sorting views/indexes/etc (32-bit).
*
* COLLATION_UNICODE_STRING - Collate Unicode strings by comparing their binary
@ -543,7 +554,8 @@ typedef enum {
COLLATION_NTOFS_ULONGS = const_cpu_to_le32(19),
} COLLATION_RULES;
/*
/**
* enum ATTR_DEF_FLAGS -
* The flags (32-bit) describing attribute properties in the attribute
* definition structure. FIXME: This information is based on Regis's
* information and, according to him, it is not certain and probably
@ -578,7 +590,8 @@ typedef enum {
resident. */
} ATTR_DEF_FLAGS;
/*
/**
* struct ATTR_DEF -
* The data attribute of FILE_AttrDef contains a sequence of attribute
* definitions for the NTFS volume. With this, it is supposed to be safe for an
* older NTFS driver to mount a volume containing a newer NTFS version without
@ -601,7 +614,8 @@ typedef struct {
/* sizeof() = 0xa0 or 160 bytes */
} __attribute__((__packed__)) ATTR_DEF;
/*
/**
* enum ATTR_FLAGS -
* Attribute flags (16-bit).
*/
typedef enum {
@ -680,7 +694,8 @@ typedef enum {
* clusters at the end.
*/
/*
/**
* enum RESIDENT_ATTR_FLAGS -
* Flags of resident attributes (8-bit).
*/
typedef enum {
@ -689,7 +704,8 @@ typedef enum {
modifying the attribute). */
} __attribute__((__packed__)) RESIDENT_ATTR_FLAGS;
/*
/**
* struct ATTR_RECORD -
* Attribute record header. Always aligned to 8-byte boundary.
*/
typedef struct {
@ -796,7 +812,8 @@ typedef struct {
typedef ATTR_RECORD ATTR_REC;
/*
/**
* enum FILE_ATTR_FLAGS -
* File attribute flags (32-bit).
*/
typedef enum {
@ -857,7 +874,8 @@ typedef enum {
* 00:00:00 UTC and is stored as the number of 1-second intervals since then.)
*/
/*
/**
* struct STANDARD_INFORMATION -
* Attribute: Standard information (0x10).
*
* NOTE: Always resident.
@ -949,7 +967,8 @@ typedef struct {
/* sizeof() = 72 bytes (NTFS 3.0) */
} __attribute__((__packed__)) STANDARD_INFORMATION;
/*
/**
* struct ATTR_LIST_ENTRY -
* Attribute: Attribute list (0x20).
*
* - Can be either resident or non-resident.
@ -1015,7 +1034,8 @@ typedef struct {
*/
#define NTFS_MAX_NAME_LEN 255
/*
/**
* enum FILE_NAME_TYPE_FLAGS -
* Possible namespaces for filenames in ntfs (8-bit).
*/
typedef enum {
@ -1041,7 +1061,8 @@ typedef enum {
record. */
} __attribute__((__packed__)) FILE_NAME_TYPE_FLAGS;
/*
/**
* struct FILE_NAME_ATTR -
* Attribute: Filename (0x30).
*
* NOTE: Always resident.
@ -1089,7 +1110,8 @@ typedef struct {
/* 42*/ ntfschar file_name[0]; /* File name in Unicode. */
} __attribute__((__packed__)) FILE_NAME_ATTR;
/*
/**
* struct GUID -
* GUID structures store globally unique identifiers (GUID). A GUID is a
* 128-bit value consisting of one group of eight hexadecimal digits, followed
* by three groups of four hexadecimal digits each, followed by one group of
@ -1107,7 +1129,8 @@ typedef struct {
final 12 hexadecimal digits. */
} __attribute__((__packed__)) GUID;
/*
/**
* struct OBJ_ID_INDEX_DATA -
* FILE_Extend/$ObjId contains an index named $O. This index contains all
* object_ids present on the volume as the index keys and the corresponding
* mft_record numbers as the index entry data parts. The data part (defined
@ -1131,7 +1154,8 @@ typedef struct {
} __attribute__((__packed__));
} __attribute__((__packed__)) OBJ_ID_INDEX_DATA;
/*
/**
* struct OBJECT_ID_ATTR -
* Attribute: Object id (NTFS 3.0+) (0x40).
*
* NOTE: Always resident.
@ -1158,20 +1182,24 @@ typedef struct {
} __attribute__((__packed__));
} __attribute__((__packed__)) OBJECT_ID_ATTR;
/*
#if 0
/**
* enum IDENTIFIER_AUTHORITIES -
* The pre-defined IDENTIFIER_AUTHORITIES used as SID_IDENTIFIER_AUTHORITY in
* the SID structure (see below).
*/
//typedef enum { /* SID string prefix. */
// SECURITY_NULL_SID_AUTHORITY = {0, 0, 0, 0, 0, 0}, /* S-1-0 */
// SECURITY_WORLD_SID_AUTHORITY = {0, 0, 0, 0, 0, 1}, /* S-1-1 */
// SECURITY_LOCAL_SID_AUTHORITY = {0, 0, 0, 0, 0, 2}, /* S-1-2 */
// SECURITY_CREATOR_SID_AUTHORITY = {0, 0, 0, 0, 0, 3}, /* S-1-3 */
// SECURITY_NON_UNIQUE_AUTHORITY = {0, 0, 0, 0, 0, 4}, /* S-1-4 */
// SECURITY_NT_SID_AUTHORITY = {0, 0, 0, 0, 0, 5}, /* S-1-5 */
//} IDENTIFIER_AUTHORITIES;
typedef enum { /* SID string prefix. */
SECURITY_NULL_SID_AUTHORITY = {0, 0, 0, 0, 0, 0}, /* S-1-0 */
SECURITY_WORLD_SID_AUTHORITY = {0, 0, 0, 0, 0, 1}, /* S-1-1 */
SECURITY_LOCAL_SID_AUTHORITY = {0, 0, 0, 0, 0, 2}, /* S-1-2 */
SECURITY_CREATOR_SID_AUTHORITY = {0, 0, 0, 0, 0, 3}, /* S-1-3 */
SECURITY_NON_UNIQUE_AUTHORITY = {0, 0, 0, 0, 0, 4}, /* S-1-4 */
SECURITY_NT_SID_AUTHORITY = {0, 0, 0, 0, 0, 5}, /* S-1-5 */
} IDENTIFIER_AUTHORITIES;
#endif
/*
/**
* enum RELATIVE_IDENTIFIERS -
* These relative identifiers (RIDs) are used with the above identifier
* authorities to make up universal well-known SIDs.
*
@ -1301,7 +1329,8 @@ typedef union {
u8 value[6]; /* Value as individual bytes. */
} __attribute__((__packed__)) SID_IDENTIFIER_AUTHORITY;
/*
/**
* struct SID -
* The SID structure is a variable-length structure used to uniquely identify
* users or groups. SID stands for security identifier.
*
@ -1334,7 +1363,8 @@ typedef struct {
u32 sub_authority[1]; /* At least one sub_authority. */
} __attribute__((__packed__)) SID;
/*
/**
* enum SID_CONSTANTS -
* Current constants for SIDs.
*/
typedef enum {
@ -1344,7 +1374,8 @@ typedef enum {
a future revision. */
} SID_CONSTANTS;
/*
/**
* enum ACE_TYPES -
* The predefined ACE types (8-bit, see below).
*/
typedef enum {
@ -1372,7 +1403,8 @@ typedef enum {
ACCESS_MAX_MS_ACE_TYPE = 8,
} __attribute__((__packed__)) ACE_TYPES;
/*
/**
* enum ACE_FLAGS -
* The ACE flags (8-bit) for audit and inheritance (see below).
*
* SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE
@ -1396,7 +1428,8 @@ typedef enum {
FAILED_ACCESS_ACE_FLAG = 0x80,
} __attribute__((__packed__)) ACE_FLAGS;
/*
/**
* struct ACE_HEADER -
* An ACE is an access-control entry in an access-control list (ACL).
* An ACE defines access to an object for a specific user or group or defines
* the types of access that generate system-administration messages or alarms
@ -1413,7 +1446,8 @@ typedef struct {
u16 size; /* Size in bytes of the ACE. */
} __attribute__((__packed__)) ACE_HEADER;
/*
/**
* enum ACCESS_MASK -
* The access mask (32-bit). Defines the access rights.
*/
typedef enum {
@ -1546,7 +1580,8 @@ typedef enum {
GENERIC_READ = const_cpu_to_le32(0x80000000),
} ACCESS_MASK;
/*
/**
* struct GENERIC_MAPPING -
* The generic mapping array. Used to denote the mapping of each generic
* access right to a specific access mask.
*
@ -1563,7 +1598,8 @@ typedef struct {
* The predefined ACE type structures are as defined below.
*/
/*
/**
* struct ACCESS_DENIED_ACE -
* ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE
*/
typedef struct {
@ -1577,7 +1613,8 @@ typedef struct {
} __attribute__((__packed__)) ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE,
SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE;
/*
/**
* enum OBJECT_ACE_FLAGS -
* The object ACE flags (32-bit).
*/
typedef enum {
@ -1585,6 +1622,9 @@ typedef enum {
ACE_INHERITED_OBJECT_TYPE_PRESENT = const_cpu_to_le32(2),
} OBJECT_ACE_FLAGS;
/**
* struct ACCESS_ALLOWED_OBJECT_ACE -
*/
typedef struct {
/* 0 ACE_HEADER; -- Unfolded here as gcc doesn't like unnamed structs. */
ACE_TYPES type; /* Type of the ACE. */
@ -1601,7 +1641,8 @@ typedef struct {
SYSTEM_AUDIT_OBJECT_ACE,
SYSTEM_ALARM_OBJECT_ACE;
/*
/**
* struct ACL -
* An ACL is an access-control list (ACL).
* An ACL starts with an ACL header structure, which specifies the size of
* the ACL and the number of ACEs it contains. The ACL header is followed by
@ -1618,7 +1659,8 @@ typedef struct {
/* sizeof() = 8 bytes */
} __attribute__((__packed__)) ACL;
/*
/**
* enum ACL_CONSTANTS -
* Current constants for ACLs.
*/
typedef enum {
@ -1635,7 +1677,8 @@ typedef enum {
MAX_ACL_REVISION = 4,
} ACL_CONSTANTS;
/*
/**
* enum SECURITY_DESCRIPTOR_CONTROL -
* The security descriptor control flags (16-bit).
*
* SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the
@ -1699,7 +1742,8 @@ typedef enum {
SE_SELF_RELATIVE = const_cpu_to_le16(0x8000),
} __attribute__((__packed__)) SECURITY_DESCRIPTOR_CONTROL;
/*
/**
* struct SECURITY_DESCRIPTOR_RELATIVE -
* Self-relative security descriptor. Contains the owner and group SIDs as well
* as the sacl and dacl ACLs inside the security descriptor itself.
*/
@ -1725,7 +1769,8 @@ typedef struct {
/* sizeof() = 0x14 bytes */
} __attribute__((__packed__)) SECURITY_DESCRIPTOR_RELATIVE;
/*
/**
* struct SECURITY_DESCRIPTOR -
* Absolute security descriptor. Does not contain the owner and group SIDs, nor
* the sacl and dacl ACLs inside the security descriptor. Instead, it contains
* pointers to these structures in memory. Obviously, absolute security
@ -1753,7 +1798,8 @@ typedef struct {
(unconditionally granting access) is specified. */
} __attribute__((__packed__)) SECURITY_DESCRIPTOR;
/*
/**
* enum SECURITY_DESCRIPTOR_CONSTANTS -
* Current constants for security descriptors.
*/
typedef enum {
@ -1816,7 +1862,8 @@ typedef SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_ATTR;
* references an entry any more.
*/
/*
/**
* struct SECURITY_DESCRIPTOR_HEADER -
* This header precedes each security descriptor in the $SDS data stream.
* This is also the index entry data part of both the $SII and $SDH indexes.
*/
@ -1827,6 +1874,9 @@ typedef struct {
u32 length; /* Size in bytes of this entry in $SDS stream. */
} __attribute__((__packed__)) SECURITY_DESCRIPTOR_HEADER;
/**
* struct SDH_INDEX_DATA -
*/
typedef struct {
u32 hash; /* Hash of the security descriptor. */
u32 security_id; /* The security_id assigned to the descriptor. */
@ -1835,6 +1885,9 @@ typedef struct {
u64 reserved_II; /* Padding - always unicode "II" */
} __attribute__((__packed__)) SDH_INDEX_DATA;
/**
* struct SII_INDEX_DATA -
*/
typedef struct {
u32 hash; /* Hash of the security descriptor. */
u32 security_id; /* The security_id assigned to the descriptor. */
@ -1842,11 +1895,15 @@ typedef struct {
u32 size_in_sds; /* Size of the descriptor in SDS data stream */
} __attribute__((__packed__)) SII_INDEX_DATA;
/**
* struct QUOTA_O_INDEX_DATA -
*/
typedef struct {
u64 owner_id;
} __attribute__((__packed__)) QUOTA_O_INDEX_DATA;
/*
/**
* struct SDS_ENTRY -
* The $SDS data stream contains the security descriptors, aligned on 16-byte
* boundaries, sorted by security_id in a B+ tree. Security descriptors cannot
* cross 256kib boundaries (this restriction is imposed by the Windows cache
@ -1868,7 +1925,8 @@ typedef struct {
descriptor. */
} __attribute__((__packed__)) SDS_ENTRY;
/*
/**
* struct SII_INDEX_KEY -
* The index entry key used in the $SII index. The collation type is
* COLLATION_NTOFS_ULONG.
*/
@ -1876,7 +1934,8 @@ typedef struct {
u32 security_id; /* The security_id assigned to the descriptor. */
} __attribute__((__packed__)) SII_INDEX_KEY;
/*
/**
* struct SDH_INDEX_KEY -
* The index entry key used in the $SDH index. The keys are sorted first by
* hash and then by security_id. The collation rule is
* COLLATION_NTOFS_SECURITY_HASH.
@ -1886,7 +1945,8 @@ typedef struct {
u32 security_id; /* The security_id assigned to the descriptor. */
} __attribute__((__packed__)) SDH_INDEX_KEY;
/*
/**
* struct VOLUME_NAME -
* Attribute: Volume name (0x60).
*
* NOTE: Always resident.
@ -1896,7 +1956,8 @@ typedef struct {
ntfschar name[0]; /* The name of the volume in Unicode. */
} __attribute__((__packed__)) VOLUME_NAME;
/*
/**
* enum VOLUME_FLAGS -
* Possible flags for the volume (16-bit).
*/
typedef enum {
@ -1910,7 +1971,8 @@ typedef enum {
VOLUME_FLAGS_MASK = const_cpu_to_le16(0x803f),
} __attribute__((__packed__)) VOLUME_FLAGS;
/*
/**
* struct VOLUME_INFORMATION -
* Attribute: Volume information (0x70).
*
* NOTE: Always resident.
@ -1925,7 +1987,8 @@ typedef struct {
VOLUME_FLAGS flags; /* Bit array of VOLUME_* flags. */
} __attribute__((__packed__)) VOLUME_INFORMATION;
/*
/**
* struct DATA_ATTR -
* Attribute: Data attribute (0x80).
*
* NOTE: Can be resident or non-resident.
@ -1936,7 +1999,8 @@ typedef struct {
u8 data[0]; /* The file's data contents. */
} __attribute__((__packed__)) DATA_ATTR;
/*
/**
* enum INDEX_HEADER_FLAGS -
* Index header flags (8-bit).
*/
typedef enum {
@ -1958,7 +2022,8 @@ typedef enum {
NODE_MASK = 1, /* Mask for accessing the *_NODE bits. */
} __attribute__((__packed__)) INDEX_HEADER_FLAGS;
/*
/**
* struct INDEX_HEADER -
* This is the header for indexes, describing the INDEX_ENTRY records, which
* follow the INDEX_HEADER. Together the index header and the index entries
* make up a complete index.
@ -1986,7 +2051,8 @@ typedef struct {
u8 reserved[3]; /* Reserved/align to 8-byte boundary. */
} __attribute__((__packed__)) INDEX_HEADER;
/*
/**
* struct INDEX_ROOT -
* Attribute: Index root (0x90).
*
* NOTE: Always resident.
@ -2028,7 +2094,8 @@ typedef struct {
following index entries. */
} __attribute__((__packed__)) INDEX_ROOT;
/*
/**
* struct INDEX_BLOCK -
* Attribute: Index allocation (0xa0).
*
* NOTE: Always non-resident (doesn't make sense to be resident anyway!).
@ -2061,7 +2128,8 @@ typedef struct {
typedef INDEX_BLOCK INDEX_ALLOCATION;
/*
/**
* struct REPARSE_INDEX_KEY -
* The system file FILE_Extend/$Reparse contains an index named $R listing
* all reparse points on the volume. The index entry keys are as defined
* below. Note, that there is no index data associated with the index entries.
@ -2076,7 +2144,8 @@ typedef struct {
reparse point attribute. */
} __attribute__((__packed__)) REPARSE_INDEX_KEY;
/*
/**
* enum QUOTA_FLAGS -
* Quota flags (32-bit).
*/
typedef enum {
@ -2100,7 +2169,8 @@ typedef enum {
QUOTA_FLAG_PENDING_DELETES = const_cpu_to_le32(0x00000800),
} QUOTA_FLAGS;
/*
/**
* struct QUOTA_CONTROL_ENTRY -
* The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas
* are on a per volume and per user basis.
*
@ -2134,7 +2204,8 @@ typedef struct {
defaults entry. */
} __attribute__((__packed__)) QUOTA_CONTROL_ENTRY;
/*
/**
* enum PREDEFINED_OWNER_IDS -
* Predefined owner_id values (32-bit).
*/
typedef enum {
@ -2143,7 +2214,8 @@ typedef enum {
QUOTA_FIRST_USER_ID = const_cpu_to_le32(0x00000100),
} PREDEFINED_OWNER_IDS;
/*
/**
* enum INDEX_ENTRY_FLAGS -
* Index entry flags (16-bit).
*/
typedef enum {
@ -2158,7 +2230,8 @@ typedef enum {
INDEX_ENTRY_SPACE_FILLER = 0xffff, /* Just to force 16-bit width. */
} __attribute__((__packed__)) INDEX_ENTRY_FLAGS;
/*
/**
* struct INDEX_ENTRY_HEADER -
* This the index entry header (see below).
*/
typedef struct {
@ -2185,7 +2258,8 @@ typedef struct {
/* sizeof() = 16 bytes */
} __attribute__((__packed__)) INDEX_ENTRY_HEADER;
/*
/**
* struct INDEX_ENTRY -
* This is an index entry. A sequence of such entries follows each INDEX_HEADER
* structure. Together they make up a complete index. The index follows either
* an index root attribute or an index allocation attribute.
@ -2251,7 +2325,8 @@ typedef struct {
// where sizeof(VCN) can be hardcoded as 8 if wanted. */
} __attribute__((__packed__)) INDEX_ENTRY;
/*
/**
* struct BITMAP_ATTR -
* Attribute: Bitmap (0xb0).
*
* Contains an array of bits (aka a bitfield).
@ -2265,7 +2340,8 @@ typedef struct {
u8 bitmap[0]; /* Array of bits. */
} __attribute__((__packed__)) BITMAP_ATTR;
/*
/**
* enum PREDEFINED_REPARSE_TAGS -
* The reparse point tag defines the type of the reparse point. It also
* includes several flags, which further describe the reparse point.
*
@ -2306,7 +2382,8 @@ typedef enum {
IO_REPARSE_TAG_VALID_VALUES = const_cpu_to_le32(0xe000ffff),
} PREDEFINED_REPARSE_TAGS;
/*
/**
* struct REPARSE_POINT -
* Attribute: Reparse point (0xc0).
*
* NOTE: Can be resident or non-resident.
@ -2318,7 +2395,8 @@ typedef struct {
u8 reparse_data[0]; /* Meaning depends on reparse_tag. */
} __attribute__((__packed__)) REPARSE_POINT;
/*
/**
* struct EA_INFORMATION -
* Attribute: Extended attribute (EA) information (0xd0).
*
* NOTE: Always resident.
@ -2335,7 +2413,8 @@ typedef struct {
attributes. */
} __attribute__((__packed__)) EA_INFORMATION;
/*
/**
* enum EA_FLAGS -
* Extended attribute flags (8-bit).
*/
typedef enum {
@ -2345,7 +2424,8 @@ typedef enum {
attributes. */
} __attribute__((__packed__)) EA_FLAGS;
/*
/**
* struct EA_ATTR -
* Attribute: Extended attribute (EA) (0xe0).
*
* Like the attribute list and the index buffer list, the EA attribute value is
@ -2365,7 +2445,8 @@ typedef struct {
follows the name. */
} __attribute__((__packed__)) EA_ATTR;
/*
/**
* struct PROPERTY_SET -
* Attribute: Property set (0xf0).
*
* Intended to support Native Structure Storage (NSS) - a feature removed from
@ -2375,7 +2456,8 @@ typedef struct {
/* Irrelevant as feature unused. */
} __attribute__((__packed__)) PROPERTY_SET;
/*
/**
* struct LOGGED_UTILITY_STREAM -
* Attribute: Logged utility stream (0x100).
*
* NOTE: Can be resident or non-resident.
@ -2417,7 +2499,10 @@ typedef struct {
* is invalid.
*/
/* The header of the 0x100 attribute named "$EFS". */
/**
* struct EFS_ATTR_HEADER -
* The header of the 0x100 attribute named "$EFS".
*/
typedef struct {
/* 0*/ u32 length; /* Length of EFS attribute in bytes. */
u32 state; /* Always 0? */
@ -2435,11 +2520,17 @@ typedef struct {
u32 reserved; /* Reserved. */
} __attribute__((__packed__)) EFS_ATTR_HEADER;
/**
* struct EFS_DF_ARRAY_HEADER -
*/
typedef struct {
u32 df_count; /* Number of data decryption/recovery fields in
the array. */
} __attribute__((__packed__)) EFS_DF_ARRAY_HEADER;
/**
* struct EFS_DF_HEADER -
*/
typedef struct {
/* 0*/ u32 df_length; /* Length of this data decryption/recovery
field in bytes. */
@ -2451,6 +2542,9 @@ typedef struct {
/* 16*/ u32 unknown1; /* always 0? Might be just padding. */
} __attribute__((__packed__)) EFS_DF_HEADER;
/**
* struct EFS_DF_CREDENTIAL_HEADER -
*/
typedef struct {
/* 0*/ u32 cred_length; /* Length of this credential in bytes. */
u32 sid_offset; /* Offset in bytes to the user's sid from start
@ -2492,6 +2586,9 @@ typedef struct {
typedef EFS_DF_CREDENTIAL_HEADER EFS_DF_CRED_HEADER;
/**
* struct EFS_DF_CERTIFICATE_THUMBPRINT_HEADER -
*/
typedef struct {
/* 0*/ u32 thumbprint_offset; /* Offset in bytes to the thumbprint. */
u32 thumbprint_size; /* Size of thumbprint in bytes. */

View File

@ -28,6 +28,9 @@
#include "runlist.h"
#include "volume.h"
/**
* enum NTFS_CLUSTER_ALLOCATION_ZONES -
*/
typedef enum {
FIRST_ZONE = 0, /* For sanity checking. */
MFT_ZONE = 0, /* Allocate from $MFT zone. */

View File

@ -22,7 +22,8 @@
#ifndef _NTFS_LIST_H
#define _NTFS_LIST_H
/*
/**
* struct list_head -
* Simple doubly linked list implementation. - Copied from Linux kernel
* 2.4.2-ac18 into Linux-NTFS (with minor modifications). - AIA
*
@ -32,7 +33,6 @@
* generate better code by using them directly rather than
* using the generic single-entry routines.
*/
struct list_head {
struct list_head *next, *prev;
};
@ -46,7 +46,12 @@ struct list_head {
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
/*
/**
* __list_add -
* @new:
* @prev:
* @next:
*
* Insert a new entry between two known consecutive entries.
*
* This is only for internal list manipulation where we know the prev/next
@ -87,7 +92,11 @@ static __inline__ void list_add_tail(struct list_head *new, struct list_head *he
__list_add(new, head->prev, head);
}
/*
/**
* __list_del -
* @prev:
* @next:
*
* Delete a list entry by making the prev/next entries point to each other.
*
* This is only for internal list manipulation where we know the prev/next

View File

@ -56,7 +56,8 @@
#define DefaultLogPageSize 4096
#define MinLogRecordPages 48
/*
/**
* struct RESTART_PAGE_HEADER -
* Log file restart page header (begins the restart area).
*/
typedef struct {
@ -113,7 +114,8 @@ enum {
typedef le16 RESTART_AREA_FLAGS;
/*
/**
* struct RESTART_AREA -
* Log file restart area record. The offset of this record is found by adding
* the offset of the RESTART_PAGE_HEADER to the restart_area_offset value found
* in it. See notes at restart_area_offset above.
@ -252,7 +254,8 @@ typedef struct {
/* sizeof() = 48 (0x30) bytes */
} __attribute__((__packed__)) RESTART_AREA;
/*
/**
* struct LOG_CLIENT_RECORD -
* Log client record. The offset of this record is found by adding the offset
* of the RESTART_AREA to the client_array_offset value found in it.
*/
@ -291,7 +294,8 @@ typedef struct {
/* sizeof() = 160 (0xa0) bytes */
} __attribute__((__packed__)) LOG_CLIENT_RECORD;
/*
/**
* struct RECORD_PAGE_HEADER -
* Log page record page header. Each log page begins with this header and is
* followed by several LOG_RECORD structures, starting at offset 0x40 (the
* size of this structure and the following update sequence array and then
@ -322,7 +326,8 @@ typedef struct {
} __attribute__((__packed__)) header;
} __attribute__((__packed__)) RECORD_PAGE_HEADER;
/*
/**
* enum LOG_RECORD_FLAGS -
* Possible 16-bit flags for log records. (Or is it log record pages?)
*/
typedef enum {
@ -332,7 +337,8 @@ typedef enum {
gcc knows to make the flags 16-bit. */
} __attribute__((__packed__)) LOG_RECORD_FLAGS;
/*
/**
* struct LOG_CLIENT_ID -
* The log client id structure identifying a log client.
*/
typedef struct {
@ -340,7 +346,8 @@ typedef struct {
u16 client_index;
} __attribute__((__packed__)) LOG_CLIENT_ID;
/*
/**
* struct LOG_RECORD -
* Log record header. Each log record seems to have a constant size of 0x70
* bytes.
*/

View File

@ -32,7 +32,8 @@ typedef runlist_element runlist;
#include "attrib.h"
#include "volume.h"
/*
/**
* struct _runlist_element -
* 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

View File

@ -33,7 +33,7 @@ extern char *ntfs_guid_to_mbs(const GUID *guid, char *guid_str);
/**
* ntfs_sid_is_valid - determine if a SID is valid
* @sid: [IN] SID for which to determine if it is valid
* @sid: SID for which to determine if it is valid
*
* Determine if the SID pointed to by @sid is valid.
*

View File

@ -28,7 +28,7 @@
struct ntfs_dir;
/**
* struct ntfs_dt
* struct ntfs_dt -
*/
struct ntfs_dt {
struct ntfs_dir *dir;

View File

@ -81,7 +81,8 @@ typedef sle64 leLSN;
* As long as this file will be included after <windows.h> were fine.
*/
#ifndef _WINDEF_H
/*
/**
* enum BOOL -
* These are just to make the code more readable...
*/
typedef enum {
@ -94,6 +95,9 @@ typedef enum {
} BOOL;
#endif /* defined _WINDEF_H */
/**
* enum IGNORE_CASE_BOOL -
*/
typedef enum {
CASE_SENSITIVE = 0,
IGNORE_CASE = 1,

View File

@ -43,6 +43,9 @@
/* Both under Cygwin and DJGPP we do not have MS_RDONLY, so we define it. */
#if !defined(MS_RDONLY)
/**
* enum MS_MOUNT -
*/
typedef enum {
MS_RDONLY = 1,
} MS_MOUNT;
@ -57,7 +60,8 @@ typedef struct _ntfs_volume ntfs_volume;
#include "inode.h"
#include "attrib.h"
/*
/**
* enum ntfs_mount_flags -
* Flags returned by the ntfs_check_if_mounted() function.
*/
typedef enum {
@ -68,7 +72,8 @@ typedef enum {
extern int ntfs_check_if_mounted(const char *file, unsigned long *mnt_flags);
/*
/**
* enum ntfs_volume_state_bits -
* Defined bits for the state field in the ntfs_volume structure.
*/
typedef enum {
@ -108,7 +113,8 @@ typedef enum {
#define NTFS_BUF_SIZE 8192
/*
/**
* struct _ntfs_volume -
* ntfs_volume - structure describing an open volume in memory
*/
struct _ntfs_volume {

View File

@ -592,6 +592,7 @@ static const ntfschar dotdot[3] = { const_cpu_to_le16('.'),
const_cpu_to_le16('\0') };
/*
* union index_union -
* More helpers for ntfs_readdir().
*/
typedef union {
@ -599,6 +600,10 @@ typedef union {
INDEX_ALLOCATION *ia;
} index_union __attribute__((__transparent_union__));
/**
* enum INDEX_TYPE -
* More helpers for ntfs_readdir().
*/
typedef enum {
INDEX_TYPE_ROOT, /* index root */
INDEX_TYPE_ALLOCATION, /* index allocation */

View File

@ -2100,7 +2100,7 @@ out:
/**
* test_rl_main -
* @argc:
* @argv:[]
* @argv:
*
* Description...
*

View File

@ -78,6 +78,9 @@ static LPFN_SETFILEPOINTEREX fnSetFilePointerEx = NULL;
#define FNPOSTFIX "A"
#endif
/**
* struct win32_fd -
*/
typedef struct {
HANDLE handle;
s64 pos; /* Logical current position on the volume. */