home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / intercal.zip / src / abcess.h next >
C/C++ Source or Header  |  1996-06-05  |  1KB  |  50 lines

  1. /* abcess.h -- functions used by compiled INTERCAL programs */
  2.  
  3. typedef int bool;
  4. #define TRUE    1
  5. #define FALSE    0
  6.  
  7. #define ONESPOT    0
  8. #define TWOSPOT    1
  9. #define TAIL    2
  10. #define HYBRID    3
  11.  
  12. /* the following two types must both promote to unsigned int in expressions */
  13.  
  14. typedef unsigned short type16;
  15. typedef unsigned int   type32;
  16.  
  17. typedef struct array_t
  18. {
  19.   unsigned int rank;
  20.   unsigned int *dims;
  21.   union
  22.   {
  23.     type16 *tail;
  24.     type32 *hybrid;
  25.   } data;
  26. } array;
  27.  
  28. /* defined in cesspool.c */
  29. extern void pushnext(int n);
  30. extern unsigned int popnext(int n);
  31. extern unsigned int resume(unsigned int n);
  32. extern unsigned int pin(void);
  33. extern void clockface(bool mode);
  34. extern void pout(unsigned int val);
  35. extern void binin(unsigned int type, array *a, bool forget);
  36. extern void binout(unsigned int type, array *a);
  37. extern unsigned int assign(char *dest, unsigned int type, bool forget,
  38.                unsigned int value);
  39. extern char *aref();
  40. extern void resize();
  41. extern void stashinit(void);
  42. extern void stash(unsigned int type, unsigned int index, void *from);
  43. extern void retrieve(void *to, int type, unsigned int index, bool forget);
  44. extern unsigned int roll(unsigned int n);
  45.  
  46. /* defined in arrgghh.c */
  47. extern void parseargs(int argc, char **argv);
  48.  
  49. /* abcess.h ends here */
  50.