# pst_file Struct Reference

`#include <libpst/libpst.h>`

Collaboration diagram for pst_file:
[legend]

## Data Fields
FILE * | fp
| file pointer to opened PST file
char * | cwd
| original cwd when the file was opened
char * | fname
| original file name when the file was opened
const char * | charset
| default character set for items without one
pst_index_ll * | i_table
| the array of index structures
size_t | i_count
size_t | i_capacity
pst_desc_tree * | d_head
| the head and tail of the top level of the descriptor tree
pst_desc_tree * | d_tail
pst_x_attrib_ll * | x_head
| the head of the extended attributes linked list
pst_block_recorder * | block_head
| the head of the block recorder, a debug artifact used to detect cases where we might read the same block multiple times while processing a pst file.
int | do_read64
uint64_t | index1
| file offset of the first b-tree node in the index tree
uint64_t | index1_back
| back pointer value in the first b-tree node in the index tree
uint64_t | index2
| file offset of the first b-tree node in the descriptor tree
uint64_t | index2_back
| back pointer value in the first b-tree node in the descriptor tree
uint64_t | size
| size of the pst file
unsigned char | encryption
unsigned char | ind_type
| index type or file type

## Detailed Description

Definition at line 889 of file libpst.h.

## Field Documentation

pst_block_recorder* pst_file::block_head

the head of the block recorder, a debug artifact used to detect cases where we might read the same block multiple times while processing a pst file.

Definition at line 908 of file libpst.h.

const char* pst_file::charset

default character set for items without one

Definition at line 897 of file libpst.h.

char* pst_file::cwd

original cwd when the file was opened

Definition at line 893 of file libpst.h.

pst_desc_tree* pst_file::d_head

the head and tail of the top level of the descriptor tree

Definition at line 902 of file libpst.h.

pst_desc_tree * pst_file::d_tail

Definition at line 902 of file libpst.h.

int pst_file::do_read64

- 0 is 32-bit pst file, pre Outlook 2003;
- 1 is 64-bit pst file, Outlook 2003 or later;
- 2 is 64-bit OST file, Outlook 2013 or later

Definition at line 913 of file libpst.h.

unsigned char pst_file::encryption

- 0 PST_NO_ENCRYPT, none
- 1 PST_COMP_ENCRYPT, simple byte substitution cipher with fixed key
- 2 PST_ENCRYPT, german enigma 3 rotor cipher with fixed key

Definition at line 927 of file libpst.h.

char* pst_file::fname

original file name when the file was opened

Definition at line 895 of file libpst.h.

FILE* pst_file::fp

file pointer to opened PST file

Definition at line 891 of file libpst.h.

size_t pst_file::i_capacity

Definition at line 900 of file libpst.h.

size_t pst_file::i_count

Definition at line 900 of file libpst.h.

pst_index_ll* pst_file::i_table

the array of index structures

Definition at line 899 of file libpst.h.

unsigned char pst_file::ind_type

index type or file type

- 0x0e 32 bit pre Outlook 2003
- 0x0f 32 bit pre Outlook 2003
- 0x15 64 bit Outlook 2003 or later
- 0x17 64 bit Outlook 2003 or later

Definition at line 933 of file libpst.h.

uint64_t pst_file::index1

file offset of the first b-tree node in the index tree

Definition at line 915 of file libpst.h.

uint64_t pst_file::index1_back

back pointer value in the first b-tree node in the index tree

Definition at line 917 of file libpst.h.

uint64_t pst_file::index2

file offset of the first b-tree node in the descriptor tree

Definition at line 919 of file libpst.h.

uint64_t pst_file::index2_back

back pointer value in the first b-tree node in the descriptor tree

Definition at line 921 of file libpst.h.

uint64_t pst_file::size

size of the pst file

Definition at line 923 of file libpst.h.

pst_x_attrib_ll* pst_file::x_head

the head of the extended attributes linked list

Definition at line 904 of file libpst.h.

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

- libpst/libpst.h