e576bb | 2002-10-11 | Martin Nilsson | | |
74b3d3 | 2003-12-07 | Marcus Comstedt | | || $Id: global.h,v 1.95 2003/12/07 19:42:03 marcus Exp $
|
e576bb | 2002-10-11 | Martin Nilsson | | */
|
24ddc7 | 1998-03-28 | Henrik Grubbström (Grubba) | |
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #ifndef GLOBAL_H
#define GLOBAL_H
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | |
|
7fbe09 | 1999-05-11 | Fredrik Hübinette (Hubbe) | | #if defined(__WINNT__) && !defined(__NT__)
#define __NT__
#endif
|
a2326e | 1998-03-25 | Per Hedbor | | #ifndef _LARGEFILE_SOURCE
# define _FILE_OFFSET_BITS 64
# define _LARGEFILE_SOURCE
|
fedf13 | 1998-03-25 | Fredrik Hübinette (Hubbe) | | # define _LARGEFILE64_SOURCE 1
|
a2326e | 1998-03-25 | Per Hedbor | | #endif
|
90dc92 | 1998-06-12 | Fredrik Noring | |
#ifndef __STDC_EXT__
# define __STDC_EXT__
#endif /* !__STDC_EXT__ */
|
ada73b | 1999-07-15 | Henrik Grubbström (Grubba) | | #ifndef _PROTOTYPES
# define _PROTOTYPES
#endif /* !_PROTOTYPES */
|
90dc92 | 1998-06-12 | Fredrik Noring | |
|
e31ef4 | 2003-03-12 | Henrik Grubbström (Grubba) | |
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif /* !_GNU_SOURCE */
|
b401a5 | 2003-05-02 | Henrik Grubbström (Grubba) | | #ifdef __NT__
|
636e85 | 2003-04-30 | Henrik Grubbström (Grubba) | |
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
|
b401a5 | 2003-05-02 | Henrik Grubbström (Grubba) | |
#ifndef WIN32
#define WIN32 100 /* WinNT 1.0 */
#endif
#endif /* __NT__ */
|
44e294 | 2000-08-11 | Henrik Grubbström (Grubba) | |
#ifndef __BUILTIN_VA_ARG_INCR
#define __BUILTIN_VA_ARG_INCR 1
#endif /* !__BUILTIN_VA_ARG_INCR */
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
#ifdef MALLOC_REPLACED
#define NO_FIX_MALLOC
#endif
|
211d6b | 1996-12-05 | Fredrik Hübinette (Hubbe) | | #ifndef STRUCT_PROGRAM_DECLARED
#define STRUCT_PROGRAM_DECLARED
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | struct program;
|
211d6b | 1996-12-05 | Fredrik Hübinette (Hubbe) | | #endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | struct function;
|
211d6b | 1996-12-05 | Fredrik Hübinette (Hubbe) | | #ifndef STRUCT_SVALUE_DECLARED
#define STRUCT_SVALUE_DECLARED
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | struct svalue;
|
211d6b | 1996-12-05 | Fredrik Hübinette (Hubbe) | | #endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | struct sockaddr;
struct object;
struct array;
struct svalue;
|
ee8356 | 1998-08-07 | Henrik Grubbström (Grubba) | | #ifndef STRUCT_TIMEVAL_DECLARED
#define STRUCT_TIMEVAL_DECLARED
struct timeval;
#endif
|
83b184 | 2003-02-08 | Martin Stjernholm | | #ifndef CONFIGURE_TEST
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | #include "machine.h"
|
83b184 | 2003-02-08 | Martin Stjernholm | | #endif
|
189fd0 | 1997-01-28 | Fredrik Hübinette (Hubbe) | |
#define MAX_LOCAL 256
#ifndef NO_GC
#define GC2
#endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
|
75920f | 1997-12-28 | Fredrik Hübinette (Hubbe) | | #if defined(i386)
#ifndef HANDLES_UNALIGNED_MEMORY_ACCESS
#define HANDLES_UNALIGNED_MEMORY_ACCESS
#endif
#endif
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | |
|
44e294 | 2000-08-11 | Henrik Grubbström (Grubba) | | #if HAVE_ALLOCA_H
# include <alloca.h>
# ifdef __GNUC__
# ifdef alloca
# undef alloca
# endif
# define alloca __builtin_alloca
# endif
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | #else
|
44e294 | 2000-08-11 | Henrik Grubbström (Grubba) | | # ifdef __GNUC__
# ifdef alloca
# undef alloca
# endif
# define alloca __builtin_alloca
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | # else
# ifdef _AIX
|
5c8e89 | 1995-10-29 | Fredrik Hübinette (Hubbe) | | #pragma alloca
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | # else
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
44e294 | 2000-08-11 | Henrik Grubbström (Grubba) | | void *alloca();
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | # endif
# endif
# endif
|
5401b6 | 1999-08-06 | Fredrik Hübinette (Hubbe) | | #endif
#ifdef __NT__
|
6ec453 | 2003-04-15 | Martin Nilsson | | #undef FD_SETSIZE
|
5401b6 | 1999-08-06 | Fredrik Hübinette (Hubbe) | | #define FD_SETSIZE MAX_OPEN_FILEDESCRIPTORS
|
cb2256 | 1995-10-11 | Fredrik Hübinette (Hubbe) | | #endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #include <stdio.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
|
a4e1c4 | 1996-08-06 | Fredrik Hübinette (Hubbe) | | #undef HAVE_STDLIB_H
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #endif
|
ada73b | 1999-07-15 | Henrik Grubbström (Grubba) | | #ifdef HAVE_STDDEF_H
|
1e577b | 1999-07-15 | Fredrik Hübinette (Hubbe) | | #include <stddef.h>
|
ada73b | 1999-07-15 | Henrik Grubbström (Grubba) | | #undef HAVE_STDDEF_H
|
1e577b | 1999-07-15 | Fredrik Hübinette (Hubbe) | | #endif
|
75920f | 1997-12-28 | Fredrik Hübinette (Hubbe) | | #ifdef HAVE_MALLOC_H
|
31c8ed | 2003-04-17 | Xavier Beaudouin | | #if !defined(__FreeBSD__) && !defined(__OpenBSD__)
|
2139ba | 2003-04-16 | Xavier Beaudouin | |
|
75920f | 1997-12-28 | Fredrik Hübinette (Hubbe) | | #include <malloc.h>
|
31c8ed | 2003-04-17 | Xavier Beaudouin | | #endif /* !__FreeBSD__ && !__OpenBSD */
|
75920f | 1997-12-28 | Fredrik Hübinette (Hubbe) | | #undef HAVE_MALLOC_H
#endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #ifdef HAVE_UNISTD_H
#include <unistd.h>
|
a4e1c4 | 1996-08-06 | Fredrik Hübinette (Hubbe) | | #undef HAVE_UNISTD_H
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #endif
#ifdef HAVE_STRING_H
#include <string.h>
|
a4e1c4 | 1996-08-06 | Fredrik Hübinette (Hubbe) | | #undef HAVE_STRING_H
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #endif
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #ifdef HAVE_LIMITS_H
#include <limits.h>
#undef HAVE_LIMITS_H
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #endif
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#undef HAVE_SYS_TYPES_H
|
419ede | 1996-11-13 | Fredrik Hübinette (Hubbe) | | #endif
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #ifdef HAVE_MEMORY_H
#include <memory.h>
#undef HAVE_MEMORY_H
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #endif
|
b4dd8c | 1999-06-19 | Fredrik Hübinette (Hubbe) | | #ifdef HAVE_WINDOWS_H
#include <windows.h>
#undef HAVE_WINDOWS_H
#endif
|
8ae049 | 2003-11-07 | Martin Stjernholm | | #include <float.h>
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | |
#include "pike_int_types.h"
|
2b0d73 | 2000-01-09 | Fredrik Hübinette (Hubbe) | |
|
bed960 | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #define SIZE_T unsigned INT32
|
7e877a | 2003-04-02 | Martin Stjernholm | | #define TYPE_T unsigned int
|
bed960 | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #define TYPE_FIELD unsigned INT16
|
6d2254 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #define B1_T char
|
bed960 | 1997-05-19 | Fredrik Hübinette (Hubbe) | |
|
6d2254 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #if SIZEOF_SHORT == 2
#define B2_T short
#elif SIZEOF_INT == 2
#define B2_T int
#endif
#if SIZEOF_SHORT == 4
#define B4_T short
#elif SIZEOF_INT == 4
#define B4_T int
#elif SIZEOF_LONG == 4
#define B4_T long
#endif
#if SIZEOF_INT == 8
#define B8_T int
#elif SIZEOF_LONG == 8
#define B8_T long
|
3f3e4d | 2000-08-03 | Henrik Grubbström (Grubba) | | #elif (SIZEOF_LONG_LONG - 0) == 8
#define B8_T long long
#elif (SIZEOF___INT64 - 0) == 8
#define B8_T __int64
|
6d2254 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #elif SIZEOF_CHAR_P == 8
#define B8_T char *
#elif defined(B4_T)
struct b8_t_s { B4_T x,y; };
|
52fcc8 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #define B8_T struct b8_t_s
|
6d2254 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #endif
|
52fcc8 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #if defined(B8_T)
|
2de118 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | struct b16_t_s { B8_T x,y; };
|
52fcc8 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #define B16_T struct b16_t_s
|
6d2254 | 1998-01-28 | Fredrik Hübinette (Hubbe) | | #endif
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | |
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | |
#ifndef MAX_INT_TYPE
# if defined (WITH_SHORT_INT)
# define MAX_INT_TYPE SHRT_MAX
# define MIN_INT_TYPE SHRT_MIN
# define PRINTPIKEINT "h"
|
7c1a31 | 2003-11-07 | Martin Stjernholm | | # define INT_ARG_TYPE int
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | |
# elif defined (WITH_INT_INT)
# define MAX_INT_TYPE INT_MAX
# define MIN_INT_TYPE INT_MIN
# define PRINTPIKEINT ""
# elif defined (WITH_LONG_INT)
# define MAX_INT_TYPE LONG_MAX
# define MIN_INT_TYPE LONG_MIN
# define PRINTPIKEINT "l"
# elif defined (WITH_LONG_LONG_INT)
# ifdef LLONG_MAX
# define MAX_INT_TYPE LLONG_MAX
# define MIN_INT_TYPE LLONG_MIN
# else
# define MAX_INT_TYPE LONG_LONG_MAX
# define MIN_INT_TYPE LONG_LONG_MIN
# endif
# define PRINTPIKEINT "ll"
# endif
#endif
|
7c1a31 | 2003-11-07 | Martin Stjernholm | |
#ifndef INT_ARG_TYPE
#define INT_ARG_TYPE INT_TYPE
#endif
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | | #if SIZEOF_INT_TYPE - 0 == 0
# error Unsupported type chosen for native pike integers.
#endif
#if SIZEOF_INT_TYPE != 4
# define INT_TYPE_INT32_CONVERSION
#endif
#if defined (WITH_LONG_DOUBLE_PRECISION_SVALUE)
|
8ae049 | 2003-11-07 | Martin Stjernholm | |
# define PIKEFLOAT_MANT_DIG LDBL_MANT_DIG
# define PIKEFLOAT_DIG LDBL_DIG
# define PIKEFLOAT_MIN_EXP LDBL_MIN_EXP
# define PIKEFLOAT_MAX_EXP LDBL_MAX_EXP
# define PIKEFLOAT_MIN_10_EXP LDBL_MIN_10_EXP
# define PIKEFLOAT_MAX_10_EXP LDBL_MAX_10_EXP
# define PIKEFLOAT_MAX LDBL_MAX
# define PIKEFLOAT_MIN LDBL_MIN
# define PIKEFLOAT_EPSILON LDBL_EPSILON
# define PRINTPIKEFLOAT "L"
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | | #elif defined (WITH_DOUBLE_PRECISION_SVALUE)
|
8ae049 | 2003-11-07 | Martin Stjernholm | |
# define PIKEFLOAT_MANT_DIG DBL_MANT_DIG
# define PIKEFLOAT_DIG DBL_DIG
# define PIKEFLOAT_MIN_EXP DBL_MIN_EXP
# define PIKEFLOAT_MAX_EXP DBL_MAX_EXP
# define PIKEFLOAT_MIN_10_EXP DBL_MIN_10_EXP
# define PIKEFLOAT_MAX_10_EXP DBL_MAX_10_EXP
# define PIKEFLOAT_MAX DBL_MAX
# define PIKEFLOAT_MIN DBL_MIN
# define PIKEFLOAT_EPSILON DBL_EPSILON
# define PRINTPIKEFLOAT ""
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | | #else
|
8ae049 | 2003-11-07 | Martin Stjernholm | |
# define PIKEFLOAT_MANT_DIG FLT_MANT_DIG
# define PIKEFLOAT_DIG FLT_DIG
# define PIKEFLOAT_MIN_EXP FLT_MIN_EXP
# define PIKEFLOAT_MAX_EXP FLT_MAX_EXP
# define PIKEFLOAT_MIN_10_EXP FLT_MIN_10_EXP
# define PIKEFLOAT_MAX_10_EXP FLT_MAX_10_EXP
# define PIKEFLOAT_MAX FLT_MAX
# define PIKEFLOAT_MIN FLT_MIN
# define PIKEFLOAT_EPSILON FLT_EPSILON
# define PRINTPIKEFLOAT ""
|
7c1a31 | 2003-11-07 | Martin Stjernholm | | # define FLOAT_ARG_TYPE double
#endif
|
8ae049 | 2003-11-07 | Martin Stjernholm | |
|
7c1a31 | 2003-11-07 | Martin Stjernholm | |
#ifndef FLOAT_ARG_TYPE
#define FLOAT_ARG_TYPE FLOAT_TYPE
|
4087a1 | 2003-05-01 | Henrik Grubbström (Grubba) | | #endif
#if SIZEOF_FLOAT_TYPE - 0 == 0
#error Unsupported type chosen for pike floats.
#endif
|
3e625c | 1998-10-11 | Fredrik Hübinette (Hubbe) | | typedef unsigned char p_wchar0;
typedef unsigned INT16 p_wchar1;
typedef unsigned INT32 p_wchar2;
|
3ef466 | 1999-02-27 | Henrik Grubbström (Grubba) | | typedef struct p_wchar_p
{
p_wchar0 *ptr;
int shift;
} PCHARP;
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | |
|
0378a2 | 2003-02-11 | Martin Stjernholm | | #ifndef CONFIGURE_TEST
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
#define RCSID(X) \
static char *rcsid __attribute__ ((unused)) =X
#elif __GNUC__ == 2
#define RCSID(X) \
static char *rcsid = X; \
static void *use_rcsid=(&use_rcsid, (void *)&rcsid)
#else
#define RCSID(X) \
static char *rcsid = X
|
bed960 | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #endif
|
0378a2 | 2003-02-11 | Martin Stjernholm | | #else
#define RCSID(X)
#endif
|
bed960 | 1997-05-19 | Fredrik Hübinette (Hubbe) | |
|
ae9503 | 1999-04-07 | Fredrik Hübinette (Hubbe) | | #ifdef PIKE_DEBUG
#define DO_IF_DEBUG(X) X
#else
#define DO_IF_DEBUG(X)
|
518963 | 2001-06-04 | Martin Stjernholm | | #define NDEBUG
|
ae9503 | 1999-04-07 | Fredrik Hübinette (Hubbe) | | #endif
|
a8a813 | 2002-09-13 | Martin Stjernholm | | #ifdef INTERNAL_PROFILING
#define DO_IF_INTERNAL_PROFILING(X) X
#else
#define DO_IF_INTERNAL_PROFILING(X)
#endif
|
71f3a2 | 1998-11-22 | Fredrik Hübinette (Hubbe) | | #if defined(__GNUC__) && !defined(PIKE_DEBUG) && !defined(lint)
|
9aa6fa | 1997-05-19 | Fredrik Hübinette (Hubbe) | | #define INLINE inline
#else
#define INLINE
#endif
|
bed960 | 1997-05-19 | Fredrik Hübinette (Hubbe) | |
|
2ba1a4 | 2003-03-29 | Henrik Grubbström (Grubba) | | |
1f2133 | 2000-07-28 | Fredrik Hübinette (Hubbe) | | * Putting PMOD_PROTO in front of a prototype does nothing.
*/
#ifndef PMOD_EXPORT
|
2ba1a4 | 2003-03-29 | Henrik Grubbström (Grubba) | | #ifdef __NT__
#ifdef DYNAMIC_MODULE
#ifdef _M_IA64
#define PMOD_EXPORT __declspec(dllimport)
#endif /* _M_IA64 */
#else /* !DYNAMIC_MODULE */
#endif /* DYNAMIC_MODULE */
#endif /* __NT__ */
#ifndef PMOD_EXPORT
|
1f2133 | 2000-07-28 | Fredrik Hübinette (Hubbe) | | #define PMOD_EXPORT
|
2ba1a4 | 2003-03-29 | Henrik Grubbström (Grubba) | | #endif /* !PMOD_EXPORT */
#endif /* !PMOD_EXPORT */
|
1f2133 | 2000-07-28 | Fredrik Hübinette (Hubbe) | |
#ifndef PMOD_PROTO
#define PMOD_PROTO
#endif
|
27f025 | 2002-11-25 | Martin Stjernholm | | #if defined(PURIFY) || defined(__CHECKER__) || \
defined(DEBUG_MALLOC) || defined(USE_VALGRIND)
|
ae9503 | 1999-04-07 | Fredrik Hübinette (Hubbe) | | #define DO_PIKE_CLEANUP
#endif
|
ec2bab | 2000-06-24 | Fredrik Hübinette (Hubbe) | | #ifdef PIKE_SECURITY
#define DO_IF_SECURITY(X) X
#else
#define DO_IF_SECURITY(X)
#endif
|
9b8163 | 2000-08-07 | Henrik Grubbström (Grubba) | |
#define DO_NOT_WARN(X) (X)
|
ec2bab | 2000-06-24 | Fredrik Hübinette (Hubbe) | |
|
eef59f | 2000-08-17 | Henrik Grubbström (Grubba) | |
#ifdef __ECL
static inline long PTRDIFF_T_TO_LONG(ptrdiff_t x)
{
return DO_NOT_WARN((long)x);
}
#else /* !__ECL */
#define PTRDIFF_T_TO_LONG(x) ((long)(x))
#endif /* __ECL */
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #include "port.h"
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | | #include "dmalloc.h"
|
e83eb9 | 2001-03-22 | Fredrik Hübinette (Hubbe) | | #include "pike_cpulib.h"
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | |
#ifdef BUFSIZ
#define PROT_STDIO(x) PROT(x)
#else
#define PROT_STDIO(x) ()
#endif
#ifdef __STDC__
#define PROT(x) x
#else
#define PROT(x) ()
#endif
#ifdef MALLOC_DECL_MISSING
char *malloc PROT((int));
char *realloc PROT((char *,int));
void free PROT((char *));
char *calloc PROT((int,int));
#endif
#ifdef GETPEERNAME_DECL_MISSING
int getpeername PROT((int, struct sockaddr *, int *));
#endif
#ifdef GETHOSTNAME_DECL_MISSING
void gethostname PROT((char *,int));
#endif
#ifdef POPEN_DECL_MISSING
FILE *popen PROT((char *,char *));
#endif
#ifdef GETENV_DECL_MISSING
char *getenv PROT((char *));
#endif
|
8301e4 | 2000-08-20 | Henrik Grubbström (Grubba) | | #ifdef USE_CRYPT_C
|
74b3d3 | 2003-12-07 | Marcus Comstedt | | char *crypt(const char *, const char *);
|
8301e4 | 2000-08-20 | Henrik Grubbström (Grubba) | | #endif /* USE_CRYPT_C */
|
21aa9b | 2000-12-13 | Fredrik Hübinette (Hubbe) | |
#define Pike_error_present
|
391350 | 2002-06-25 | Henrik Grubbström (Grubba) | |
#define USE_PIKE_TYPE 2
|
d68a07 | 2001-02-20 | Henrik Grubbström (Grubba) | |
|
aad99b | 2001-03-28 | Fredrik Hübinette (Hubbe) | | #ifdef PIKE_RUN_UNLOCKED
#define DO_IF_RUN_UNLOCKED(X) X
#else
#define DO_IF_RUN_UNLOCKED(X)
#endif
|
3a2a73 | 2002-04-09 | Mikael Brandström | |
#if defined(PROFILING) && defined(HAVE_GETHRTIME)
#define DO_IF_PROFILING(X) X
#else
#define DO_IF_PROFILING(X)
#endif
|
5267b7 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | #endif
|