libmobi
C library for handling MOBI format ebook documents
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields

MOBI header which follows Record 0 header. More...

#include <mobi.h>

Data Fields

char mobi_magic [5]
 
uint32_t * header_length
 
uint32_t * mobi_type
 
MOBIEncodingtext_encoding
 
uint32_t * uid
 
uint32_t * version
 
uint32_t * orth_index
 
uint32_t * infl_index
 
uint32_t * names_index
 
uint32_t * keys_index
 
uint32_t * extra0_index
 
uint32_t * extra1_index
 
uint32_t * extra2_index
 
uint32_t * extra3_index
 
uint32_t * extra4_index
 
uint32_t * extra5_index
 
uint32_t * non_text_index
 
uint32_t * full_name_offset
 
uint32_t * full_name_length
 
uint32_t * locale
 
uint32_t * dict_input_lang
 
uint32_t * dict_output_lang
 
uint32_t * min_version
 
uint32_t * image_index
 
uint32_t * huff_rec_index
 
uint32_t * huff_rec_count
 
uint32_t * datp_rec_index
 
uint32_t * datp_rec_count
 
uint32_t * exth_flags
 
uint32_t * unknown6
 
uint32_t * drm_offset
 
uint32_t * drm_count
 
uint32_t * drm_size
 
uint32_t * drm_flags
 
uint16_t * first_text_index
 
uint16_t * last_text_index
 
uint32_t * fdst_index
 
uint32_t * fdst_section_count
 
uint32_t * fcis_index
 
uint32_t * fcis_count
 
uint32_t * flis_index
 
uint32_t * flis_count
 
uint32_t * unknown10
 
uint32_t * unknown11
 
uint32_t * srcs_index
 
uint32_t * srcs_count
 
uint32_t * unknown12
 
uint32_t * unknown13
 
uint16_t * extra_flags
 
uint32_t * ncx_index
 
uint32_t * unknown14
 
uint32_t * fragment_index
 
uint32_t * unknown15
 
uint32_t * skeleton_index
 
uint32_t * datp_index
 
uint32_t * unknown16
 
uint32_t * guide_index
 
uint32_t * unknown17
 
uint32_t * unknown18
 
uint32_t * unknown19
 
uint32_t * unknown20
 
char * full_name
 

Detailed Description

MOBI header which follows Record 0 header.

All MOBI header fields are pointers. Some fields are not present in the header, then the pointer is NULL.

Field Documentation

uint32_t* MOBIMobiHeader::datp_index

256: section number of DATP record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::datp_rec_count

124: DATP records count

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::datp_rec_index

120: section number of DATP record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::dict_input_lang

96: input language for a dictionary

Examples:
common.c, and mobitool.c.
uint32_t* MOBIMobiHeader::dict_output_lang

100: output language for a dictionary

Examples:
common.c, and mobitool.c.
uint32_t* MOBIMobiHeader::drm_count

172: number of entries in DRM info

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::drm_flags

180: some flags concerning DRM info

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::drm_offset

168: offset to DRM key info in DRMed files. MOBI_NOTSET if no DRM

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::drm_size

176: number of bytes in DRM info

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::exth_flags

128: bitfield. if bit 6 (0x40) is set, then there's an EXTH record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::extra0_index

56: section number of extra 0 meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::extra1_index

60: section number of extra 1 meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::extra2_index

64: section number of extra 2 meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::extra3_index

68: section number of extra 3 meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::extra4_index

72: section number of extra 4 meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::extra5_index

76: section number of extra 5 meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint16_t* MOBIMobiHeader::extra_flags

242: extra flags

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::fcis_count

204: FCIS records count

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::fcis_index

200: section number of FCIS record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::fdst_index

192 (KF8) section number of FDST record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::fdst_section_count

196 (KF8)

Examples:
mobitool.c.
uint16_t* MOBIMobiHeader::first_text_index

192: section number of first text record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::flis_count

212: FLIS records count

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::flis_index

208: section number of FLIS record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::fragment_index

248 (KF8) section number of fragments record

Examples:
mobitool.c.
char* MOBIMobiHeader::full_name

variable offset (full_name_offset): full name

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::full_name_length

88: length of the full name

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::full_name_offset

84: offset in record 0 (not from start of file) of the full name of the book

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::guide_index

260 (KF8) section number of guide record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::header_length

20: the length of the MOBI header, including the previous 4 bytes

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::huff_rec_count

116: huffman compression records count

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::huff_rec_index

112: first huffman compression record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::image_index

108: first record number (starting with 0) that contains an image (sequential)

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::infl_index

44: section number of inflection meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::keys_index

52: section number of keys meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint16_t* MOBIMobiHeader::last_text_index

194:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::locale

92: first byte is main language: 09 = English, next byte is dialect, 08 = British, 04 = US

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::min_version

104: minimum mobipocket version support needed to read this file.

Examples:
mobitool.c.
char MOBIMobiHeader::mobi_magic[5]

16: M O B I { 77, 79, 66, 73 }, zero terminated

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::mobi_type

24: mobipocket file type

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::names_index

48: section number of names meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::ncx_index

244: section number of NCX record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::non_text_index

80: first record number (starting with 0) that's not the book's text

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::orth_index

40: section number of orthographic meta index. MOBI_NOTSET if index is not available.

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::skeleton_index

252 (KF8) section number of SKEL record

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::srcs_count

228: SRCS records count

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::srcs_index

224: section number of SRCS record

Examples:
mobitool.c.
MOBIEncoding* MOBIMobiHeader::text_encoding

28: 1252 = CP1252, 65001 = UTF-8

Examples:
common.c, and mobitool.c.
uint32_t* MOBIMobiHeader::uid

32: unique id

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown10

216:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown11

220:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown12

232:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown13

236:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown14

248:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown15

252:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown16

260:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown17

264:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown18

268:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown19

272:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown20

276:

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::unknown6

164: use MOBI_NOTSET

Examples:
mobitool.c.
uint32_t* MOBIMobiHeader::version

36: mobipocket format

Examples:
mobitool.c.

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