#ifndef __FAR_POINTERS_LOADED #define __FAR_POINTERS_LOADED 1 /* Module FAR_POINTERS.H "X-11" */ /***************************************************************************** * * * COPYRIGHT (c) 1995 BY * * DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. * * ALL RIGHTS RESERVED. * * * * THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED * * ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE * * INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER * * COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY * * OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY * * TRANSFERRED. * * * * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE * * AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT * * CORPORATION. * * * * DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS * * SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. * * * *****************************************************************************/ /* *++ * FACILITY: * * Open/VMS AXP (STARLET) * * ABSTRACT: * * This header file will provide a basic set of 64-bit pointer types. 64-bit * pointers to particular structures, like PTEs, should be defined with that * particular structure's definition file, like [LIB]PTEDEF.SDL. * * AUTHOR: * * Karen Noel * * CREATION DATE: 6-Sep-1994 * * MODIFICATION HISTORY: * * X-11 HHG1199 Harry H. Goforth 18-Nov-1999 * Fix syntax error with semicolon at end of typedef * statement for unsigned 64-bit pointer UINT32_PQ * * X-10 KLN2089 Karen L. Noel 1-Jul-1998 * Add UINT64_PPQ * * X-9 Andy Kuehnel 18-Jun-1997 * Add UINT32_PQ * * X-8 NYKxxx Nitin Y. Karkhanis 27-Nov-1995 * Add 64-bit pointer typedefs for pointer to unsigned int, * pointer to short, and pointer to unsigned short. * * X-7 KLN1381 Karen L. Noel 8-Feb-1995 * Fix typo when __INITIAL_POINTER_SIZE is not defined. * * X-6 KLN1373 Karen L. Noel 30-Jan-1995 * Add __INITIAL_POINTER_SIZE check. * * X-5 KLN1359 Karen L. Noel 3-Jan-1995 * Define CHAR_PQ and CHAR_PPQ. * * X-4 KLN1333 Karen L. Noel 15-Nov-1994 * Define UINT64_PQ. * * X-3 NYK092 Nitin Y. Karkhanis 1-Nov-1994 * The save, long, and restore pragmas should be __save, * __long, and __restore * * X-1 KLN1326 Karen L. Noel 19-Oct-1994 * Add __FAR_POINTERS_LOADED symbol and use * __required_pointer_size pragma instead of * required_pointer_size. * *-- */ #ifdef __INITIAL_POINTER_SIZE /* Not defined for older compilers */ #pragma __required_pointer_size __save /* Save current pointer size */ #pragma __required_pointer_size __long /* Pointers are 64-bit */ typedef int * INT_PQ; /* 64-bit pointer to 32-bit int */ typedef unsigned int * UINT_PQ; /* 64-bit pointer to an unsigned 32-bit int */ typedef unsigned __int32 * UINT32_PQ; /* 64-bit pointer to a different unsigned 32-bit int :-( */ typedef void * VOID_PQ; /* 64-bit pointer to arbitrary data */ typedef void ** VOID_PPQ; /* 64-bit pointer to VOID_PQ */ typedef __int64 * INT64_PQ; /* 64-bit pointer to 64-bit int */ typedef unsigned __int64 * UINT64_PQ; /* 64-bit ptr to unsigned 64-bit int */ typedef unsigned __int64 ** UINT64_PPQ; /* 64-bit ptr to a UINT64_PQ */ typedef char * CHAR_PQ; /* 64-bit pointer to char */ typedef char ** CHAR_PPQ; /* 64-bit pointer to CHAR_PQ */ typedef short * SHORT_PQ; /* 64-bit pointer to a short */ typedef unsigned short * USHORT_PQ; /* 64-bit pointer to an unsigned short */ #pragma __required_pointer_size __restore /* Return to previous pointer size */ #else typedef unsigned __int64 INT_PQ; /* 64-bit pointer to 32-bit int */ typedef unsigned __int64 UINT_PQ; /* 64-bit pointer to an unsigned 32-bit int */ typedef unsigned __int64 UINT32_PQ; /* 64-bit pointer to a different unsigned 32-bit int :-( */ typedef unsigned __int64 VOID_PQ; /* 64-bit pointer to arbitrary data */ typedef unsigned __int64 VOID_PPQ; /* 64-bit pointer to VOID_PQ */ typedef unsigned __int64 INT64_PQ; /* 64-bit pointer to 64-bit int */ typedef unsigned __int64 UINT64_PQ; /* 64-bit ptr to unsigned 64-bit int */ typedef unsigned __int64 UINT64_PPQ; /* 64-bit ptr to a UINT64_PQ */ typedef unsigned __int64 CHAR_PQ; /* 64-bit pointer to char */ typedef unsigned __int64 CHAR_PPQ; /* 64-bit pointer to CHAR_PQ */ typedef unsigned __int64 SHORT_PQ; /* 64-bit pointer to a short */ typedef unsigned __int64 USHORT_PQ; /* 64-bit pointer to an unsigned short */ #endif /* __INITIAL_POINTER_SIZE */ #endif /* __FAR_POINTERS_LOADED */