LibraryHeader

LibraryHeader STRUC
    lhRecordType        db 0F0h
    lhPageSize          dw ?
    lhDictionaryOffset  dd ?
    lhDictionarySize    dw ?
    lhFlags             db ?
    lhPad               db ? dup(0)
LibraryHeader ENDS

The LibraryHeader record marks the beginning of the library and contains information about the library's page size and dictionary.

Members

lhRecordType

Specifies the record type. This member must be 0F0h.

lhPageSize

Specifies the number of bytes remaining in the record and defines the page size for the library. Modules in a library always start at the beginning of a page. Page size is determined by adding 3 to the value of this member—the library header record always occupies exactly one page. The page size must be a power of 2 in the range 16 through 32,768.

lhDictionaryOffset

Specifies the offset to the first byte of the 512-byte block in the dictionary. The offset is relative to the start of the LibraryHeader record.

lhDictionarySize

Specifies the number of 512-byte blocks in the dictionary. Although this member can have any value, the dictionary itself must not exceed 251 blocks. Microsoft Library Manager (LIB) cannot create a library with more blocks than this.

lhFlags

Contains the library flags. This member can contain the following value:

Value Meaning

01h Case-sensitive

All other values are reserved for future use.

lhPad

Contains any remaining bytes needed to pad the LibraryHeader record to the length specified by the lhPageSize member. These bytes are not used.

Comments

The LibraryHeader record does not include a checksum at the end of the record.