/* 
 * BasicTypes.h - RS/6000 psuedo-threads work
 */

#ifndef ←BASIC←TYPES←H
#define ←BASIC←TYPES←H

/* NIL pointer */

#ifdef NIL
# if NIL != 0
    --> ERROR <-
# endif
# undef NIL
#endif
#define NIL 0

/* Boolean values */

#undef bool
#define bool    int

#ifdef FALSE
# if FALSE != 0
    --> ERROR <--
# endif
# undef FALSE
#endif
#define FALSE   0

#ifdef TRUE
# if TRUE != 1
    --> ERROR <--
# endif
#undef TRUE
#endif
#define TRUE    1

/*
 * poor substitute for void *
 */

typedef unsigned XR←Pointer;

/*
 * Mesa procedure
 */

typedef XR←Pointer (*XR←UntypedProc)(/* ..., XR←MesaProc self */);

typedef struct XR←MesaProcRep {
    XR←UntypedProc mp←proc;
    XR←Pointer mp←x;
} * XR←MesaProc;

#endif ←BASIC←TYPES←H