00001 /* $XConsortium: Xfuncproto.h,v 1.8 94/04/17 20:10:49 rws Exp $ */ 00002 /* 00003 * 00004 Copyright (c) 1989, 1991 X Consortium 00005 00006 Permission is hereby granted, free of charge, to any person obtaining a copy 00007 of this software and associated documentation files (the "Software"), to deal 00008 in the Software without restriction, including without limitation the rights 00009 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00010 copies of the Software, and to permit persons to whom the Software is 00011 furnished to do so, subject to the following conditions: 00012 00013 The above copyright notice and this permission notice shall be included in 00014 all copies or substantial portions of the Software. 00015 00016 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00019 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00020 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00021 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00022 00023 Except as contained in this notice, the name of the X Consortium shall not be 00024 used in advertising or otherwise to promote the sale, use or other dealings 00025 in this Software without prior written authorization from the X Consortium. 00026 * 00027 */ 00028 00029 /* Definitions to make function prototypes manageable */ 00030 00031 #ifndef _XFUNCPROTO_H_ 00032 #define _XFUNCPROTO_H_ 00033 00034 #ifndef NeedFunctionPrototypes 00035 #if defined(FUNCPROTO) || __STDC__ || defined(__cplusplus) || defined(c_plusplus) 00036 #define NeedFunctionPrototypes 1 00037 #else 00038 #define NeedFunctionPrototypes 0 00039 #endif 00040 #endif /* NeedFunctionPrototypes */ 00041 00042 #ifndef NeedVarargsPrototypes 00043 #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&2) 00044 #define NeedVarargsPrototypes 1 00045 #else 00046 #define NeedVarargsPrototypes 0 00047 #endif 00048 #endif /* NeedVarargsPrototypes */ 00049 00050 #if NeedFunctionPrototypes 00051 00052 #ifndef NeedNestedPrototypes 00053 #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&8) 00054 #define NeedNestedPrototypes 1 00055 #else 00056 #define NeedNestedPrototypes 0 00057 #endif 00058 #endif /* NeedNestedPrototypes */ 00059 00060 #ifndef _Xconst 00061 #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&4) 00062 #define _Xconst const 00063 #else 00064 #define _Xconst 00065 #endif 00066 #endif /* _Xconst */ 00067 00068 #ifndef NeedWidePrototypes 00069 #ifdef NARROWPROTO 00070 #define NeedWidePrototypes 0 00071 #else 00072 #define NeedWidePrototypes 1 /* default to make interropt. easier */ 00073 #endif 00074 #endif /* NeedWidePrototypes */ 00075 00076 #endif /* NeedFunctionPrototypes */ 00077 00078 #ifndef _XFUNCPROTOBEGIN 00079 #ifdef __cplusplus /* for C++ V2.0 */ 00080 #define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */ 00081 #define _XFUNCPROTOEND } 00082 #else 00083 #define _XFUNCPROTOBEGIN 00084 #define _XFUNCPROTOEND 00085 #endif 00086 #endif /* _XFUNCPROTOBEGIN */ 00087 00088 #endif /* _XFUNCPROTO_H_ */
1.5.1