/********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:29:55 by OpenVMS SDL EV3-3 */ /* Source: 30-MAR-2010 17:29:22 $1$DGA7274:[STARLET_H.SRC]STARDEFQZ.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $TBKDEF ***/ #ifndef __TBKDEF_LOADED #define __TBKDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif #pragma required_pointer_size save #pragma required_pointer_size 64 #ifdef __cplusplus /* Define structure prototypes */ struct _descriptor; #endif /* #ifdef __cplusplus */ #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _tbk_api_param { #pragma __nomember_alignment unsigned short int tbk$w_length; /*Input, structure length, by value */ unsigned char tbk$b_type; /*Input, must be zero. */ unsigned char tbk$b_version; /*Input, version of this structure. */ unsigned int tbk$l_reserveda; /*Input, must be zero. */ unsigned __int64 tbk$q_faulting_pc; /*Input, pc value, by value */ unsigned __int64 tbk$q_faulting_fp; /*Input, frame pointer, by value */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _descriptor *tbk$pq_filename_desc; /*Output, string descriptor */ #else unsigned __int64 tbk$pq_filename_desc; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _descriptor *tbk$pq_library_module_desc; /*Output, string descriptor */ #else unsigned __int64 tbk$pq_library_module_desc; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned int *tbk$pq_record_number; /*Output, record number within filename or within text library module */ #else unsigned __int64 tbk$pq_record_number; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _descriptor *tbk$pq_image_desc; /*Output, string descriptor, image name */ #else unsigned __int64 tbk$pq_image_desc; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _descriptor *tbk$pq_module_desc; /*Output, string descriptor, module name */ #else unsigned __int64 tbk$pq_module_desc; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _descriptor *tbk$pq_routine_desc; /*Output, string descriptor, routine name */ #else unsigned __int64 tbk$pq_routine_desc; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned int *tbk$pq_listing_lineno; /*Output, compiler listing line number */ #else unsigned __int64 tbk$pq_listing_lineno; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned __int64 *tbk$pq_rel_pc; /*Output, relative pc within module or within image */ #else unsigned __int64 tbk$pq_rel_pc; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned __int64 *tbk$pq_image_base_addr; /*Output, base address of the image which contains the pc value object code, */ #else unsigned __int64 tbk$pq_image_base_addr; #endif /*by reference */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned __int64 *tbk$pq_module_base_addr; /*Output, base address of the module, which contains the pc value object code, */ #else unsigned __int64 tbk$pq_module_base_addr; #endif /*by reference */ /*Input, address of a routine, which provides malloc() functionality */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *(*tbk$pq_malloc_rtn)( unsigned int ); #else unsigned __int64 tbk$pq_malloc_rtn; #endif /*Input, address of a routine, which provides free() functionality */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void (*tbk$pq_free_rtn)( #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void * #else unsigned __int64 #endif ); #else unsigned __int64 tbk$pq_free_rtn; #endif /*Input, address of a quadword, specifying options to be provided by this call */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned __int64 *tbk$pq_symbolize_flags; #else unsigned __int64 tbk$pq_symbolize_flags; #endif unsigned __int64 tbk$q_reserved0; /*Reserved by HP */ unsigned __int64 tbk$q_reserved1; /*Reserved by HP */ unsigned __int64 tbk$q_reserved2; /*Reserved by HP */ } TBK_API_PARAM; #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _tbk_api_param { #pragma __nomember_alignment unsigned short int tbk$w_length; /*Input, structure length, by value */ unsigned char tbk$b_type; /*Input, must be zero. */ unsigned char tbk$b_version; /*Input, version of this structure. */ unsigned int tbk$l_reserveda; /*Input, must be zero. */ unsigned int tbk$q_faulting_pc [2]; /*Input, pc value, by value */ unsigned int tbk$q_faulting_fp [2]; /*Input, frame pointer, by value */ unsigned __int64 tbk$pq_filename_desc; /*Output, string descriptor */ unsigned __int64 tbk$pq_library_module_desc; /*Output, string descriptor */ unsigned __int64 tbk$pq_record_number; /*Output, record number within filename or within text library module */ unsigned __int64 tbk$pq_image_desc; /*Output, string descriptor, image name */ unsigned __int64 tbk$pq_module_desc; /*Output, string descriptor, module name */ unsigned __int64 tbk$pq_routine_desc; /*Output, string descriptor, routine name */ unsigned __int64 tbk$pq_listing_lineno; /*Output, compiler listing line number */ unsigned __int64 tbk$pq_rel_pc; /*Output, relative pc within module or within image */ unsigned __int64 tbk$pq_image_base_addr; /*Output, base address of the image which contains the pc value object code, */ /*by reference */ unsigned __int64 tbk$pq_module_base_addr; /*Output, base address of the module, which contains the pc value object code, */ /*by reference */ /*Input, address of a routine, which provides malloc() functionality */ unsigned __int64 *(tbk$pq_malloc_rtn)(); /*Input, address of a routine, which provides free() functionality */ void (tbk$pq_free_rtn)(); /*Input, address of a quadword, specifying options to be provided by this call */ unsigned __int64 tbk$pq_symbolize_flags; unsigned int tbk$q_reserved0 [2]; /*Reserved by HP */ unsigned int tbk$q_reserved1 [2]; /*Reserved by HP */ unsigned int tbk$q_reserved2 [2]; /*Reserved by HP */ } tbk_api_param; #endif /* #ifdef __NEW_STARLET */ #define TBK$K_LENGTH 152 #define TBK$C_LENGTH 152 #define TBK$K_VERSION 1 #pragma required_pointer_size restore /* */ /************************************************************* */ /* SYMBOLIZE_FLAGS options */ /* The following may be applied to the quadword pointed to */ /* by the SYMBOLIZE_FLAGS field. */ /* */ /* EXCEPTION_IS_FAULT values affect line number and */ /* record number calculation. */ /* On an API entry, when an exception has occurred in a frame, select the value 1. */ /* 0=> (Default) Program Adjusts the PC value to correctly determine the line number */ /* 1=> Program Uses the supplied PC value to determine the line number */ /* */ /* ENTRY_TYPE values which affect processing */ /* 0=> TRACE was entered via the API ENTRY */ /* 1=> TRACE was entered via the TRACEBACK exception processing */ /* */ /************************************************************* */ #define TBK$M_EXCEPTION_IS_FAULT 0x1 #define TBK$M_ENTRY_TYPE 0x100000000 #ifdef __NEW_STARLET typedef struct _tbk_symbolize_flags { unsigned tbk$v_exception_is_fault : 1; unsigned tbk$v_filler1 : 31; unsigned tbk$v_entry_type : 1; unsigned tbk$v_filler2 : 31; } TBK_SYMBOLIZE_FLAGS; #else /* __OLD_STARLET */ struct tbk_symbolize_flags { unsigned tbk$v_exception_is_fault : 1; unsigned tbk$v_filler1 : 31; unsigned tbk$v_entry_type : 1; unsigned tbk$v_filler2 : 31; } ; #endif /* #ifdef __NEW_STARLET */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __TBKDEF_LOADED */