summaryrefslogtreecommitdiff
path: root/ext/hyperwave/debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/hyperwave/debug.h')
-rw-r--r--ext/hyperwave/debug.h194
1 files changed, 194 insertions, 0 deletions
diff --git a/ext/hyperwave/debug.h b/ext/hyperwave/debug.h
new file mode 100644
index 0000000000..7b6756a5ab
--- /dev/null
+++ b/ext/hyperwave/debug.h
@@ -0,0 +1,194 @@
+/****************************************************************************
+*
+* Copyright (C) 1991 Kendall Bennett.
+* All rights reserved.
+*
+* Filename: $RCSfile$
+* Version: $Revision$
+*
+* Language: ANSI C
+* Environment: any
+*
+* Description: General header file for portable code.
+*
+* $Id$
+*
+* Revision History:
+* -----------------
+*
+* $Log$
+* Revision 1.1.1.1 1999/04/07 21:03:29 zeev
+* PHP 4.0
+*
+* Revision 1.1.1.1 1999/03/17 04:29:10 andi
+* PHP4
+*
+* Revision 1.1.1.1 1998/12/21 07:56:22 andi
+* Trying to start the zend CVS tree
+*
+* Revision 1.1 1998/08/12 09:29:16 steinm
+* First version of Hyperwave module.
+*
+* Revision 1.6 92/03/15 12:51:48 kjb
+* Added MK_FP macro and ushort typedef.
+*
+* Revision 1.5 91/10/28 03:17:33 kjb
+* Ported to the Iris.
+*
+* Revision 1.4 91/09/26 15:29:02 kjb
+* Added stuff for the SGI Iris 4D.
+*
+* Revision 1.3 91/09/26 10:07:04 kjb
+* Added general typedef stuff.
+*
+* Revision 1.2 91/09/03 18:19:14 ROOT_DOS
+* Added a few defines that are supplied by <dir.h> for UNIX compatibility.
+*
+* Revision 1.1 91/08/16 13:19:06 ROOT_DOS
+* Initial revision
+*
+****************************************************************************/
+
+#ifndef __DEBUG_H
+#define __DEBUG_H
+
+#ifdef DEBUG
+# define D(x) x
+#else
+# define D(x)
+#endif
+
+#define PRIVATE static
+#define PUBLIC
+
+#ifdef __MSDOS__ /* Compiling for MSDOS */
+# define MS(x) x
+# define UX(x)
+# define IR(x)
+# define _8086 /* We know we have an 8086 type processor */
+#if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__)
+# define LDATA
+# define NULL 0L
+#else
+# define NULL 0
+#endif
+#else __MSDOS__
+#ifdef __IRIS4D__ /* Compiling for the SGI Iris 4D */
+# define MS(x)
+# define UX(x) x /* The Iris is a UNIX machine */
+# define IR(x) x
+# define O_BINARY 0 /* no binary input mode in UNIX open() */
+# define MAXFILE 255 /* These are defined in <dir.h>, but */
+# define MAXDIR 255 /* on UNIX machines, we just define */
+# define MAXPATH 255 /* them all to be the same size */
+# define far /* Near and far do not exist under */
+# define near /* UNIX or the Iris. */
+# define NULL ((void *)0)
+#else __IRIS4D__ /* Assume UNIX compilation */
+# define MS(x)
+# define UX(x) x
+# define IR(x)
+# define O_BINARY 0 /* no binary input mode in UNIX open() */
+# define MAXFILE 255 /* These are defined in <dir.h>, but */
+# define MAXDIR 255 /* on UNIX machines, we just define */
+# define MAXPATH 255 /* them all to be the same size */
+# define far /* Near and far do not exist under */
+# define near /* UNIX or the Iris. */
+# ifndef NULL
+# define NULL ((void *)0)
+# endif
+#endif __IRIS4D__
+#endif __MSDOS__
+
+/****************************************************************************
+*
+* SEG(p) Evaluates to the segment portion of an 8086 address.
+* OFF(p) Evaluates to the offset portion of an 8086 address.
+* FP(s,o) Creates a far pointer given a segment offset pair.
+* PHYS(p) Evaluates to a long holding a physical address
+*
+****************************************************************************/
+
+#ifdef _8086
+# define SEG(p) ( ((unsigned *)&(void far *)(p))[1] )
+# define OFF(p) ( (unsigned)(p) )
+# define FP(s,o) ( (void far *)( ((unsigned long)s << 16) + \
+ (unsigned long)o ))
+# define PHYS(p) ( (unsigned long)OFF(p) + \
+ ((unsigned long)SEG(p) << 4))
+#else
+# define PHYS(p) (p)
+#endif _8086
+
+/****************************************************************************
+*
+* NUMELE(array) Evaluates to the array size in elements
+* LASTELE(array) Evaluates to a pointer to the last element
+* INBOUNDS(array,p) Evaluates to true if p points into the array
+* RANGE(a,b,c) Evaluates to true if a <= b <= c
+* max(a,b) Evaluates to a or b, whichever is larger
+* min(a,b) Evaluates to a or b, whichever is smaller
+* ABS(a) Evaluates to the absolute value of a
+* NBITS(type) Returns the number of bits in a variable of the
+* indicated type
+* MAXINT Evaluates to the value of the largest signed integer
+*
+****************************************************************************/
+
+#define NUMELE(a) (sizeof(a)/sizeof(*(a)))
+#define LASTELE(a) ((a) + (NUMELE(a)-1))
+#ifdef LDATA
+#define TOOHIGH(a,p) ((long)PHYS(p) - (long)PHYS(a) > (long)(NUMELE(a)-1))
+#define TOOLOW(a,p) ((long)PHYS(p) - (long)PHYS(a) < 0)
+#else
+#define TOOHIGH(a,p) ((long)(p) - (long)(a) > (long)(NUMELE(a)-1))
+#define TOOLOW(a,p) ((long)(p) - (long)(a) < 0)
+#endif
+#define INBOUNDS(a,p) ( ! (TOOHIGH(a,p) || TOOLOW(a,p)) )
+
+#define _IS(t,x) (((t)1 << (x)) != 0) /* Evaluates true if the width of */
+ /* variable of type t is < x. */
+ /* The != 0 assures that the */
+ /* answer is 1 or 0 */
+
+#define NBITS(t) (4 * (1 + _IS(t,4) + _IS(t,8) + _IS(t,12) + _IS(t,16) \
+ + _IS(t,20) + _IS(t,24) + _IS(t,28) + _IS(t,32)))
+
+#define MAXINT (((unsigned)~0) >> 1)
+
+#ifndef MAX
+# define MAX(a,b) ( ((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+# define MIN(a,b) ( ((a) < (b)) ? (a) : (b))
+#endif
+#ifndef ABS
+# define ABS(a) ((a) >= 0 ? (a) : -(a))
+#endif
+
+#define RANGE(a,b,c) ( (a) <= (b) && (b) <= (c) )
+
+/* General typedefs */
+
+#ifndef __GENDEFS
+#define __GENDEFS
+typedef void *ptr;
+typedef void near *nearptr;
+typedef void far *farptr;
+/*typedef unsigned char uchar;
+typedef unsigned short ushort;
+typedef unsigned int uint;
+typedef unsigned long ulong;*/
+typedef int bool;
+#endif __GENDEFS
+
+/* Boolean truth values */
+
+#define false 0
+#define true 1
+#define FALSE 0
+#define TRUE 1
+#define NO 0
+#define YES 1
+
+#endif __DEBUG_H