Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef _PORTDEFS_H
00039 #define _PORTDEFS_H
00040
00041 #if defined(__mips)
00042 #include <sgidefs.h>
00043 #elif defined(_UNICOS)
00044 #include <sys/param.h>
00045 #include <sys/types.h>
00046 #ifdef _CRAYT3E
00047 #define _UINT64_TYPEDEF 1
00048 #elif RELEASE_LEVEL >= 9100
00049 #define _UINT64_TYPEDEF 1
00050 #endif
00051 #elif defined(_SOLARIS)
00052 #include <cray/solaris.h>
00053 #endif
00054
00055
00056
00057
00058
00059 #include <limits.h>
00060
00061 #define BYTES_PER_WORD sizeof(int)
00062 #define BITS_PER_WORD (BYTES_PER_WORD * CHAR_BIT)
00063 #define _BYTES_PER_LONG sizeof(long)
00064 #define _BITS_PER_LONG (_BYTES_PER_LONG * CHAR_BIT)
00065
00066 #if defined(_CRAYIEEE) || !defined(_UNICOS)
00067 #define IEEE_FLOATING_POINT
00068 #endif
00069
00070
00071 #if defined(__mips) || defined(_LITTLE_ENDIAN)
00072 typedef signed char int8;
00073 typedef unsigned char uint8;
00074 typedef short int16;
00075 typedef unsigned short uint16;
00076 #endif
00077
00078
00079
00080
00081
00082
00083
00084 #if defined(_LITTLE_ENDIAN)
00085
00086 typedef int int32;
00087 typedef unsigned int uint32;
00088
00089 #if defined(_LP64)
00090 typedef long int64;
00091 typedef unsigned long uint64;
00092 #else
00093 typedef long long int64;
00094 typedef unsigned long long uint64;
00095 #endif
00096
00097 #elif _MIPS_SZLONG == 64
00098
00099 typedef long int64;
00100 typedef unsigned long uint64;
00101 typedef int int32;
00102 typedef unsigned int uint32;
00103
00104
00105 #elif defined(_WORD32)
00106
00107
00108
00109 typedef long long int64;
00110 typedef unsigned long long uint64;
00111 typedef int int32;
00112 typedef unsigned int uint32;
00113
00114
00115 #elif defined(_CRAY1) || defined(_CRAYMPP)
00116
00117 typedef long int64;
00118 #if !_UINT64_TYPEDEF
00119 #define _UINT64_TYPEDEF 1
00120 typedef unsigned long uint64;
00121 #endif
00122 typedef short int32;
00123 typedef unsigned short uint32;
00124
00125 #endif
00126
00127
00128
00129
00130 #if defined(_CRAY1) || defined(_CRAYMPP)
00131 #define _PRAGMA_INLINE_2(name) _Pragma(#name)
00132 #define _PRAGMA_INLINE(name) _PRAGMA_INLINE_2(inline name)
00133 #else
00134 #define _PRAGMA_INLINE(name)
00135 #endif
00136
00137 #ifndef _UNICOS
00138
00139
00140
00141
00142
00143
00144 #define EFLEFIRST 1000
00145 #define EFLELAST 1999
00146
00147
00148
00149
00150
00151
00152 #include <sys/types.h>
00153
00154 extern char *strnrstrn(const char *_s1, size_t _n1, const char *_s2,
00155 size_t _n2);
00156
00157 extern char *strnstrn(const char *_s1, size_t _n1, const char *_s2,
00158 size_t _n2);
00159
00160
00161
00162
00163
00164
00165 #define INTRINSICS_PARM_TYPE unsigned long
00166
00167 extern int _count(INTRINSICS_PARM_TYPE x);
00168 #if !defined(__mips) || \
00169 (defined(__mips) && !(defined(__INLINE_INTRINSICS) && \
00170 defined(_COMPILER_VERSION) && (_COMPILER_VERSION>= 730)))
00171
00172 extern long _dshiftl(INTRINSICS_PARM_TYPE x, INTRINSICS_PARM_TYPE y, int b);
00173 extern long _dshiftr(INTRINSICS_PARM_TYPE x, INTRINSICS_PARM_TYPE y, int b);
00174 extern int _leadz(INTRINSICS_PARM_TYPE x);
00175 extern long _mask(int n);
00176 extern long _maskr(int n);
00177 extern long _maskl(int n);
00178 #endif
00179
00180 #ifdef __mips
00181 extern void
00182 movbit_(void *a, long long *az, long long *nz, void *b, long long *bz);
00183 extern void
00184 movbitz_(void *a, long long *az, long long *nz, void *b, long long *bz);
00185 extern long _pack(long *up, char *cp, long bc, int tc);
00186 extern long _unpack(char *cp, long *up, long bc, int tc);
00187 #elif defined(_LITTLE_ENDIAN)
00188 extern void
00189 movbit_(void *a, int64 *az, int64 *nz, void *b, int64 *bz);
00190 extern void
00191 movbitz_(void *a, int64 *az, int64 *nz, void *b, int64 *bz);
00192 extern long _pack(long *up, char *cp, long bc, int tc);
00193 extern long _unpack(char *cp, long *up, long bc, int tc);
00194 #endif
00195
00196
00197
00198
00199
00200
00201
00202 #define restrict
00203 #define _gsys_qtape(x) (0)
00204 #define O_RAW 0x0
00205
00206 #ifdef _SOLARIS
00207 #define LOADED(x) (x != NULL)
00208 #define LOADED_DATA(x) (x != NULL)
00209 #else
00210 #define LOADED(x) (1)
00211 #define LOADED_DATA(x) (1)
00212 #endif
00213
00214 #endif
00215
00216
00217
00218
00219
00220
00221 #if defined(_SOLARIS) || defined(__mips) || defined(_ABSOFT) || defined(_LITTLE_ENDIAN)
00222 #define UNIX_NAMING_CONVENTION
00223 #else
00224 #undef UNIX_NAMING_CONVENTION
00225 #endif
00226
00227
00228
00229
00230
00231
00232
00233 #if !defined(_SOLARIS) && !defined(__mips) && !defined(_ABSOFT) && !defined(_LITTLE_ENDIAN)
00234 #define COMPLEX_AS_SCALAR
00235 #else
00236 #undef COMPLEX_AS_SCALAR
00237 #endif
00238
00239 #endif