; IfsCalls.asm
; Copyright Xerox Corporation 1979, 1982
; Last modified April 23, 1982  5:39 PM by Taft
; Derived from Calls.asm,
; Last modified October 27, 1981  2:42 PM by Boggs

.bext Call0, Call1, Call2, Call3, Call4, Call5, Call6, Call7, Call8, Call9
.bext Call10, Call11, Call12, Call13, Call14, Call15
.bext Closes, Gets, Puts, Resets, Putbacks, Errors, Endofs, Stateofs
.bext ActOnDiskPages, WriteDiskPages, CreateDiskFile, DeleteDiskPages
.bext AssignDiskPage, ReleaseDiskPage, VirtualDiskDA, RealDiskDA
.bext InitializeDiskCBZ, DoDiskCommand, GetDiskCb, CloseDisk
.bext OpenDD, LockDD, ReadDDPage, UnlockDD, FlushDD, CloseDD, DestroyDDMgr
.bext Allocate, Free

	.srel

; Generic "calls"

Call0:	.call0
Call1:	.call1
Call2:	.call2
Call3:	.call3
Call4:	.call4
Call5:	.call5
Call6:	.call6
Call7:	.call7
Call8:	.call8
Call9:	.call9
Call10:	.call10
Call11:	.call11
Call12:	.call12
Call13:	.call13
Call14:	.call14
Call15:	.call15

; "Stream" equivalents:

Closes:	.call2
Gets:	.call3
Puts:	.call4
Resets:	.call5
Putbacks: .call6
Errors: .call7
Endofs: .call8
Stateofs: .call9

; "BFS" equivalents:

ActOnDiskPages:	.call0
WriteDiskPages:	.call1
CreateDiskFile:	.call2
DeleteDiskPages: .call3
AssignDiskPage:	.call4
ReleaseDiskPage: .call5
VirtualDiskDA:	.call6
RealDiskDA:	.call7
InitializeDiskCBZ: .call9
DoDiskCommand:	.call10
GetDiskCb:	.call14
CloseDisk:	.call15

; "TFS/BFS DDMgr" equivalents:

OpenDD:		.call0
LockDD:		.call1
ReadDDPage:	.call2
UnlockDD:	.call3
FlushDD:	.call4
CloseDD:	.call5
DestroyDDMgr:	.call6

; Storage Allocator equivalents:
Allocate:	.call0
Free:		.call1

	.nrel

; The instruction
;	ObjCall n
; jumps to the procedure at @(AC0+n)
; Unlike the standard Calls mechanism, this one enters the called procedure
; at instruction 0 rather than instruction 1, and does not clobber AC3.

.dmr ObjCall = 65400

.call0:	ObjCall 0

.call1:	ObjCall 1

.call2:	ObjCall 2

.call3:	ObjCall 3

.call4:	ObjCall 4

.call5:	ObjCall 5

.call6:	ObjCall 6

.call7:	ObjCall 7

.call8:	ObjCall 8.

.call9:	ObjCall 9.

.call10: ObjCall 10.

.call11: ObjCall 11.

.call12: ObjCall 12.

.call13: ObjCall 13.

.call14: ObjCall 14.

.call15: ObjCall 15.

	.end