/* Copyright (c) 1993 Xerox Corporation. All rights reserved. */ /* $Id$ $Date$ */ /* Chauser, October 28, 1993 3:49 pm PDT */ #ifndef ←←PCR←StdTypes←h #define ←←PCR←StdTypes←h 1 #define PCR←MAJORVERSION 2 #define PCR←MINORVERSION 0 /* * Boolean */ typedef long PCR←Bool; # define PCR←Bool←←false ((PCR←Bool)(0)) # define PCR←Bool←false PCR←Bool←←false # define PCR←Bool←←true ((PCR←Bool)(1)) # define PCR←Bool←true PCR←Bool←←true /* * Pointers */ #ifndef NULL # define NULL 0 #endif #define NIL 0 typedef void * PCR←Ref; /* * ARCH-DEPENDENT: * * The following definitions for PCR←Any make the (mild) * machine-dependent assumption that the heap can't be * too close to either end of the address space. * * Note also that if a PCR←Any is assumed to contain either * a PCR←Ref or a small integer, we are constrained to use * a *converservative* garbage collector. */ typedef void * PCR←Any; #define PCR←Any←←IsUnsigned(x) \ ( ((unsigned)(x)) < 4096 ) #define PCR←Any←IsUnsigned PCR←Any←←IsUnsigned #define PCR←Any←←IsInt(x) \ ( (((int)(x)) < 4096) && (((int)(x)) > (-4096)) ) #define PCR←Any←IsInt PCR←Any←←IsInt #define PCR←Any←←IsRef(x) ( ((x) == NIL) || (!PCR←Any←IsInt(x)) ) /* * Procedures / functions */ typedef void (* PCR←ProcPtr)(); /* * Results of (many) PCR system calls * * >= 0: success * < 0: failure, value is -(errno value) */ typedef long PCR←ERes; # define PCR←ERes←←okay ((PCR←ERes)(0)) # define PCR←ERes←okay PCR←ERes←←okay # define PCR←ERes←←IsRes(eres) ((eres) >= 0) # define PCR←ERes←IsRes PCR←ERes←←IsRes # define PCR←ERes←←IsErr(eres) ((eres) < 0) # define PCR←ERes←IsErr PCR←ERes←←IsErr # define PCR←ERes←←FromErr(err) ((PCR←ERes)(-(err))) # define PCR←ERes←FromErr PCR←ERes←←FromErr # define PCR←ERes←←ToErr(eres) ((long)(-(eres))) # define PCR←ERes←ToErr PCR←ERes←←ToErr # define PCR←ERes←←FromRes(res) ((PCR←ERes)(res)) # define PCR←ERes←FromRes PCR←ERes←←FromRes # define PCR←ERes←←ToRes(eres) ((long)(eres)) # define PCR←ERes←ToRes PCR←ERes←←ToRes /* * Timeouts */ typedef unsigned long PCR←Msec; # define PCR←Msec←←waitForever ((PCR←Msec)(-1)) # define PCR←Msec←waitForever PCR←Msec←←waitForever # define PCR←waitForever PCR←Msec←waitForever # define PCR←Msec←←dontWait ((PCR←Msec)(0)) # define PCR←Msec←dontWait PCR←Msec←←dontWait # define PCR←dontWait PCR←Msec←dontWait # define PCR←Msec←←Between(a,b) (((long)(b)) - ((long)(a))) # define PCR←Msec←Between PCR←Msec←←Between #endif /* !←←PCR←StdTypes←h */ /* $Log$ */