enumstd.coff.StorageClass[src]

Fields

END_OF_FUNCTION = 0xff

A special symbol that represents the end of function, for debugging purposes.

NULL = 0

No assigned storage class.

AUTOMATIC = 1

The automatic (stack) variable. The Value field specifies the stack frame offset.

EXTERNAL = 2

A value that Microsoft tools use for external symbols. The Value field indicates the size if the section number is IMAGE_SYM_UNDEFINED (0). If the section number is not zero, then the Value field specifies the offset within the section.

STATIC = 3

The offset of the symbol within the section. If the Value field is zero, then the symbol represents a section name.

REGISTER = 4

A register variable. The Value field specifies the register number.

EXTERNAL_DEF = 5

A symbol that is defined externally.

LABEL = 6

A code label that is defined within the module. The Value field specifies the offset of the symbol within the section.

UNDEFINED_LABEL = 7

A reference to a code label that is not defined.

MEMBER_OF_STRUCT = 8

The structure member. The Value field specifies the n th member.

ARGUMENT = 9

A formal argument (parameter) of a function. The Value field specifies the n th argument.

STRUCT_TAG = 10

The structure tag-name entry.

MEMBER_OF_UNION = 11

A union member. The Value field specifies the n th member.

UNION_TAG = 12

The Union tag-name entry.

TYPE_DEFINITION = 13

A Typedef entry.

UNDEFINED_STATIC = 14

A static data declaration.

ENUM_TAG = 15

An enumerated type tagname entry.

MEMBER_OF_ENUM = 16

A member of an enumeration. The Value field specifies the n th member.

REGISTER_PARAM = 17

A register parameter.

BIT_FIELD = 18

A bit-field reference. The Value field specifies the n th bit in the bit field.

BLOCK = 100

A .bb (beginning of block) or .eb (end of block) record. The Value field is the relocatable address of the code location.

FUNCTION = 101

A value that Microsoft tools use for symbol records that define the extent of a function: begin function (.bf ), end function ( .ef ), and lines in function ( .lf ). For .lf records, the Value field gives the number of source lines in the function. For .ef records, the Value field gives the size of the function code.

END_OF_STRUCT = 102

An end-of-structure entry.

FILE = 103

A value that Microsoft tools, as well as traditional COFF format, use for the source-file symbol record. The symbol is followed by auxiliary records that name the file.

SECTION = 104

A definition of a section (Microsoft tools use STATIC storage class instead).

WEAK_EXTERNAL = 105

A weak external. For more information, see Auxiliary Format 3: Weak Externals.

CLR_TOKEN = 107

A CLR token symbol. The name is an ASCII string that consists of the hexadecimal value of the token. For more information, see CLR Token Definition (Object Only).

_

Source Code

Source code
pub const StorageClass = enum(u8) {
    /// A special symbol that represents the end of function, for debugging purposes.
    END_OF_FUNCTION = 0xff,

    /// No assigned storage class.
    NULL = 0,

    /// The automatic (stack) variable. The Value field specifies the stack frame offset.
    AUTOMATIC = 1,

    /// A value that Microsoft tools use for external symbols.
    /// The Value field indicates the size if the section number is IMAGE_SYM_UNDEFINED (0).
    /// If the section number is not zero, then the Value field specifies the offset within the section.
    EXTERNAL = 2,

    /// The offset of the symbol within the section.
    /// If the Value field is zero, then the symbol represents a section name.
    STATIC = 3,

    /// A register variable.
    /// The Value field specifies the register number.
    REGISTER = 4,

    /// A symbol that is defined externally.
    EXTERNAL_DEF = 5,

    /// A code label that is defined within the module.
    /// The Value field specifies the offset of the symbol within the section.
    LABEL = 6,

    /// A reference to a code label that is not defined.
    UNDEFINED_LABEL = 7,

    /// The structure member. The Value field specifies the n th member.
    MEMBER_OF_STRUCT = 8,

    /// A formal argument (parameter) of a function. The Value field specifies the n th argument.
    ARGUMENT = 9,

    /// The structure tag-name entry.
    STRUCT_TAG = 10,

    /// A union member. The Value field specifies the n th member.
    MEMBER_OF_UNION = 11,

    /// The Union tag-name entry.
    UNION_TAG = 12,

    /// A Typedef entry.
    TYPE_DEFINITION = 13,

    /// A static data declaration.
    UNDEFINED_STATIC = 14,

    /// An enumerated type tagname entry.
    ENUM_TAG = 15,

    /// A member of an enumeration. The Value field specifies the n th member.
    MEMBER_OF_ENUM = 16,

    /// A register parameter.
    REGISTER_PARAM = 17,

    /// A bit-field reference. The Value field specifies the n th bit in the bit field.
    BIT_FIELD = 18,

    /// A .bb (beginning of block) or .eb (end of block) record.
    /// The Value field is the relocatable address of the code location.
    BLOCK = 100,

    /// A value that Microsoft tools use for symbol records that define the extent of a function: begin function (.bf ), end function ( .ef ), and lines in function ( .lf ).
    /// For .lf records, the Value field gives the number of source lines in the function.
    /// For .ef records, the Value field gives the size of the function code.
    FUNCTION = 101,

    /// An end-of-structure entry.
    END_OF_STRUCT = 102,

    /// A value that Microsoft tools, as well as traditional COFF format, use for the source-file symbol record.
    /// The symbol is followed by auxiliary records that name the file.
    FILE = 103,

    /// A definition of a section (Microsoft tools use STATIC storage class instead).
    SECTION = 104,

    /// A weak external. For more information, see Auxiliary Format 3: Weak Externals.
    WEAK_EXTERNAL = 105,

    /// A CLR token symbol. The name is an ASCII string that consists of the hexadecimal value of the token.
    /// For more information, see CLR Token Definition (Object Only).
    CLR_TOKEN = 107,

    _,
}