libmspack

- Main Page
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Data Fields

Data Fields
mschmd_header Struct Reference

A structure which represents a CHM helpfile. More...

`#include <mspack.h>`

## Data Fields

unsigned int | version
| The version of the CHM file format used in this file.
unsigned int | timestamp
| The "timestamp" of the CHM helpfile.
unsigned int | language
| The default Language and Country ID (LCID) of the user who ran the HTMLHelp Compiler.
const char * | filename
| The filename of the CHM helpfile.
off_t | length
| The length of the CHM helpfile, in bytes.
struct mschmd_file * | files
| A list of all non-system files in the CHM helpfile.
struct mschmd_file * | sysfiles
| A list of all system files in the CHM helpfile.
struct mschmd_sec_uncompressed | sec0
| The section 0 (uncompressed) data in this CHM helpfile.
struct mschmd_sec_mscompressed | sec1
| The section 1 (MSCompressed) data in this CHM helpfile.
off_t | dir_offset
| The file offset of the first PMGL/PMGI directory chunk.
unsigned int | num_chunks
| The number of PMGL/PMGI directory chunks in this CHM helpfile.
unsigned int | chunk_size
| The size of each PMGL/PMGI chunk, in bytes.
unsigned int | density
| The "density" of the quick-reference section in PMGL/PMGI chunks.
unsigned int | depth
| The depth of the index tree.
unsigned int | index_root
| The number of the root PMGI chunk.
unsigned int | first_pmgl
| The number of the first PMGL chunk.
unsigned int | last_pmgl
| The number of the last PMGL chunk.
unsigned char ** | chunk_cache
| A cache of loaded chunks, filled in by mschm_decoder::fast_find().

## Detailed Description

A structure which represents a CHM helpfile.

All fields are READ ONLY.

## Field Documentation

unsigned char** mschmd_header::chunk_cache

A cache of loaded chunks, filled in by mschm_decoder::fast_find().

Available only in CHM decoder version 2 and above.

unsigned int mschmd_header::chunk_size

The size of each PMGL/PMGI chunk, in bytes.

unsigned int mschmd_header::density

The "density" of the quick-reference section in PMGL/PMGI chunks.

unsigned int mschmd_header::depth

The depth of the index tree.

- if 1, there are no PMGI chunks, only PMGL chunks.
- if 2, there is 1 PMGI chunk. All chunk indices point to PMGL chunks.
- if 3, the root PMGI chunk points to secondary PMGI chunks, which in turn point to PMGL chunks.
- and so on...

off_t mschmd_header::dir_offset

The file offset of the first PMGL/PMGI directory chunk.

const char* mschmd_header::filename

The filename of the CHM helpfile.

This is given by the library user and may be in any format.

struct mschmd_file* mschmd_header::files

A list of all non-system files in the CHM helpfile.

unsigned int mschmd_header::first_pmgl

The number of the first PMGL chunk.

Usually zero. Available only in CHM decoder version 2 and above.

unsigned int mschmd_header::index_root

The number of the root PMGI chunk.

If there is no index in the CHM helpfile, this will be 0xFFFFFFFF.

unsigned int mschmd_header::language

The default Language and Country ID (LCID) of the user who ran the HTMLHelp Compiler.

This is not the language of the CHM file itself.

unsigned int mschmd_header::last_pmgl

The number of the last PMGL chunk.

Usually num_chunks-1. Available only in CHM decoder version 2 and above.

off_t mschmd_header::length

The length of the CHM helpfile, in bytes.

unsigned int mschmd_header::num_chunks

The number of PMGL/PMGI directory chunks in this CHM helpfile.

struct mschmd_sec_uncompressed mschmd_header::sec0

The section 0 (uncompressed) data in this CHM helpfile.

struct mschmd_sec_mscompressed mschmd_header::sec1

The section 1 (MSCompressed) data in this CHM helpfile.

struct mschmd_file* mschmd_header::sysfiles

A list of all system files in the CHM helpfile.

System files are files which begin with "::". They are meta-files generated by the CHM creation process.

unsigned int mschmd_header::timestamp

The "timestamp" of the CHM helpfile.

It is the lower 32 bits of a 64-bit value representing the number of centiseconds since 1601-01-01 00:00:00 UTC, plus 42. It is not useful as a timestamp, but it is useful as a semi-unique ID.

unsigned int mschmd_header::version

The version of the CHM file format used in this file.

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

- mspack.h

All Data Structures Files Functions Variables Defines