Data Structures |
| struct | chmItsfHeader |
| struct | chmItspHeader |
| struct | chmPmglHeader |
| struct | chmPmgiHeader |
| struct | chmLzxcResetTable |
| struct | chmLzxcControlData |
| struct | chmFile |
Defines |
| #define | CHM_ACQUIRE_LOCK(a) |
| #define | CHM_RELEASE_LOCK(a) |
| #define | CHM_NULL_FD (INVALID_HANDLE_VALUE) |
| #define | CHM_CLOSE_FILE(fd) CloseHandle((fd)) |
| #define | CHM_MAX_BLOCKS_CACHED 5 |
| #define | CHM_PARAM_MAX_BLOCKS_CACHED 0 |
| #define | _CHM_ITSF_V2_LEN (0x58) |
| #define | _CHM_ITSF_V3_LEN (0x60) |
| #define | _CHM_ITSP_V1_LEN (0x54) |
| #define | _CHM_PMGL_LEN (0x14) |
| #define | _CHM_PMGI_LEN (0x08) |
| #define | _CHM_LZXC_RESETTABLE_V1_LEN (0x28) |
| #define | _CHM_LZXC_MIN_LEN (0x18) |
| #define | _CHM_LZXC_V2_LEN (0x1c) |
Typedefs |
| typedef BYTE | UChar |
| typedef SHORT | Int16 |
| typedef USHORT | UInt16 |
| typedef LONG | Int32 |
| typedef DWORD | UInt32 |
| typedef LONGLONG | Int64 |
| typedef ULONGLONG | UInt64 |
Functions |
| static int | _unmarshal_char_array (unsigned char **pData, unsigned int *pLenRemain, char *dest, int count) |
| static int | _unmarshal_uchar_array (unsigned char **pData, unsigned int *pLenRemain, unsigned char *dest, int count) |
| static int | _unmarshal_int32 (unsigned char **pData, unsigned int *pLenRemain, Int32 *dest) |
| static int | _unmarshal_uint32 (unsigned char **pData, unsigned int *pLenRemain, UInt32 *dest) |
| static int | _unmarshal_int64 (unsigned char **pData, unsigned int *pLenRemain, Int64 *dest) |
| static int | _unmarshal_uint64 (unsigned char **pData, unsigned int *pLenRemain, UInt64 *dest) |
| static int | _unmarshal_uuid (unsigned char **pData, unsigned int *pDataLen, unsigned char *dest) |
| static int | _unmarshal_itsf_header (unsigned char **pData, unsigned int *pDataLen, struct chmItsfHeader *dest) |
| static int | _unmarshal_itsp_header (unsigned char **pData, unsigned int *pDataLen, struct chmItspHeader *dest) |
| static int | _unmarshal_pmgl_header (unsigned char **pData, unsigned int *pDataLen, struct chmPmglHeader *dest) |
| static int | _unmarshal_pmgi_header (unsigned char **pData, unsigned int *pDataLen, struct chmPmgiHeader *dest) |
| static int | _unmarshal_lzxc_reset_table (unsigned char **pData, unsigned int *pDataLen, struct chmLzxcResetTable *dest) |
| static int | _unmarshal_lzxc_control_data (unsigned char **pData, unsigned int *pDataLen, struct chmLzxcControlData *dest) |
| static Int64 | _chm_fetch_bytes (struct chmFile *h, UChar *buf, UInt64 os, Int64 len) |
| static void | chm_set_param (struct chmFile *h, int paramType, int paramVal) |
| struct chmFile * | chm_openW (const WCHAR *filename) |
| struct chmFile * | chm_dup (struct chmFile *oldHandle) |
| void | chm_close (struct chmFile *h) |
| static void | _chm_skip_cword (UChar **pEntry) |
| static void | _chm_skip_PMGL_entry_data (UChar **pEntry) |
| static UInt64 | _chm_parse_cword (UChar **pEntry) |
| static int | _chm_parse_UTF8 (UChar **pEntry, UInt64 count, WCHAR *path) |
| static int | _chm_parse_PMGL_entry (UChar **pEntry, struct chmUnitInfo *ui) |
| static UChar * | _chm_find_in_PMGL (UChar *page_buf, UInt32 block_len, const WCHAR *objPath) |
| static Int32 | _chm_find_in_PMGI (UChar *page_buf, UInt32 block_len, const WCHAR *objPath) |
| int | chm_resolve_object (struct chmFile *h, const WCHAR *objPath, struct chmUnitInfo *ui) |
| static int | _chm_get_cmpblock_bounds (struct chmFile *h, UInt64 block, UInt64 *start, Int64 *len) |
| static Int64 | _chm_decompress_block (struct chmFile *h, UInt64 block, UChar **ubuffer) |
| static Int64 | _chm_decompress_region (struct chmFile *h, UChar *buf, UInt64 start, Int64 len) |
| LONGINT64 | chm_retrieve_object (struct chmFile *h, struct chmUnitInfo *ui, unsigned char *buf, LONGUINT64 addr, LONGINT64 len) |
| int | chm_enumerate_dir (struct chmFile *h, const WCHAR *prefix, int what, CHM_ENUMERATOR e, void *context) |
Variables |
| static const WCHAR | _CHMU_RESET_TABLE [] |
| static const WCHAR | _CHMU_LZXC_CONTROLDATA [] |
| static const WCHAR | _CHMU_CONTENT [] |
| static const char | _chm_pmgl_marker [4] = "PMGL" |
| static const char | _chm_pmgi_marker [4] = "PMGI" |