124B ForceReserve¶
Stub MON 124B (84 decimal) · Mnemonic PRSRV · Group: RT Program Execution (manual section 2.10)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_124B_ForceReserve.c
Description¶
Reserves a device for an RT program other than that which is calling. Use ForceRelease if the device is already reserved.
- You can only release peripheral devices, such as terminals and printers, and semaphores in this way.
- Programs in a waiting queue may reserve the device between your ForceRelease and ForceReserve calls if they have higher priority than your program.
- The SINTRAN III Real Time Guide (ND-860133) describes this in more detail.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DeviceNo |
INTEGER2 | In | Logical device number. See appendix B. |
IOFlag |
INTEGER2 | In | Input/output flag. 0=input part, 1=output part. |
RTProgram |
INTEGER2 | In | RT description address of the RT program to reserve the device. Use 0 for your own program. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
ForceRelease, ReserveResource, and @PRSRV
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 and ND-500 | User RT and user SYSTEM | RT programs |
The manual's compatibility box for this call, word for word.
Yes/no fields from the YAML extraction (not in the manual's words):
| ND-100 | ND-500 | User programs | RT programs | System programs |
|---|---|---|---|---|
| Yes | Yes | Yes | Yes | No |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : DeviceNo, IOFlag, RTProgram, Stat
...
Monitor_Call('ForceReserve', DeviceNo, IOFlag, RTProgram, Stat)
INTEGER DeviceNo, IOFlag, RTProgram, Stat
...
Monitor_Call('ForceReserve', DeviceNo, IOFlag, RTProgram, Stat)
DeviceNo, IOflag, RTProgram, Stat : INTEGER2;
...
PrivReserve(DeviceNo, IOflag, RTProgram, Stat); [Note routine name.]
01 DeviceNo COMP.
01 IOFlag COMP.
01 RTProgram COMP.
01 Stat COMP.
...
MONITOR-CALL "ForceReserve" USING DeviceNo, IOFlag, RTProgram, Stat.
DeviceNo : W BLOCK 1
IOFlag : W BLOCK 1
RTProgram : W BLOCK 1
ForceReserve : EQU 3789 + 124B
...
CALLG ForceReserve, 3, DeviceNo, IOFlag, RTProgram
LDA (PAR %Load register A with address of parameter list.
MON 124 %Monitor call ForceReserve.
STA STAT %Store status returned.
...
STAT, 0
PAR, DEVNO %Logical device number.
IOF %Input or Output flag.
RTPRO %Address of RT description.
...
DEVNO, ...
IOF, ...
RTPRO, ...
ndmonlib implementation¶
Stub Registered MON_STATUS_NOT_IMPLEMENTED: the handler is a stub. mon_dispatch() in src/core/mon_dispatch.c reports the call as unimplemented without calling it.
| Handler | mon_124B_ForceReserve |
| Code lines | 8 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 211.