TYPES
QueueStage:
TYPE = { spooling, spooledLow, spooledNormal, spooledHigh, decomposing, decomposed, marking, marked, merging, merged, forwarding, forwarded, temp, bannerOnly, retrySpooled, retryDecomposed, retransmit, hold, aborted, errors, tpSpooled, tpDecomposed, tpMerged, tpInactive, inactive};
Defines the current subdivisions of the print queue; indicates the current status of a print job; the 'inactive' queue stage is where queue objects get recycled, i.e. completed jobs are put there and the oldest one is recycled when a new job is received.
QueueObject:
TYPE =
MACHINE
DEPENDENT
RECORD [
fileID(0): FS.OpenFile ← FS.nullOpenFile, --for PrintObject
fileName(2): NSString.String ← NSString.nullString,
user defined name of object ← [bytes:@fileNameBody]
localFileName(4): NSString.String ← NSString.nullString,
of PrintObject ←[bytes:@localFileNameBody]
sender(6): NSString.String ← NSString.nullString,
client who sent object ←[bytes:@senderBody]
recipient(8): NSString.String ← NSString.nullString,
designated by sender ←[bytes:@recipientBody]
operatorMsg(10): NSString.String ← NSString.nullString,
designated by sender; used for FAX phone nos in 8.0/NSPrint 3.0 ←[bytes:@operatorMsgBody]
errorMsg(12): NSString.String ← NSString.nullString, -- ←[bytes:@errorMsgBody]
uid(14): System.UniversalID ← System.nullID, --equivalent to requestID in NSPrint
fileSize(19): LONG CARDINAL ← 0, --size in bytes of object
fileTypeHint(21): PrintFileType ← unknown,
numberCopies(22): CARDINAL ← 1,
firstPageToPrint(23): CARDINAL ← 1,
lastPageToPrint(24): CARDINAL ← LAST[CARDINAL],
paper(25): PaperTypes.Paper ← [],
twoSided(28): BOOLEAN ← FALSE,
staple(29): BOOLEAN ← FALSE,
priority(30): Priority ← normal,
releaseKey(31): CARDINAL ← LAST[CARDINAL],
fileCreateDate(32): BasicTime.GMT ← BasicTime.nullGMT, --date and time of creation of interpress file
fileQueuedDate(34): BasicTime.GMT ← BasicTime.nullGMT, --date and time file is queued on print service
startDecomposeDate(36): BasicTime.GMT ← BasicTime.nullGMT, --date and time when decomposition of file began
decomposeTime(38): LONG CARDINAL ← 0, --elapsed time in seconds for file in decomposer
markTime(40): LONG CARDINAL ← 0, --elapsed time in seconds for file in marker (or merger for feps9700)
completionDate(42): BasicTime.GMT ← BasicTime.nullGMT, --date and time processing completed on file
sourceSystemElement(44): XNS.Address ← XNS.unknownAddress, --sent from
printObjectHandle(50): PrintObjectHandle ← nilPrintObjectHandle, --for Decompose.Handle
platesDecomposed(52): CARDINAL ← 0,
currentStatus(53): ObjectStatus ← null,
priorStatus(54): ObjectStatus ← null, --for retries and banner only
bannerOnly(55): BOOLEAN ← FALSE, --TRUE for banner only jobs
deleteInactiveFile(56): BOOLEAN ← TRUE, --FALSE for Test Pattern files, which should not be deleted
fileNameBody(57): PACKED ARRAY StringBody OF CHAR ← ALL[blank],
localFileNameBody(107): PACKED ARRAY StringBody OF CHAR ← ALL[blank],
senderBody(157): PACKED ARRAY StringBody OF CHAR ← ALL[blank],
recipientBody(207): PACKED ARRAY StringBody OF CHAR ← ALL[blank],
operatorMsgBody(257): PACKED ARRAY StringBody OF CHAR ← ALL[blank],
errorMsgBody(307): PACKED ARRAY StringBody OF CHAR ← ALL[blank],
optionVariant(357):
SELECT option(357): PrintingTypes.Option
FROM
fax495 => [
localPrintStatus(358): FaxLocalPrintStatus ← null,
localPrintCompletionDate(359): BasicTime.GMT ← BasicTime.nullGMT,
phoneNoCount(361): [0..maxFaxPhoneNos] ← 0,
number of phone numbers provided
transmitData(362):
ARRAY [0..maxFaxPhoneNos)
OF FaxMitData ←
ALL[]
status of each transmission attempt
],
feps9700 => [
ivFileID(358):
FS.OpenFile ←
FS.nullOpenFile,
interleaved Interpress file to be forwarded
targetRequestID(360): System.UniversalID ← System.nullID,
request ID returned by target PS when document is forwarded
forwardingStatus(365): TargetPSStatus.Communication ← okay
status of document forwarding (if we are at or past that stage)
],
bansheeDl, d1, fax295, fx3500, raven, unknown => [],
ENDCASE
QueueObjectHandle: TYPE = REF QueueObject;
NewObjectQueuedProc: TYPE = PROCEDURE; --for notification purposes (see QueueWatcher).
PrintObjectHandle: TYPE = REF ANY;
Errortype: TYPE = {invalidQueueObject, malformedQueue, nullQueueObject, multipleWatchers, unspecified};
PrintFileType: TYPE = {unknown, xeroxEncoding1, interpress10};
Priority: TYPE = {low, normal, high};
ObjectStatus:
TYPE = {
restart, spooling, spooled,
decomposing, decomposed, marking, printed,
merging, merged, forwarding, forwarded,
canceledInDecomposer, canceledInMarker,
canceledInMerger, canceledInForwarder, canceledInQueue,
spoolFailure, decomposeFailure, markFailure,
mergeFailure, forwardFailure,
--for startup:-- sysRestartInSpooler, sysRestartInDecomposer,
sysRestartInMarker, sysRestartInMerger,
sysRestartInForwarder, sysRestartInQueue,
faxInProgress, faxCompleted, faxCanceled, faxAborted,
held, null};
FaxMitStatus:
TYPE = {
queued, transmitting, transmitted, canceled, busy, noAnswer, transmitError, invalidPhoneNumber, localFaxFailure, purgedAtSysRestart, null};
Indicates the status of a transmit request to a specific phone number; 'queued' indicates the document has not reached the marking phase (it may be decomposing); 'null' indicates there is no transmit request; 'transmitError' means unexpected response or other retriable error.
FaxLocalPrintStatus:
TYPE = {
queued, marking, printed, canceled, localFaxFailure, purgedAtSysRestart, null};
Indicates the status of local fax printing; 'queued' indicates the document has not reached the marking phase (it may be decomposing); 'null' indicates there is no local print request.
FaxMitData:
TYPE =
RECORD [
phoneNumber: NSString.String ← NSString.nullString, -- ←[bytes:@phoneNumberBody]
status: FaxMitStatus ← null,
retryCount: CARDINAL ← 0, --number of retries so far
queuedForRetry: BOOLEAN ← FALSE,
completionDate: BasicTime.GMT ← BasicTime.nullGMT, --date and time of successful transmit or transmit failure.
elapsedTime: LONG CARDINAL ← 0, --duration of phone call(s) in seconds.
errorCode: NSString.String ← NSString.nullString, --valid if status is transmitError or localFaxFailure
phoneNumberBody: PACKED ARRAY [0..maxPhoneNoLength) OF CHAR ← ALL[blank],
errorCodeBody: PACKED ARRAY [0..4) OF CHAR ← ALL[blank]
];
RelativePosition: TYPE = {front, back};
ObjectStringField: TYPE = {fileName, localFileName, sender, recipient, operatorMsg, errorMsg};
StatsRecord:
TYPE =
RECORD [
statsFrom: BasicTime.GMT ← BasicTime.nullGMT,
inconsistantAtInit: CARDINAL,
activity: QueueActivity ← ALL[0]];