diff --git a/include/ntfs/attrib.h b/include/ntfs/attrib.h index 7f7a27ed..c681ab1a 100644 --- a/include/ntfs/attrib.h +++ b/include/ntfs/attrib.h @@ -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. */ diff --git a/include/ntfs/bitmap.h b/include/ntfs/bitmap.h index ef8e77ba..1910cb52 100644 --- a/include/ntfs/bitmap.h +++ b/include/ntfs/bitmap.h @@ -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 { diff --git a/include/ntfs/collate.h b/include/ntfs/collate.h index ee92e43d..2191ba59 100644 --- a/include/ntfs/collate.h +++ b/include/ntfs/collate.h @@ -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; diff --git a/include/ntfs/device.h b/include/ntfs/device.h index 4d4b323c..2a41bcf9 100644 --- a/include/ntfs/device.h +++ b/include/ntfs/device.h @@ -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. */ diff --git a/include/ntfs/device_io.h b/include/ntfs/device_io.h index 8737b871..76e84c79 100644 --- a/include/ntfs/device_io.h +++ b/include/ntfs/device_io.h @@ -37,6 +37,9 @@ #ifndef HDIO_GETGEO # define HDIO_GETGEO 0x10000301 +/** + * struct hd_geometry - + */ struct hd_geometry { unsigned char heads; unsigned char sectors; diff --git a/include/ntfs/dir.h b/include/ntfs/dir.h index 868b39af..49fc88fc 100644 --- a/include/ntfs/dir.h +++ b/include/ntfs/dir.h @@ -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; diff --git a/include/ntfs/index.h b/include/ntfs/index.h index a86cb7d1..c34da33d 100644 --- a/include/ntfs/index.h +++ b/include/ntfs/index.h @@ -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 diff --git a/include/ntfs/inode.h b/include/ntfs/inode.h index 0bc0fe6c..2091d557 100644 --- a/include/ntfs/inode.h +++ b/include/ntfs/inode.h @@ -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. */ diff --git a/include/ntfs/layout.h b/include/ntfs/layout.h index 181253f9..4b5a9f45 100644 --- a/include/ntfs/layout.h +++ b/include/ntfs/layout.h @@ -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. */ diff --git a/include/ntfs/lcnalloc.h b/include/ntfs/lcnalloc.h index 0063b575..07ab020d 100644 --- a/include/ntfs/lcnalloc.h +++ b/include/ntfs/lcnalloc.h @@ -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. */ diff --git a/include/ntfs/list.h b/include/ntfs/list.h index 73041234..6a0188a6 100644 --- a/include/ntfs/list.h +++ b/include/ntfs/list.h @@ -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 diff --git a/include/ntfs/logfile.h b/include/ntfs/logfile.h index 7bfe5d8f..622f050b 100644 --- a/include/ntfs/logfile.h +++ b/include/ntfs/logfile.h @@ -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. */ diff --git a/include/ntfs/runlist.h b/include/ntfs/runlist.h index 26c4a565..764d4c9a 100644 --- a/include/ntfs/runlist.h +++ b/include/ntfs/runlist.h @@ -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 diff --git a/include/ntfs/security.h b/include/ntfs/security.h index 3a579d97..e477eb12 100644 --- a/include/ntfs/security.h +++ b/include/ntfs/security.h @@ -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. * diff --git a/include/ntfs/tree.h b/include/ntfs/tree.h index d7960663..4e2745c4 100644 --- a/include/ntfs/tree.h +++ b/include/ntfs/tree.h @@ -28,7 +28,7 @@ struct ntfs_dir; /** - * struct ntfs_dt + * struct ntfs_dt - */ struct ntfs_dt { struct ntfs_dir *dir; diff --git a/include/ntfs/types.h b/include/ntfs/types.h index fa49fc7a..e6dc111f 100644 --- a/include/ntfs/types.h +++ b/include/ntfs/types.h @@ -81,7 +81,8 @@ typedef sle64 leLSN; * As long as this file will be included after 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, diff --git a/include/ntfs/volume.h b/include/ntfs/volume.h index 715c0320..9ee4a137 100644 --- a/include/ntfs/volume.h +++ b/include/ntfs/volume.h @@ -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 { diff --git a/libntfs/dir.c b/libntfs/dir.c index 467c2175..df6272a0 100644 --- a/libntfs/dir.c +++ b/libntfs/dir.c @@ -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 */ diff --git a/libntfs/runlist.c b/libntfs/runlist.c index c5b9d869..b055450b 100644 --- a/libntfs/runlist.c +++ b/libntfs/runlist.c @@ -2100,7 +2100,7 @@ out: /** * test_rl_main - * @argc: - * @argv:[] + * @argv: * * Description... * diff --git a/libntfs/win32_io.c b/libntfs/win32_io.c index 95a53c3a..dcb20045 100644 --- a/libntfs/win32_io.c +++ b/libntfs/win32_io.c @@ -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. */