• Aucun résultat trouvé

VMBounds: TYPE a RECORD [ffvmp, lfvmp: CARDINAL]: FakeSegmentHandle: TYPE· POINTER TO FakeSegmentObject

N/A
N/A
Protected

Academic year: 2022

Partager "VMBounds: TYPE a RECORD [ffvmp, lfvmp: CARDINAL]: FakeSegmentHandle: TYPE· POINTER TO FakeSegmentObject"

Copied!
1
0
0

Texte intégral

(1)

FakeSegDefs.mesa 2-Sep-78 12:43:04

-- FakeSegDefs.mesa Edited by: Sandman, February 3, 1978 10:02 AM DIRECTORY

SegmentDefs: FROM "segmentdefs", AltoDefs: FROM "altodefs", WartDefs: FROM "wartdefs";

DEFINITIONS FROM SegmentDefs, AltoDefs:

FakeSegDefs: DEFINITIONS a

BEGIN

DefaultBase: PageNumber • SegmentDefs.DefaultBase:

DefaultPages: PageCount • SegmentDefs.DefaultPages;

DefaultFile: FileHandle • NIL;

VMBounds: TYPE a RECORD [ffvmp, lfvmp: CARDINAL]:

FakeSegmentHandle: TYPE· POINTER TO FakeSegmentObject;

FakeSegmentObject: TYPE· RECORD [ File: FileHandle,

Type: PRIVATE {free. file. window}.

Class: FileSegmentClass.

Access: AccessOptions, SwappedIn: BOOLEAN.

CopyToImage: BOOLEAN.

Base: PageNumber, Pages: PageCount, VMaddress: Address.

Link: FakeSegmentHandle.

LockCount: PRIVATE INTEGER.

TrueFile: FileHandle, ImageBase: PageNumber.

Link2: FileSegmentHandle.

BootLink: PRIVATE POINTER];

FakeInvalidSegment: ERROR [s:POINTER];

Page 1

FakeNewSegment: PROCEDURE [file:FileHandle. base:PageNumber, pages:PageCount. access:AccessOptions] R

·*ETURNS [FakeSegmentHandle];

FakeDeleteSegment: PROCEDURE [segment:FakeSegmentHandle];

FakeTooManySegments: SIGNAL;

FakeInvalidSegmentSize: ERROR;

FakeInsufficientVM: SIGNAL [needed:PageCount];

FakeVMNotFree: SIGNAL [base:PageNumber. pages:PageCount];

FakeSwapError: ERROR [segment:FakeSegmentHandle];

FakeSwapln, FakeUnlock, FakeSwapOut: PROCEDURE [segment:FakeSegmentHandle];

FakeEnumerateSegments: PROCEDURE [

proc:PROCEDURE[FakeSegmentliandle]RETURNS[BOOLEAN]] RETURNS [FakeSegmentHandle];

FakeFileHandle: TYPE a POINTER TO FakeFileObject;

FakeFileObject: TYPE a RECORD [ File: FileHandle,

InUse: PRIVATE BOOLEAN, ShouldOpen: BOOLEAN, Access: AccessOptions, BootLink: PRIVATE POINTER];

FakeTooManyFiles: SIGNAL;

FakeInitFileMachinery: PROCEDURE;

FakelnsertFile: PROCEDURE [seg:FakeSegmentHandle] RETURNS [BOOLEAN];

FakeInitSegMachinery: PROCEDURE [PageNumber, PageNumber];

FakeEnumerateFiles: PROCEDURE [

proc:PROCEDURE[FakeFileHandle]RETURNS[BOOLEAN]] RETURNS [FakeFileHandle]:

DeclareMemoryBounds: PROCEDURE [CARDINAL, CARDINAL];

GetVMBounds: PROCEDURE RETURNS [VMBounds];

SetSegmentBootLink: PROCEDURE [FakeSegmentHandle. WartDefs.Bootlndex];

GetSegmentBootLink: PROCEDURE [FakeSegmentHandle] RETURNS [WartDefs.SegmentBootlndax];

END.

Références

Documents relatifs

Abstracting from the matrix model of pointer Kleene algebra we now define some fundamental notions and explain special operations of the algebra.. The basic algebraic structure

The toolkit is based on a simulator, designed to be highly configurable, modular and extensible, allowing the user to test different configurations by combining a number of

These findings contribute to the current body of Canadian research on the characteristics of private career college students, particularly the decision making factors that

Bulletin technique n o : W11482561 Mesure corrective : obligatoire Date de publication : juillet 20204. Produits

InitCoreCache: PROCEDURE [name: STRING, FirstVMPage, LastVMPage: PageNumber];. CloseCoreCache:

[r]

EventVector: PUBLIC POINTER TO WORD, UserName: PUBLIC POINTER TO bcplSTRING, UserPassword: PUBLIC POINTER TO bcplSTRING, OsFinish: POINTER.. OsFinishCode: PUBLIC

Or, toutes ces entreprises spécialisées ont leur clientèle en Suisse, et leurs prix, du reste fixés dans des tarifs conventionnels, sont soumis au Contrôle fédéral des prix ;