procedure.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*+-------------------------------------------------------------------------
  2. procedure.h
  3. wht@wht.net
  4. --------------------------------------------------------------------------*/
  5. /*+:EDITS:*/
  6. /*:04-26-2000-11:16-wht@bob-RELEASE 4.42 */
  7. /*:01-08-2000-14:03-wht@menlo-add function declarations */
  8. /*:01-24-1997-02:38-wht@yuriatin-SOURCE RELEASE 4.00 */
  9. /*:01-12-1997-13:49-wht@yuriatin-rename proc.h avoiding conflict sys/proc.h */
  10. /*:01-12-1997-13:45-wht@yuriatin-place LCB next/prev pointers first */
  11. /*:09-11-1996-20:01-wht@yuriatin-3.48-major telnet,curses,structural overhaul */
  12. /*:11-23-1995-11:20-wht@kepler-source control 3.37 for tsx-11 */
  13. /*:11-14-1995-10:23-wht@kepler-3.37.80-source control point: SOCKETS */
  14. /*:05-04-1994-04:40-wht@n4hgf-ECU release 3.30 */
  15. /*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  16. /*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  17. /*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  18. /*:11-16-1991-14:00-wht@n4hgf-add upon_dcdloss */
  19. /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  20. /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  21. #ifndef _proc_h
  22. #define _proc_h
  23. typedef struct lcb_type
  24. {
  25. struct lcb_type *next;
  26. struct lcb_type *prev;
  27. ESD *text; /* line's text buffer */
  28. UINT lineno; /* line number */
  29. } LCB;
  30. LCB *find_labelled_lcb();
  31. LCB *find_cproc_labelled_lcb();
  32. typedef struct pcb_type
  33. {
  34. int argc;
  35. char **argv;
  36. LCB *first; /* first in procedure */
  37. LCB *last; /* last in procedure */
  38. LCB *current; /* currently executing or last executed line */
  39. ESD upon_dcdloss; /* pseudo-ESD to execute as a statement upon
  40. * DCD loss */
  41. char *mkvs_last; /* actually MKV *, but ... */
  42. char *mkvi_last; /* ... see var.c for details */
  43. }
  44. PCB;
  45. #define MAX_PARGV 20 /* max args to procedure, including name */
  46. #define PROC_STACK_MAX 10 /* max proc nest */
  47. #endif /* _proc_h */
  48. /* vi: set tabstop=4 shiftwidth=4: */
  49. /* end of procedure.h */