416B SaveND500Segment¶
Validated MON 416B (270 decimal) · Mnemonic WSEGN · Group: Segment Administration (manual section 2.12)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_416B_SaveND500Segment.c
Description¶
Writes all modified pages of a segment back to the disk.
- Not allowed when fixed in memory.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
LogSegmentNo |
INTEGER2 | In | Logical segment number in the domain. If 0, the segment number is retrieved from the parameter address. |
FirstPage |
INTEGER2 | In | First logical page in the segment. |
LastPage |
INTEGER2 | In | Last logical page in the segment. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-500 | All users | All 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 |
|---|---|---|---|---|
| No | Yes | No | No | No |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : LogSegmentNo, FirstPage, LastPage
...
ON ROUTINEERROR DO
IF ErrCode > 0 THEN ...
ENDON
Monitor_Call('SaveND500Segment', LogSegmentNo, FirstPage, LastPage)
INTEGER LogSegmentNo, FirstPage, LastPage
...
Monitor_Call('SaveND500Segment', LogSegmentNo, FirstPage, LastPage)
IF (ErrCode .NE. 0) THEN ...
LogSegmentNo, FirstPage, LastPage : LONGINT;
...
SaveND500Segment(LogicalSegmentNo, FirstPage, LastPage);
IF ErrCode <> 0 THEN ...
01 LogSegmentNo COMP.
01 FirstPage COMP.
01 LastPage COMP.
01 ErrCode COMP.
...
MONITOR-CALL "SaveND500Segment" USING LogSegmentNo, FirstPage, LastPage.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
LogSegmentNo : W BLOCK 1
FirstPage : W BLOCK 1
LastPage : W BLOCK 1
ErrCode : W BLOCK 1
SaveND500Segment : EQU 37B9 + 416B
...
CALLG SaveND500Segment, 3, LogSegmentNo, FirstPage, LastPage
IF K GO ERROR
...
ERROR : W1 =: ErrCode %ErrorCode in W1 register.
ndmonlib implementation¶
Validated Registered MON_STATUS_VALIDATED in src/core/mon_registry.c: implemented, tested and working.
| Handler | mon_416B_SaveND500Segment |
| Code lines | 30 (non-blank, non-comment lines in the file) |
Notes from the handler source¶
src/handlers/mon_416B_SaveND500Segment.c line 45
Flush every open file connected as this segment (LogSegmentNo==0 -> all).
Writes are already write-through, so this makes the host file bytes durable
the same way 412B does before mapping.
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 421.