enum StorageClass [src]
Fields
END_OF_FUNCTION = 0xffA special symbol that represents the end of function, for debugging purposes.
NULL = 0No assigned storage class.
AUTOMATIC = 1The automatic (stack) variable. The Value field specifies the stack frame offset.
EXTERNAL = 2A 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 = 3The offset of the symbol within the section.
If the Value field is zero, then the symbol represents a section name.
REGISTER = 4A register variable.
The Value field specifies the register number.
EXTERNAL_DEF = 5A symbol that is defined externally.
LABEL = 6A code label that is defined within the module.
The Value field specifies the offset of the symbol within the section.
UNDEFINED_LABEL = 7A reference to a code label that is not defined.
MEMBER_OF_STRUCT = 8The structure member. The Value field specifies the n th member.
ARGUMENT = 9A formal argument (parameter) of a function. The Value field specifies the n th argument.
STRUCT_TAG = 10The structure tag-name entry.
MEMBER_OF_UNION = 11A union member. The Value field specifies the n th member.
UNION_TAG = 12The Union tag-name entry.
TYPE_DEFINITION = 13A Typedef entry.
UNDEFINED_STATIC = 14A static data declaration.
ENUM_TAG = 15An enumerated type tagname entry.
MEMBER_OF_ENUM = 16A member of an enumeration. The Value field specifies the n th member.
REGISTER_PARAM = 17A register parameter.
BIT_FIELD = 18A bit-field reference. The Value field specifies the n th bit in the bit field.
BLOCK = 100A .bb (beginning of block) or .eb (end of block) record.
The Value field is the relocatable address of the code location.
FUNCTION = 101A 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 = 102An end-of-structure entry.
FILE = 103A 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 = 104A definition of a section (Microsoft tools use STATIC storage class instead).
WEAK_EXTERNAL = 105A weak external. For more information, see Auxiliary Format 3: Weak Externals.
CLR_TOKEN = 107A 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
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,
_,
}