Fairport  v1.0.38
fairport::disk::extended_block< ulonglong > Struct Template Reference

Unicode store version of the extended block. More...

#include <disk.h>

+ Collaboration diagram for fairport::disk::extended_block< ulonglong >:

List of all members.

Public Types

typedef ulonglong block_id_disk

Public Attributes

byte block_type
 Always block_type_extended.
byte level
 If zero, this block points to external blocks. If one, this block points to level zero extended blocks.
ushort count
 Number of entries in the bid array.
ulong total_size
 Total logical size of this block.
block_id_disk bid [1]
 Array of blocks this block points to.

Static Public Attributes

static const size_t max_count = (external_block<ulonglong>::max_size - 8) / sizeof(extended_block<ulonglong>::block_id_disk)
static const size_t max_size = external_block<ulonglong>::max_size * extended_block<ulonglong>::max_count

Detailed Description

template<>
struct fairport::disk::extended_block< ulonglong >

Unicode store version of the extended block.

Extended blocks are a way of extended the logical size of a block. It contains references to other blocks (which themselves may be extended blocks). This block can logically be thought of as the concatenation of the blocks it points to. Extended blocks begin with a header. Note the first byte of this header is the block_type - a property shared with the sub_block.

See also:
[MS-PST] 2.2.2.8.3.2.1
[MS-PST] 2.2.2.8.3.2.2

Definition at line 1083 of file disk.h.


Member Typedef Documentation

typedef ulonglong fairport::disk::extended_block< ulonglong >::block_id_disk

Definition at line 1085 of file disk.h.


Member Data Documentation

block_id_disk fairport::disk::extended_block< ulonglong >::bid[1]

Array of blocks this block points to.

Definition at line 1094 of file disk.h.

byte fairport::disk::extended_block< ulonglong >::block_type

Always block_type_extended.

Definition at line 1090 of file disk.h.

ushort fairport::disk::extended_block< ulonglong >::count

Number of entries in the bid array.

Definition at line 1092 of file disk.h.

byte fairport::disk::extended_block< ulonglong >::level

If zero, this block points to external blocks. If one, this block points to level zero extended blocks.

Definition at line 1091 of file disk.h.

const size_t fairport::disk::extended_block< ulonglong >::max_count = (external_block<ulonglong>::max_size - 8) / sizeof(extended_block<ulonglong>::block_id_disk) [static]

Definition at line 1087 of file disk.h.

const size_t fairport::disk::extended_block< ulonglong >::max_size = external_block<ulonglong>::max_size * extended_block<ulonglong>::max_count [static]

Definition at line 1088 of file disk.h.

ulong fairport::disk::extended_block< ulonglong >::total_size

Total logical size of this block.

Definition at line 1093 of file disk.h.


The documentation for this struct was generated from the following file: