CPROCESS.LST 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. Listing:
  2. 1 (* Release 3.10 *)
  3. 2 (*-------------------------------------------------------------------------*
  4. 3 * *
  5. 4 * CPROCESS.DEF - Modula-2 interface to CPROCESS.H *
  6. 5 * *
  7. 6 * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  8. 7 * All Rights Reserved *
  9. 8 * *
  10. 9 *--------------------------------------------------------------------------*)
  11. 10
  12. 11 (*# project("#set tsc='on'") *)
  13. 12 (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *)
  14. 13 (*# module(implementation=>off, init_code=>off) *)
  15. 14 (*# name(prefix=>c) *)
  16. 15
  17. 16
  18. 17 DEFINITION MODULE cprocess;
  19. 18
  20. 19 CONST
  21. 20 P_WAIT = 0;
  22. 21 P_NOWAIT = 1;
  23. 22 P_OVERLAY = 2;
  24. 23
  25. 24 TYPE
  26. 25 VarProc = PROCEDURE(FarADDRESS);
  27. ***** ^ not supported yet
  28. ***** ^ undeclared identifier
  29. 26
  30. 27 VAR
  31. 28 _psp: CARDINAL;
  32. 29
  33. 30 PROCEDURE abort;
  34. 31 PROCEDURE atexit(func: PROC): INTEGER;
  35. ***** ^ undeclared identifier
  36. 32 PROCEDURE onexit(func: PROC): PROC;
  37. ***** ^ undeclared identifier
  38. ***** ^ undeclared identifier
  39. 33 (*%T _mthread *)
  40. 34 PROCEDURE _dosbeginthread(func: PROC; _stlen: CARDINAL; VAR _stck: CARDINAL): CARDINAL;
  41. ***** ^ undeclared identifier
  42. 35 PROCEDURE _dosendthread;
  43. 36 PROCEDURE _beginthread(func: VarProc; stack: FarADDRESS; stack_size: CARDINAL;
  44. ***** ^ undeclared identifier
  45. 37 arg: FarADDRESS);
  46. ***** ^ undeclared identifier
  47. 38 PROCEDURE _endthread();
  48. 39 PROCEDURE _dosfreestack(_stck: CARDINAL);
  49. 40 (*%E *)
  50. 41
  51. 42 (*# save *)
  52. 43 (*# call(c_conv=>on, var_arg=>on, reg_param=>()) *)
  53. 44 PROCEDURE execl(_path, _arg0: ARRAY OF CHAR): INTEGER;
  54. ***** ^ not supported yet
  55. 45 PROCEDURE execle(_path, _arg0: ARRAY OF CHAR): INTEGER;
  56. ***** ^ not supported yet
  57. 46 PROCEDURE execlp(_path, _arg0: ARRAY OF CHAR): INTEGER;
  58. ***** ^ not supported yet
  59. 47 PROCEDURE execlpe(_path, _arg0: ARRAY OF CHAR): INTEGER;
  60. ***** ^ not supported yet
  61. 48 PROCEDURE execv(_path: ARRAY OF CHAR): INTEGER;
  62. ***** ^ not supported yet
  63. 49 PROCEDURE execve(_path: ARRAY OF CHAR): INTEGER;
  64. ***** ^ not supported yet
  65. 50 PROCEDURE execvp(_path: ARRAY OF CHAR): INTEGER;
  66. ***** ^ not supported yet
  67. 51 PROCEDURE execvpe(_path: ARRAY OF CHAR): INTEGER;
  68. ***** ^ not supported yet
  69. 52 (*# restore *)
  70. 53 PROCEDURE exit(_status: CARDINAL);
  71. 54 PROCEDURE _exit(_status: CARDINAL);
  72. 55 PROCEDURE delay(_msecs: CARDINAL);
  73. 56 (*%T _mthread *)
  74. 57 PROCEDURE _getTID(): CARDINAL;
  75. 58 (*%E *)
  76. 59
  77. 60 (*# save *)
  78. 61 (*# call(c_conv=>on, var_arg=>on, reg_param=>()) *)
  79. 62 PROCEDURE spawnl(_mode: CARDINAL; _path,_arg0: ARRAY OF CHAR): INTEGER;
  80. ***** ^ not supported yet
  81. 63 PROCEDURE spawnle(_mode: CARDINAL; _path,_arg0: ARRAY OF CHAR): INTEGER;
  82. ***** ^ not supported yet
  83. 64 PROCEDURE spawnlp(_mode: CARDINAL; _path,_arg0: ARRAY OF CHAR): INTEGER;
  84. ***** ^ not supported yet
  85. 65 PROCEDURE spawnlpe(_mode: CARDINAL; _path,_arg0: ARRAY OF CHAR): INTEGER;
  86. ***** ^ not supported yet
  87. 66 PROCEDURE spawnv(_mode: CARDINAL; _path: ARRAY OF CHAR): INTEGER;
  88. ***** ^ not supported yet
  89. 67 PROCEDURE spawnve(_mode: CARDINAL; _path: ARRAY OF CHAR): INTEGER;
  90. ***** ^ not supported yet
  91. 68 PROCEDURE spawnvp(_mode: CARDINAL; _path: ARRAY OF CHAR): INTEGER;
  92. ***** ^ not supported yet
  93. 69 PROCEDURE spawnvpe(_mode: CARDINAL; _path: ARRAY OF CHAR): INTEGER;
  94. ***** ^ not supported yet
  95. 70 PROCEDURE system(_command: ARRAY OF CHAR): INTEGER;
  96. ***** ^ not supported yet
  97. 71 (*# restore *)
  98. 72
  99. 73 (*%T _mthread *)
  100. 74
  101. 75 CONST
  102. 76 MAXTHREAD = 32;
  103. 77 MaxProcess = 32;
  104. 78
  105. 79 TYPE
  106. 80 tm = RECORD
  107. 81 tm_sec,
  108. 82 tm_min,
  109. 83 tm_hour,
  110. 84 tm_mday,
  111. 85 tm_mon,
  112. 86 tm_year,
  113. 87 tm_wday,
  114. 88 tm_yday,
  115. 89 tm_isdst: CARDINAL;
  116. 90 END;
  117. ***** ^ not supported yet
  118. 91 thread = RECORD
  119. 92 error: INTEGER;
  120. 93 _asct_buf: ARRAY[0..27] OF CHAR;
  121. ***** ^ not supported yet
  122. ***** ^ not supported yet
  123. 94 _tm_buf: tm;
  124. 95 token: POINTER TO CHAR;
  125. ***** ^ not supported yet
  126. 96 END;
  127. ***** ^ not supported yet
  128. 97 PROCESS = ADDRESS;
  129. ***** ^ undeclared identifier
  130. 98 _TaskDescriptorPtr = POINTER TO _TaskDescriptor;
  131. ***** ^ undeclared identifier
  132. 99 _SigRec = RECORD
  133. 100 count: INTEGER;
  134. 101 waiting: _TaskDescriptorPtr;
  135. 102 END;
  136. ***** ^ not supported yet
  137. 103 SIGNAL = POINTER TO _SigRec;
  138. ***** ^ not supported yet
  139. 104 _TaskDescriptor = RECORD
  140. 105 next: _TaskDescriptorPtr;
  141. 106 priority: CARDINAL;
  142. 107 cor: PROCESS;
  143. 108 due: CARDINAL;
  144. 109 wsp: ADDRESS;
  145. ***** ^ undeclared identifier
  146. 110 wspsize: CARDINAL;
  147. 111 nextdue: _TaskDescriptorPtr;
  148. 112 END;
  149. ***** ^ not supported yet
  150. 113 Task = POINTER TO TaskDescriptor;
  151. ***** ^ undeclared identifier
  152. 114
  153. 115 PROCEDURE StartProcess(_entry:PROC;_N,_Pr: CARDINAL);
  154. ***** ^ undeclared identifier
  155. 116 (*# save *)
  156. 117 (*# call(reg_saved=>(ds,di,si,st1,st2)) *)
  157. 118 PROCEDURE StartScheduler;
  158. 119 PROCEDURE StopScheduler;
  159. 120 PROCEDURE StopProcess;
  160. 121 PROCEDURE SEND(_s: SIGNAL);
  161. 122 PROCEDURE WAIT(_s: SIGNAL);
  162. 123 PROCEDURE Notify(_s: SIGNAL);
  163. 124 PROCEDURE Awaited(_s: SIGNAL): INTEGER;
  164. 125 PROCEDURE Init(VAR _s: SIGNAL);
  165. 126 PROCEDURE Delay(_T: CARDINAL);
  166. 127 (*# restore *)
  167. 128
  168. 129 PROCEDURE Lock;
  169. 130 PROCEDURE Unlock;
  170. 131
  171. 132 (*%E *)
  172. 133
  173. 134 END cprocess.
  174. ***** ^ not supported yet
  175. 39 errors