DR11WHeadSunImpl.mesa
Copyright Ó 1989, 1991 by Xerox Corporation. All rights reserved.
Dave Rumph, May 4, 1989 1:52:47 pm PDT
Sun implementation of DR11WFace, the PCedar1.2 Face for the Ikon DR11W interface, model 10089. Currently implemented on only on Suns.
DIRECTORY
DR11WFace;
DR11WHeadSunImpl: CEDAR PROGRAM
EXPORTS DR11WFace
~ BEGIN OPEN DR11WFace;
Initialize: PUBLIC PROC RETURNS [ok: BOOL] ~ {
Do whatever setup is required before the Versatec port can be accessed.
DoIt: PROC RETURNS [ok: BOOL] ~ TRUSTED MACHINE CODE {
"DRInitialize"
};
RETURN[DoIt[]];
};
Finalize: PUBLIC PROC ~ {
Do whatever shutdown is required after the Versatec port access is done.
DoIt: PROC ~ TRUSTED MACHINE CODE {
"DRFinalize"
};
DoIt[];
};
Ready: PUBLIC PROC RETURNS [ready: BOOL] ~ {
DoIt: PROC RETURNS [ready: BOOL] ~ TRUSTED MACHINE CODE {"DRReady"};
RETURN[DoIt[]];
};
Reset: PUBLIC PROC ~ {
Reset the Versatec printer.
DoIt: PROC ~ TRUSTED MACHINE CODE {
"DRReset"
};
DoIt[];
};
AddToControl: PUBLIC PROC [flags: WORD16] ~ {
Set the mode.
DoIt: PROC [flags: WORD16] ~ TRUSTED MACHINE CODE {
"DRSetControl"
};
DoIt[flags];
};
ClearFromControl: PUBLIC PROC [flags: WORD16] ~ {
Set the mode.
DoIt: PROC [flags: WORD16] ~ TRUSTED MACHINE CODE {
"DRClearControl"
};
DoIt[flags];
};
AddToControlOnWrite: PUBLIC PROC [flags: WORD16] ~ {
Set the mode.
DoIt: PROC [flags: WORD16] ~ TRUSTED MACHINE CODE {
"DRSetOnWrite"
};
DoIt[flags];
};
ClearFromControlOnWrite: PUBLIC PROC [flags: WORD16] ~ {
Set the mode.
DoIt: PROC [flags: WORD16] ~ TRUSTED MACHINE CODE {
"DRClearOnWrite"
};
DoIt[flags];
};
SendOneWord: PUBLIC PROC [data: WORD16] RETURNS [ok: BOOL] ~ {
Sends one 16-bit word to the interface, waiting for completion.
DoIt: PROC [data: WORD16] RETURNS [ok: BOOL] ~ TRUSTED MACHINE CODE {
"DRSendOneWord"
};
RETURN[DoIt[data]];
};
SendBuffer: PUBLIC PROC [addr: BufferAddress, bytes: CARD] RETURNS [ok: BOOL] ~ {
Send bytes-length data starting at addr. It waits 'til the transfer is finished before returning.
DoIt: PROC [addr: BufferAddress, bytes: CARD] RETURNS [ok: BOOL] ~ TRUSTED MACHINE CODE {
"DRSendBuffer"
};
RETURN[DoIt[addr, bytes]];
};
Abort: PUBLIC PROC ~ {
Try to abort the transfer of data to the Versatec.
DoIt: PROC ~ TRUSTED MACHINE CODE {
"DRAbort"
};
DoIt[];
};
Init: PROC ~ TRUSTED MACHINE CODE {
Start up the Slave IOP down in the underlying C code.
"DRStartUp"
};
Init[];
END.