home *** CD-ROM | disk | FTP | other *** search
- /* Standard definitions to use -- boolean variables, etc */
- #ifndef STDDEF_H
- #define STDDEF_H
-
- typedef unsigned long LONG;
- typedef unsigned WORD;
- typedef unsigned char BYTE;
- typedef unsigned char SHORT;
- typedef void VOID;
-
- #define MAXINT 0xFFFF
- #define MAXLONG 0xFFFFFFFF
-
- #define NULL ((char *)0)
- #ifndef NIL
- #define NIL '\0'
- #endif
-
- typedef char BOOLEAN;
- #define FALSE 0
- #define TRUE (!FALSE)
-
- typedef VOID (func)();
- typedef int (ifunc)();
- typedef LONG (lfunc)();
-
- /* Inclusive between macro */
- #define IBETWEEN(x, a, b) (((x) >= (a) && (x) <= (b)) ? TRUE : FALSE)
- /* Exclusive between macro */
- #define EBETWEEN(x, a, b) (((x) > (a) && (x) < (b)) ? TRUE : FALSE)
-
- extern char *strcat();
- extern char *malloc();
- extern char *lmalloc();
-
- typedef struct { int w,h; } wh;
- typedef struct { int x,y; } xy;
- typedef struct { int x,y,w,h; } xywh;
- typedef struct { int x,y,x1,y1; } xyxy;
- typedef struct { int x,y,x1,y1,x2,y2,x3,y3; } xyxyxyxy;
-
- #define XYWH_PTR(a) &a.x, &a.y, &a.w, &a.h
- #define XYXY_PTR(a) &a.x, &a.y, &a.x1, &a.y1
- #define XY_PTR(a) &a.x, &a.y
- #define WH_PTR(a) &a.w, &a.h
- #define XYXYXYXY_PTR(a) &a.x, &a.y, &a.x1, &a.y1, &a.x2, &a.y2, &a.x3, &a.y3
- #define MAX(a, b) ((a) > (b) ? (a) : (b))
- #define MIN(a, b) ((a) < (b) ? (a) : (b))
-
- #define new(p) ((p) = malloc(sizeof(*p))) /* Like Pascal's new */
-
- #endif
-