Windows2000/private/windbg64/langapi/include/sbrfdef.h
2020-09-30 17:12:32 +02:00

114 lines
4.9 KiB
C

// sdbfdef.h Source Browser .SBR file definitions
#define SBR_L_UNDEF 0 // Undefined
#define SBR_L_BASIC 1 // Basic
#define SBR_L_C 2 // C
#define SBR_L_FORTRAN 3 // Fortran
#define SBR_L_MASM 4 // Macro
#define SBR_L_PASCAL 5 // Pascal
#define SBR_L_COBOL 6 // Cobol
#define SBR_L_CXX 7 // C++
#define SBR_REC_HEADER 0x00 // Header
#define SBR_REC_MODULE 0x01 // Module definition
#define SBR_REC_LINDEF 0x02 // Line Number
#define SBR_REC_SYMDEF 0x03 // Symbol Definition
#define SBR_REC_SYMREFUSE 0x04 // Symbol Reference
#define SBR_REC_SYMREFSET 0x05 // Symbol Ref assign
#define SBR_REC_MACROBEG 0x06 // Macro Start
#define SBR_REC_MACROEND 0x07 // Macro End
#define SBR_REC_BLKBEG 0x08 // Block Start
#define SBR_REC_BLKEND 0x09 // Block End
#define SBR_REC_MODEND 0x0A // Module End
#define SBR_REC_OWNER 0x0B // Scope Owner
#define SBR_REC_BASE 0x0C // Define base class of owner
#define SBR_REC_FRIEND 0x0D // Define friend of owner
#define SBR_REC_ABORT 0x0E // Compiler aborted, .sbr file ended early
#define SBR_REC_PCHNAME 0x0F // Precompiler header include
#define SBR_REC_PCHMARK 0x10 // Precompiler header highwater mark
// psuedo records for internal use.
#define SBR_REC_ERROR 0x11 // error-record -- xlated to symdef
#define SBR_REC_MACROREF 0x12 // this space for rent
#define SBR_REC_MACRODEF 0x13 // this space for rent
#define SBR_REC_IGNORE 0x14 // abort condition discovered
// after record already enqueued
// icc related records (these actually occur in .sbr files)
#define SBR_REC_LINDELTA 0x15 // 16 bit signed line number delta
#define SBR_REC_INFOSEP 0x16 // begins any ICC section + ends previous
#define SBR_REC_PATCHTAB 0x17 // introduces patch table entry
#define SBR_REC_PATCHTERM 0x18 // ends the patch table (includes cookie)
#define SBR_REC_SYMDECL 0x19 // used in fe internally for icc browse
#define SBR_COOKIE_ICC 0x4A525301 // cookie at EOF if ICC patch present
// records which have extended keys (when the keys don't fit in 16 bits.)
#define SBR_REC_SYMDEF_X (SBR_REC_SYMDEF | SBR_REC_EXTENDED_KEYS) // Extended key symbol definition
#define SBR_REC_SYMREFUSE_X (SBR_REC_SYMREFUSE | SBR_REC_EXTENDED_KEYS) // Extended key symbol reference
#define SBR_REC_SYMREFSET_X (SBR_REC_SYMREFSET | SBR_REC_EXTENDED_KEYS) // Extended key symbol ref assign
#define SBR_REC_OWNER_X (SBR_REC_OWNER | SBR_REC_EXTENDED_KEYS) // Extended key scope owner
#define SBR_REC_BASE_X (SBR_REC_BASE | SBR_REC_EXTENDED_KEYS) // Extended key base class
#define SBR_REC_FRIEND_X (SBR_REC_FRIEND | SBR_REC_EXTENDED_KEYS) // Extended key friend of owner
#define SBR_REC_BUMP_N 0x20 // Bump the line number N+1 times
#define SBR_REC_EXTENDED_KEYS 0x40 // the keys are bigger than 16 bits.
#define SBR_REC_EXTENDED_MASK (SBR_REC_EXTENDED_KEYS) // add more as required
#define GetSbrRecType(v) (v & (~ SBR_REC_EXTENDED_MASK ))
#define SetSbrRecExtendedAttrib(v,a) (v |= (a))
#define ClrSbrRecExtendedAttrib(v,a) (v &= ~(a))
#define IsSetSbrRecExtendedAttrib(v,a) (v & (a))
#define SBR_REC_NOCOLUMN 1 // Missing column default 1
#define SBR_TYP_FUNCTION 0x01
#define SBR_TYP_LABEL 0x02
#define SBR_TYP_PARAMETER 0x03
#define SBR_TYP_VARIABLE 0x04
#define SBR_TYP_CONSTANT 0x05
#define SBR_TYP_MACRO 0x06
#define SBR_TYP_TYPEDEF 0x07
#define SBR_TYP_STRUCNAM 0x08
#define SBR_TYP_ENUMNAM 0x09
#define SBR_TYP_ENUMMEM 0x0A
#define SBR_TYP_UNIONNAM 0x0B
#define SBR_TYP_SEGMENT 0x0C
#define SBR_TYP_GROUP 0x0D
#define SBR_TYP_PROGRAM 0x0E
#define SBR_TYP_CLASSNAM 0x0F
#define SBR_TYP_MEMFUNC 0x10
#define SBR_TYP_MEMVAR 0x11
#define SBR_TYP_ERROR 0x12
#define SBR_ATR_LOCAL 0x001
#define SBR_ATR_STATIC 0x002
#define SBR_ATR_SHARED 0x004
#define SBR_ATR_NEAR 0x008
#define SBR_ATR_COMMON 0x010
#define SBR_ATR_DECL 0x020
#define SBR_ATR_DECL_ONLY 0x020 // synonym for the above
#define SBR_ATR_PUBLIC 0x040
#define SBR_ATR_NAMED 0x080
#define SBR_ATR_MODULE 0x100
#define SBR_ATR_VIRTUAL 0x200
#define SBR_ATR_PRIVATE 0x400
#define SBR_ATR_PROTECT 0x800
#define SBR_ITYP_VIRTUAL 0x01
#define SBR_ITYP_PRIVATE 0x02
#define SBR_ITYP_PUBLIC 0x04
#define SBR_ITYP_PROTECT 0x08
#define SBR_VER_MAJOR 2 // Major version
#define SBR_VER_MINOR 0 // Minor version
#define SBR_LIMIT_ID_LENGTH 256 // At the moment (12Apr94) bscmake can't take longer names