A symbol table record marks the beginning of a function definition if all of the following are true: it has storage class EXTERNAL (2), a Type value indicating it is a function (0x20), and a section number greater than zero. Note that a symbol table record that has a section number of UNDEFINED (0) does not define the function and does not have an auxiliary record. Function-definition symbol records are followed by an auxiliary record with the format described below.
Offset | Size | Field | Description |
0 | 4 | TagIndex | Symbol-table index of the corresponding .bf (begin function) symbol record. |
4 | 4 | TotalSize | Size of the executable code for the function itself. If the function is in its own section, the Size of Raw Data in the section header will be greater or equal to this field, depending on alignment considerations. |
8 | 4 | PointerToLinenumber | File offset of the first COFF line-number entry for the function, or zero if none exists. See Section 5.3, "COFF Line Numbers," for more information. |
12 | 4 | PointerToNextFunction | Symbol-table index of the record for the next function. If the function is the last in the symbol table, this field is set to zero. |
16 | 2 | Unused. |