libmobi
C library for handling MOBI format ebook documents
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

◆ datp_index

uint32_t* MOBIMobiHeader::datp_index

256: section number of DATP record

Examples:
mobitool.c.

◆ datp_rec_count

uint32_t* MOBIMobiHeader::datp_rec_count

124: DATP records count

Examples:
mobitool.c.

◆ datp_rec_index

uint32_t* MOBIMobiHeader::datp_rec_index

120: section number of DATP record

Examples:
mobitool.c.

◆ dict_input_lang

uint32_t* MOBIMobiHeader::dict_input_lang

96: input language for a dictionary

Examples:
common.c, and mobitool.c.

◆ dict_output_lang

uint32_t* MOBIMobiHeader::dict_output_lang

100: output language for a dictionary

Examples:
common.c, and mobitool.c.

◆ drm_count

uint32_t* MOBIMobiHeader::drm_count

172: number of entries in DRM info

Examples:
mobitool.c.

◆ drm_flags

uint32_t* MOBIMobiHeader::drm_flags

180: some flags concerning DRM info

Examples:
mobitool.c.

◆ drm_offset

uint32_t* MOBIMobiHeader::drm_offset

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

Examples:
mobitool.c.

◆ drm_size

uint32_t* MOBIMobiHeader::drm_size

176: number of bytes in DRM info

Examples:
mobitool.c.

◆ exth_flags

uint32_t* MOBIMobiHeader::exth_flags

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

Examples:
mobitool.c.

◆ extra0_index

uint32_t* MOBIMobiHeader::extra0_index

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

Examples:
mobitool.c.

◆ extra1_index

uint32_t* MOBIMobiHeader::extra1_index

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

Examples:
mobitool.c.

◆ extra2_index

uint32_t* MOBIMobiHeader::extra2_index

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

Examples:
mobitool.c.

◆ extra3_index

uint32_t* MOBIMobiHeader::extra3_index

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

Examples:
mobitool.c.

◆ extra4_index

uint32_t* MOBIMobiHeader::extra4_index

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

Examples:
mobitool.c.

◆ extra5_index

uint32_t* MOBIMobiHeader::extra5_index

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

Examples:
mobitool.c.

◆ extra_flags

uint16_t* MOBIMobiHeader::extra_flags

242: extra flags

Examples:
mobitool.c.

◆ fcis_count

uint32_t* MOBIMobiHeader::fcis_count

204: FCIS records count

Examples:
mobitool.c.

◆ fcis_index

uint32_t* MOBIMobiHeader::fcis_index

200: section number of FCIS record

Examples:
mobitool.c.

◆ fdst_index

uint32_t* MOBIMobiHeader::fdst_index

192 (KF8) section number of FDST record

Examples:
mobitool.c.

◆ fdst_section_count

uint32_t* MOBIMobiHeader::fdst_section_count

196 (KF8)

Examples:
mobitool.c.

◆ first_text_index

uint16_t* MOBIMobiHeader::first_text_index

192: section number of first text record

Examples:
mobitool.c.

◆ flis_count

uint32_t* MOBIMobiHeader::flis_count

212: FLIS records count

Examples:
mobitool.c.

◆ flis_index

uint32_t* MOBIMobiHeader::flis_index

208: section number of FLIS record

Examples:
mobitool.c.

◆ fragment_index

uint32_t* MOBIMobiHeader::fragment_index

248 (KF8) section number of fragments record

Examples:
mobitool.c.

◆ full_name

char* MOBIMobiHeader::full_name

variable offset (full_name_offset): full name

Examples:
mobitool.c.

◆ full_name_length

uint32_t* MOBIMobiHeader::full_name_length

88: length of the full name

Examples:
mobitool.c.

◆ full_name_offset

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.

◆ guide_index

uint32_t* MOBIMobiHeader::guide_index

260 (KF8) section number of guide record

Examples:
mobitool.c.

◆ header_length

uint32_t* MOBIMobiHeader::header_length

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

Examples:
mobitool.c.

