/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:06 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFMP.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $PMMDEF ***/ #ifndef __PMMDEF_LOADED #define __PMMDEF_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 /*+ */ /* PFN memory data structure definition. This structure is used to access the */ /* fields within the PFN memory map returned by $GETSYI. $GETSYI copies the */ /* contents of the pool packet stored at MMG$GL_SYI_PFN_MEMORY_MAP to a */ /* user-supplied buffer. */ /*- */ #define PMM$M_CONSOLE 0x1 #define PMM$M_OPENVMS 0x2 #define PMM$M_AVAILABLE 0x4 #define PMM$M_BASE 0x8 #define PMM$M_GALAXY_SHARED 0x10 #define PMM$M_UNDEFINED_5_15 0xFFE0 #define PMM$C_LENGTH 12 /* Length of structure */ #define PMM$K_LENGTH 12 /* Length of structure */ #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _pmm { #pragma __nomember_alignment short int pmm$w_length; /* Size of a PMM structure */ __union { unsigned short int pmm$w_flags; __struct { unsigned pmm$v_console : 1; /* Used by Console */ unsigned pmm$v_openvms : 1; /* Used by OpenVMS */ unsigned pmm$v_available : 1; /* Available for Other Uses */ unsigned pmm$v_base : 1; /* Galaxy base memory segment */ unsigned pmm$v_galaxy_shared : 1; /* Galaxy shared memory */ unsigned pmm$v_undefined_5_15 : 11; /* Undefined bits should be zero */ } pmm$r_fill_63_; } pmm$r_fill_62_; unsigned int pmm$l_start_pfn; /* First PFN in this cluster */ unsigned int pmm$l_pfn_count; /* Number of PFNs in this cluster */ } PMM; #if !defined(__VAXC) #define pmm$w_flags pmm$r_fill_62_.pmm$w_flags #define pmm$v_console pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_console #define pmm$v_openvms pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_openvms #define pmm$v_available pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_available #define pmm$v_base pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_base #define pmm$v_galaxy_shared pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_galaxy_shared #define pmm$v_undefined_5_15 pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_undefined_5_15 #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _pmm { #pragma __nomember_alignment short int pmm$w_length; /* Size of a PMM structure */ __union { unsigned short int pmm$w_flags; __struct { unsigned pmm$v_console : 1; /* Used by Console */ unsigned pmm$v_openvms : 1; /* Used by OpenVMS */ unsigned pmm$v_available : 1; /* Available for Other Uses */ unsigned pmm$v_base : 1; /* Galaxy base memory segment */ unsigned pmm$v_galaxy_shared : 1; /* Galaxy shared memory */ unsigned pmm$v_undefined_5_15 : 11; /* Undefined bits should be zero */ } pmm$r_fill_63_; } pmm$r_fill_62_; unsigned int pmm$l_start_pfn; /* First PFN in this cluster */ unsigned int pmm$l_pfn_count; /* Number of PFNs in this cluster */ } pmm; #if !defined(__VAXC) #define pmm$w_flags pmm$r_fill_62_.pmm$w_flags #define pmm$v_console pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_console #define pmm$v_openvms pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_openvms #define pmm$v_available pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_available #define pmm$v_base pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_base #define pmm$v_galaxy_shared pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_galaxy_shared #define pmm$v_undefined_5_15 pmm$r_fill_62_.pmm$r_fill_63_.pmm$v_undefined_5_15 #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* Expanded version for larger PFNs */ #define PMM64$M_CONSOLE 0x1 #define PMM64$M_OPENVMS 0x2 #define PMM64$M_AVAILABLE 0x4 #define PMM64$M_BASE 0x8 #define PMM64$M_GALAXY_SHARED 0x10 #define PMM64$M_UNDEFINED_5_15 0xFFE0 #define PMM64$C_LENGTH 24 /* Length of structure */ #define PMM64$K_LENGTH 24 /* Length of structure */ #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 _pmm64 { #pragma __nomember_alignment short int pmm64$w_length; /* Size of a PMM structure */ __union { unsigned short int pmm64$w_flags; __struct { unsigned pmm64$v_console : 1; /* Used by Console */ unsigned pmm64$v_openvms : 1; /* Used by OpenVMS */ unsigned pmm64$v_available : 1; /* Available for Other Uses */ unsigned pmm64$v_base : 1; /* Galaxy base memory segment */ unsigned pmm64$v_galaxy_shared : 1; /* Galaxy shared memory */ unsigned pmm64$v_undefined_5_15 : 11; /* Undefined bits should be zero */ } pmm64$r_fill_65_; } pmm64$r_fill_64_; unsigned int pmm64$l_reserved; /* padding */ unsigned __int64 pmm64$q_start_pfn; /* First PFN in this cluster */ unsigned __int64 pmm64$q_pfn_count; /* Number of PFNs in this cluster */ } PMM64; #if !defined(__VAXC) #define pmm64$w_flags pmm64$r_fill_64_.pmm64$w_flags #define pmm64$v_console pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_console #define pmm64$v_openvms pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_openvms #define pmm64$v_available pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_available #define pmm64$v_base pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_base #define pmm64$v_galaxy_shared pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_galaxy_shared #define pmm64$v_undefined_5_15 pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_undefined_5_15 #endif /* #if !defined(__VAXC) */ #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 _pmm64 { #pragma __nomember_alignment short int pmm64$w_length; /* Size of a PMM structure */ __union { unsigned short int pmm64$w_flags; __struct { unsigned pmm64$v_console : 1; /* Used by Console */ unsigned pmm64$v_openvms : 1; /* Used by OpenVMS */ unsigned pmm64$v_available : 1; /* Available for Other Uses */ unsigned pmm64$v_base : 1; /* Galaxy base memory segment */ unsigned pmm64$v_galaxy_shared : 1; /* Galaxy shared memory */ unsigned pmm64$v_undefined_5_15 : 11; /* Undefined bits should be zero */ } pmm64$r_fill_65_; } pmm64$r_fill_64_; unsigned int pmm64$l_reserved; /* padding */ unsigned int pmm64$q_start_pfn [2]; /* First PFN in this cluster */ unsigned int pmm64$q_pfn_count [2]; /* Number of PFNs in this cluster */ } pmm64; #if !defined(__VAXC) #define pmm64$w_flags pmm64$r_fill_64_.pmm64$w_flags #define pmm64$v_console pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_console #define pmm64$v_openvms pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_openvms #define pmm64$v_available pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_available #define pmm64$v_base pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_base #define pmm64$v_galaxy_shared pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_galaxy_shared #define pmm64$v_undefined_5_15 pmm64$r_fill_64_.pmm64$r_fill_65_.pmm64$v_undefined_5_15 #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #ifdef __INITIAL_POINTER_SIZE #pragma __required_pointer_size __save /* Save current pointer size */ #pragma __required_pointer_size __long /* Pointers are 64-bit */ typedef struct _pmm * PMM_PQ; /* Long pointer to a PMM structure. */ typedef struct _pmm ** PMM_PPQ; /* Long pointer to a pointer to a PMM structure. */ typedef struct _pmm64 * PMM64_PQ; /* Long pointer to a PMM structure. */ typedef struct _pmm64 ** PMM64_PPQ; /* Long pointer to a pointer to a PMM structure. */ #pragma __required_pointer_size __restore /* Return to previous pointer size */ #else typedef unsigned __int64 PMM_PQ; typedef unsigned __int64 PMM_PPQ; typedef unsigned __int64 PMM64_PQ; typedef unsigned __int64 PMM64_PPQ; #endif /* __INITIAL_POINTER_SIZE */ #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 /* __PMMDEF_LOADED */