| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- Listing:
- 1 (* Release 3.10 *)
- 2 (*-------------------------------------------------------------------------*
- 3 * *
- 4 * COREPROC.DEF - Modula-2 interface to COREPROC.A *
- 5 * *
- 6 * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- 7 * All Rights Reserved *
- 8 * *
- 9 *--------------------------------------------------------------------------*)
- 10
- 11 (*# call(o_a_size => off,
- 12 o_a_copy=>off,
- 13 c_conv=>on,
- 14 result_optional=>on) *)
- 15 (*# module(implementation=>off, init_code => off) *)
- 16
- 17 (*# name(prefix => c) *)
- 18
- 19 DEFINITION MODULE CoreProc;
- 20
- 21 IMPORT SYSTEM;
- 22
- 23 TYPE
- 24 StackHandle = CARDINAL;
- 25 StackHandlePtr = POINTER TO StackHandle;
- ***** ^ not supported yet
- 26
- 27 Task = POINTER TO TaskDescriptor;
- ***** ^ undeclared identifier
- 28 TaskDescriptor = RECORD
- 29 next : Task; (* queue of waiting Process *)
- 30 priority : CARDINAL; (* NB = actual priority+1 *)
- 31 cor : SYSTEM.PROCESS;
- ***** ^ not supported yet
- 32 due : CARDINAL;
- 33 wsp : ADDRESS;
- ***** ^ undeclared identifier
- 34 wspsize : CARDINAL;
- 35 nextdue : Task;
- 36 END;
- ***** ^ not supported yet
- 37 (*# save *)
- 38 (*# call(near_call=>off) *)
- 39 ThreadProc = PROCEDURE(FarADDRESS);
- ***** ^ not supported yet
- ***** ^ undeclared identifier
- 40 (*# restore *)
- 41
- 42 (*# save *)
- 43 (*# call(near_call=>off, c_conv=>off) *)
- 44 ProcessProcType = PROCEDURE;
- ***** ^ not supported yet
- 45 (*# restore *)
- 46
- 47 DelayProcType = PROCEDURE(CARDINAL);
- ***** ^ not supported yet
- ***** ^ not supported yet
- 48
- 49 CONST
- 50 MaxProcess = 32;
- 51
- 52 VAR
- 53 (*# save *)
- 54 (*# data(volatile => on) *)
- 55 _ProcIds : ARRAY [0..MaxProcess] OF CARDINAL;
- ***** ^ not supported yet
- ***** ^ not supported yet
- 56 _LastProc : [0..MaxProcess];
- ***** ^ not supported yet
- 57 _Started : BOOLEAN;
- 58 _LockSem : LONGCARD;
- ***** ^ undeclared identifier
- 59 _LockCount : CARDINAL;
- 60 _LockedThread : CARDINAL;
- 61
- 62 _core_lock : ProcessProcType;
- 63 _core_unlock : ProcessProcType;
- 64 _core_delay : DelayProcType;
- 65 _exit_proc : ProcessProcType;
- 66 _SchedProc : SYSTEM.PROCESS;
- ***** ^ not supported yet
- 67 _Continue : ProcessProcType;
- 68 _proc_init : BOOLEAN;
- 69 Stop : BOOLEAN;
- 70 _LockNestMonster : CARDINAL;
- 71 _SchedTime : CARDINAL;
- 72 _NextThread : CARDINAL;
- 73 _cp: Task; (* currently active task + ready queue *)
- ***** ^ not supported yet
- 74 _dq: Task; (* queue of delayed tasks *)
- ***** ^ not supported yet
- 75 _wq: Task; (* queue of tasks that have reached thier delay time
- ***** ^ not supported yet
- 76 but haven't been placed on the ready queue *)
- 77 _SchedStack: ADDRESS;
- ***** ^ undeclared identifier
- 78 (*# restore *)
- 79
- 80 PROCEDURE _beginthread(P: ThreadProc; Stack: FarADDRESS; Size: CARDINAL;
- ***** ^ undeclared identifier
- 81 Arg: FarADDRESS);
- ***** ^ undeclared identifier
- 82 PROCEDURE _endthread();
- 83 PROCEDURE _getTID(): CARDINAL;
- 84 PROCEDURE getpid(): CARDINAL;
- 85
- 86 PROCEDURE _dosbeginthread(P: PROC; Stlen: CARDINAL; Stkvar: StackHandlePtr): CARDINAL;
- ***** ^ undeclared identifier
- 87 PROCEDURE _dosendthread();
- 88 PROCEDURE _dosfreestack(Stack: StackHandle);
- 89
- 90 END CoreProc.
- ***** ^ not supported yet
- 23 errors
|