# 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
char * | charset
| default character set for items without one
pst_index_ll * | i_head
| the head and tail of the linked list of index structures
pst_index_ll * | i_tail
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 886 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 904 of file libpst.h.

char* pst_file::charset

default character set for items without one

Definition at line 894 of file libpst.h.

char* pst_file::cwd

original cwd when the file was opened

Definition at line 890 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 898 of file libpst.h.

pst_desc_tree * pst_file::d_tail

Definition at line 898 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

Definition at line 908 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 922 of file libpst.h.

char* pst_file::fname

original file name when the file was opened

Definition at line 892 of file libpst.h.

FILE* pst_file::fp

file pointer to opened PST file

Definition at line 888 of file libpst.h.

pst_index_ll* pst_file::i_head

the head and tail of the linked list of index structures

Definition at line 896 of file libpst.h.

pst_index_ll * pst_file::i_tail

Definition at line 896 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 928 of file libpst.h.

uint64_t pst_file::index1

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

Definition at line 910 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 912 of file libpst.h.

uint64_t pst_file::index2

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

Definition at line 914 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 916 of file libpst.h.

uint64_t pst_file::size

size of the pst file

Definition at line 918 of file libpst.h.

pst_x_attrib_ll* pst_file::x_head

the head of the extended attributes linked list

Definition at line 900 of file libpst.h.

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

- libpst/libpst.h