libmobi
C library for handling MOBI format ebook documents
|
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 |
MOBIEncoding * | text_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 |
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.
uint32_t* MOBIMobiHeader::datp_index |
256: section number of DATP record
uint32_t* MOBIMobiHeader::datp_rec_count |
124: DATP records count
uint32_t* MOBIMobiHeader::datp_rec_index |
120: section number of DATP record
uint32_t* MOBIMobiHeader::dict_input_lang |
96: input language for a dictionary
uint32_t* MOBIMobiHeader::dict_output_lang |
100: output language for a dictionary
uint32_t* MOBIMobiHeader::drm_count |
172: number of entries in DRM info
uint32_t* MOBIMobiHeader::drm_flags |
180: some flags concerning DRM info, bit 0 set if password encryption
uint32_t* MOBIMobiHeader::drm_offset |
168: offset to DRM key info in DRMed files. MOBI_NOTSET if no DRM
uint32_t* MOBIMobiHeader::drm_size |
176: number of bytes in DRM info
uint32_t* MOBIMobiHeader::exth_flags |
128: bitfield. if bit 6 (0x40) is set, then there's an EXTH record
uint32_t* MOBIMobiHeader::extra0_index |
56: section number of extra 0 meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::extra1_index |
60: section number of extra 1 meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::extra2_index |
64: section number of extra 2 meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::extra3_index |
68: section number of extra 3 meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::extra4_index |
72: section number of extra 4 meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::extra5_index |
76: section number of extra 5 meta index. MOBI_NOTSET if index is not available.
uint16_t* MOBIMobiHeader::extra_flags |
242: extra flags
uint32_t* MOBIMobiHeader::fcis_count |
204: FCIS records count
uint32_t* MOBIMobiHeader::fcis_index |
200: section number of FCIS record
uint32_t* MOBIMobiHeader::fdst_index |
192 (KF8) section number of FDST record
uint32_t* MOBIMobiHeader::fdst_section_count |
196 (KF8)
uint16_t* MOBIMobiHeader::first_text_index |
192: section number of first text record
uint32_t* MOBIMobiHeader::flis_count |
212: FLIS records count
uint32_t* MOBIMobiHeader::flis_index |
208: section number of FLIS record
uint32_t* MOBIMobiHeader::fragment_index |
248 (KF8) section number of fragments record
char* MOBIMobiHeader::full_name |
variable offset (full_name_offset): full name
uint32_t* MOBIMobiHeader::full_name_length |
88: length of the full name
uint32_t* MOBIMobiHeader::full_name_offset |
84: offset in record 0 (not from start of file) of the full name of the book
uint32_t* MOBIMobiHeader::guide_index |
260 (KF8) section number of guide record
uint32_t* MOBIMobiHeader::header_length |
20: the length of the MOBI header, including the previous 4 bytes
uint32_t* MOBIMobiHeader::huff_rec_count |
116: huffman compression records count
uint32_t* MOBIMobiHeader::huff_rec_index |
112: first huffman compression record
uint32_t* MOBIMobiHeader::image_index |
108: first record number (starting with 0) that contains an image (sequential)
uint32_t* MOBIMobiHeader::infl_index |
44: section number of inflection meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::keys_index |
52: section number of keys meta index. MOBI_NOTSET if index is not available.
uint16_t* MOBIMobiHeader::last_text_index |
194:
uint32_t* MOBIMobiHeader::locale |
92: first byte is main language: 09 = English, next byte is dialect, 08 = British, 04 = US
uint32_t* MOBIMobiHeader::min_version |
104: minimum mobipocket version support needed to read this file.
char MOBIMobiHeader::mobi_magic[5] |
16: M O B I { 77, 79, 66, 73 }, zero terminated
uint32_t* MOBIMobiHeader::mobi_type |
24: mobipocket file type
uint32_t* MOBIMobiHeader::names_index |
48: section number of names meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::ncx_index |
244: section number of NCX record
uint32_t* MOBIMobiHeader::non_text_index |
80: first record number (starting with 0) that's not the book's text
uint32_t* MOBIMobiHeader::orth_index |
40: section number of orthographic meta index. MOBI_NOTSET if index is not available.
uint32_t* MOBIMobiHeader::skeleton_index |
252 (KF8) section number of SKEL record
uint32_t* MOBIMobiHeader::srcs_count |
228: SRCS records count
uint32_t* MOBIMobiHeader::srcs_index |
224: section number of SRCS record
MOBIEncoding* MOBIMobiHeader::text_encoding |
28: 1252 = CP1252, 65001 = UTF-8
uint32_t* MOBIMobiHeader::uid |
32: unique id
uint32_t* MOBIMobiHeader::unknown10 |
216:
uint32_t* MOBIMobiHeader::unknown11 |
220:
uint32_t* MOBIMobiHeader::unknown12 |
232:
uint32_t* MOBIMobiHeader::unknown13 |
236:
uint32_t* MOBIMobiHeader::unknown14 |
248:
uint32_t* MOBIMobiHeader::unknown15 |
252:
uint32_t* MOBIMobiHeader::unknown16 |
260:
uint32_t* MOBIMobiHeader::unknown17 |
264:
uint32_t* MOBIMobiHeader::unknown18 |
268:
uint32_t* MOBIMobiHeader::unknown19 |
272:
uint32_t* MOBIMobiHeader::unknown20 |
276:
uint32_t* MOBIMobiHeader::unknown6 |
164: use MOBI_NOTSET , related to encryption
uint32_t* MOBIMobiHeader::version |
36: mobipocket format