[Reference Lookup format] : section_1, section_2, ... entry_label: [byte] [byte] entry_position: [4-byte int] entry_length: [4-byte int] section_n: entry_label, entry_position, entry_length, data [Book lookup format] : entry1, entry2, entry3 ... entryn, terminator entryn: book_index, book_number book_index: [byte] book_number: [byte] terminator: 0xFF 0xFF Notes: upon encountering terminator, the number of bytes read should equal the length. If it is less, skip past the unread bits and complain. If it is more, complain. [Verse lookup format] : entry1, entry2, entry3 ... entryn, terminator entryn: passage_reference, verse_number passage_reference: book, chapter, verse book, chapter, verse: [byte] verse_number: [byte] terminator: 0xFF 0xFF 0xFF 0xFF