home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 116.lha / SmallTalk / Sources / PROCESS.H < prev    next >
C/C++ Source or Header  |  1986-11-20  |  1KB  |  42 lines

  1. /*
  2.     Little Smalltalk, version 2
  3.     Written by Tim Budd, Oregon State University, July 1987
  4. */
  5. /*
  6.     constants and types used by process manager. 
  7.     See process.c and interp.c for more details.
  8. */
  9. /*
  10.     if there are no enumerated types, make tasks simply integer constants
  11. */
  12. # ifdef NOENUMS
  13. # define taskType int
  14.  
  15. # define sendMessageTask 1
  16. # define sendSuperTask   2
  17. # define ReturnTask     3
  18. # define BlockReturnTask 4
  19. # define BlockCreateTask 5
  20. # define ContextExecuteTask 6
  21.  
  22. #endif
  23.  
  24. # ifndef NOENUMS
  25.  
  26. typedef enum {sendMessageTask, sendSuperTask, ReturnTask, BlockReturnTask,
  27.         BlockCreateTask, ContextExecuteTask} taskType;
  28.  
  29. # endif
  30.  
  31. extern int finalStackTop;    /* stack top when finished with interpreter */
  32. extern int finalByteCounter;    /* bytecode counter when finished with interpreter */
  33. extern int argumentsOnStack;    /* position of arguments on stack for mess send */
  34. extern object messageToSend;    /* message to send */
  35. extern object returnedObject;    /* object returned from message */
  36. extern taskType  finalTask;        /* next task to do (see below) */
  37. extern object creator;
  38.  
  39.  
  40. extern noreturn sendMessage(OBJ X OBJ X INT);
  41. extern noreturn prpush(OBJ);
  42.