LPUBDEF

LPUBDEF STRUC
    lpdRecordType   db 0B6h     ; LPUBDEF record; 0B7h also allowed
    lpdLength       dw ?        ; length of record
    lpdBaseGrp      db ?        ; base group
                    db ?        ; base group (conditional)
    lpdBaseSeg      db ?        ; base segment
                    db ?        ; base segment (conditional)
    lpdBaseFrame    dw ?        ; base frame (conditional)

                                ; next 4 fields repeated
    lpdNameLength   db ?        ; length of name
    lpdName         db ? dup(?) ; local name (variable-length)
    lpdLocalOffset  dw ?        ; local offset
    lpdTypeIndex    db ?        ; type index
                    db ?        ; type index (conditional)

    lpdCheckSum     db ?        ; checksum

The LPUBDEF record is identical in form to the PUBDEF record. However, the symbols named in this record are visible only inside the module in which they are defined.

For complete details about the members in this record, see the PUBDEF record in The MS-DOS Encyclopedia.

Comments

In C, the static keyword on functions or initialized variables produces LPUBDEF records. Uninitialized static variables produce LCOMDEF records.