◆ huff_rec_count

uint32_t* MOBIMobiHeader::huff_rec_count

116: huffman compression records count

Examples:
mobitool.c.

◆ huff_rec_index

uint32_t* MOBIMobiHeader::huff_rec_index

112: first huffman compression record

Examples:
mobitool.c.

◆ image_index

uint32_t* MOBIMobiHeader::image_index

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

Examples:
mobitool.c.

◆ infl_index

uint32_t* MOBIMobiHeader::infl_index

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

Examples:
mobitool.c.

◆ keys_index

uint32_t* MOBIMobiHeader::keys_index

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

Examples:
mobitool.c.

◆ last_text_index

uint16_t* MOBIMobiHeader::last_text_index

194:

Examples:
mobitool.c.

◆ locale

uint32_t* MOBIMobiHeader::locale

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

Examples:
mobitool.c.

◆ min_version

uint32_t* MOBIMobiHeader::min_version

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

Examples:
mobitool.c.

◆ mobi_magic

char MOBIMobiHeader::mobi_magic[5]

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

Examples:
mobitool.c.

◆ mobi_type

uint32_t* MOBIMobiHeader::mobi_type

24: mobipocket file type

Examples:
mobitool.c.

◆ names_index

uint32_t* MOBIMobiHeader::names_index

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

Examples:
mobitool.c.

◆ ncx_index

uint32_t* MOBIMobiHeader::ncx_index

244: section number of NCX record

Examples:
mobitool.c.

◆ non_text_index

uint32_t* MOBIMobiHeader::non_text_index

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

Examples:
mobitool.c.

◆ orth_index

uint32_t* MOBIMobiHeader::orth_index

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

Examples:
mobitool.c.

◆ skeleton_index

uint32_t* MOBIMobiHeader::skeleton_index

252 (KF8) section number of SKEL record

Examples:
mobitool.c.

◆ srcs_count

uint32_t* MOBIMobiHeader::srcs_count

228: SRCS records count

Examples:
mobitool.c.

◆ srcs_index

uint32_t* MOBIMobiHeader::srcs_index

224: section number of SRCS record

Examples:
mobitool.c.

◆ text_encoding

MOBIEncoding* MOBIMobiHeader::text_encoding

28: 1252 = CP1252, 65001 = UTF-8

Examples:
common.c, and mobitool.c.

◆ uid

uint32_t* MOBIMobiHeader::uid

32: unique id

Examples:
mobitool.c.

◆ unknown10

uint32_t* MOBIMobiHeader::unknown10

216:

Examples:
mobitool.c.

◆ unknown11

uint32_t* MOBIMobiHeader::unknown11

220:

Examples:
mobitool.c.

◆ unknown12

uint32_t* MOBIMobiHeader::unknown12

232:

Examples:
mobitool.c.

◆ unknown13

uint32_t* MOBIMobiHeader::unknown13

236:

Examples:
mobitool.c.

◆ unknown14

uint32_t* MOBIMobiHeader::unknown14

248:

Examples:
mobitool.c.

◆ unknown15

uint32_t* MOBIMobiHeader::unknown15

252:

Examples:
mobitool.c.

◆ unknown16

uint32_t* MOBIMobiHeader::unknown16

260:

Examples:
mobitool.c.

◆ unknown17

uint32_t* MOBIMobiHeader::unknown17

264:

Examples:
mobitool.c.

◆ unknown18

uint32_t* MOBIMobiHeader::unknown18

268:

Examples:
mobitool.c.

◆ unknown19

uint32_t* MOBIMobiHeader::unknown19

272:

Examples:
mobitool.c.

◆ unknown20

uint32_t* MOBIMobiHeader::unknown20

276:

Examples:
mobitool.c.

◆ unknown6

uint32_t* MOBIMobiHeader::unknown6

164: use MOBI_NOTSET

Examples:
mobitool.c.

◆ version

uint32_t* MOBIMobiHeader::version

36: mobipocket format

Examples:
mobitool.c.

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