/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos720 src/bos/usr/include/dbug.h 1.5 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1988,1993 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)70 1.5 src/bos/usr/include/dbug.h, cmdld, bos720 2/4/97 08:32:15 */ #ifndef _H_DBUG #define _H_DBUG /* * COMPONENT_NAME: cmdld * * ORIGINS: 27 * */ #include #ifdef __cplusplus extern "C" { #endif /* The XCOFF .debug section contains the symbolic debugger stabstrings. No C-language structures are defined for stabstrings. Each string in the .debug section consists of a length field followed by a null-terminated string. References from the symbol table into the .debug section are offsets within the .debug section to the first byte of the appropriate stabstring, not its length field. Stabstrings may contain embedded null characters, so the length field should be used to determine how long each stabstring is. The length includes the terminating null byte. Multiple symbol table entries may point to a single stabstring in the .debug section. Macros are defined in this file to simplify writing code to process stabstrings in both XCOFF32 and XCOFF64 object files. Basic names: _STABSTRING_LEN _STABSTRING_LEN_TYPE Names defined when both __XCOFF32__ and __XCOFF64__ are defined: _STABSTRING_LEN _STABSTRING_LEN_TYPE _STABSTRING_LEN_64 _STABSTRING_LEN_TYPE_64 Names defined when __XCOFF_HYBRID__ is defined: _STABSTRING_LEN_32 _STABSTRING_LEN_TYPE_32 _STABSTRING_LEN_64 _STABSTRING_LEN_TYPE_64 */ #ifdef __XCOFF32__ /* The length field of a stabstring is 2 bytes long. Thus, stabstrings longer than 2^16-1 bytes must use multiple symbol table entries. */ #endif #ifdef __XCOFF64__ /* The length field of a stabstring is 4 bytes long. Thus, stabstrings longer than 2^32-1 bytes must use multiple symbol table entries. */ #endif #if defined (__XCOFF_32__) # define _STABSTRING_LEN (2) # define _STABSTRING_LEN_TYPE unsigned short #elif defined (__XCOFF_64__) # define _STABSTRING_LEN (4) # define _STABSTRING_LEN_TYPE unsigned int #elif defined (__XCOFF_32_64__) # define _STABSTRING_LEN (2) # define _STABSTRING_LEN_TYPE unsigned short # define _STABSTRING_LEN_64 (4) # define _STABSTRING_LEN_TYPE_64 unsigned int #else /* defined (__XCOFF_HYBRID__) */ # define _STABSTRING_LEN_32 (2) # define _STABSTRING_LEN_64 (4) # define _STABSTRING_LEN_TYPE_32 unsigned short # define _STABSTRING_LEN_TYPE_64 unsigned int #endif #ifdef __cplusplus } #endif #endif /* _H_DBUG */