// Page stuff

structure DocG :
//Holds information for entire document
[
linkword// Spooler uses to link document requests
nPages word//Number of pages to print
= printerDirective word
nCopiesword
UserPageStartword//User directive about page range
UserPageEndword
date word 2 = [ // Alto format, date of creation
date0 word // was XOffset, now a static (global to all docs)
date1 word // was YOffset
]
id word 2
ScaleOffsetword

PressFileword//Pointer to file structure
CreatStrword 16//Creator or Printed-for
ByStrword 16//Printed-by if different
FileStrword 25
FileHostword// net,,host
DateStrword 20
Password↑0,11 byte

// Used only by spooler
spoolStatus bit 5 =
[
needsPassword bit// do not (re)print until password enterred
printed bit// PressFile’s pages can be re-used
available bit// Pages have been released for use
inProgress bit// printer returned to spooler before completing this
invalid bit// PressFile’s pages have been overwritten.
]
protected bit
duplex bit
blank bit 9 //place for bin selection, tsc requests??????????
reportStr word// String describing spooler’s success -- unused so far
reportCode word// Code describing same

// Used only by printer program (alternate defs for EL, DL, temp usage of nParts used by spooler)
nFontLoadsword//Number of different font loads
ELword= waitTime word // used for printing priority by spooler
DLword= priority word// ditto
nPartsword// ditto
Pagesword//Pointer to PageG structures
Fontsword//Pointer to FontG structures
RevAttributes word//Pointer to RevolutionAttributes structures
partStartword 2//Where part directory begins
fontListword//List of FN’s for this file
fontLoadList word//List of FI’s for this file
ICCtotalword//Total number of ICC’s needed
]
manifest lenDocG = size DocG/16
manifest [ STATNeedsPassword = 8; STATPrinted = 4; STATAvail = 2; STATInProg = 1; STATPending = 0 ] // spool statuses

structure PageG :
//Page Goodie block
[
nRecordsword//Number of records for this page’s bands
bandPosword//Record number in band file for this page
fontLoadbyte//Which font load should be used
blank bit 2
color bit 2// Puffin: 0=magenta, 1=yellow, 2=cyan, 3=black [exclusive]
paperAction bit 2// Puffin: 0=noAction, 1=feed, 2=strip [combinable]
whichSide bit 2// Penguin: 0=firstSide, 1=secondSide, 2=onlySide
]

structure FontG :
//Font load goodies
[
nRecordsword//Number of records for this font load
bandPosword//Record number in band file for this font load
fontLengthword//Number of words character part
]

// December 3, 1978 4:37 PM derived from Spruce.d
// July 23, 1979 2:10 PM, add stuff for password
// October 3, 1979 3:45 PM, revise pageG structure, delete RevAttr structure
// January 18, 1980 12:05 PM, put ’duplex’ bit in DocG
// October 1, 1982 11:52 AM put ’invalid’ bit in DocG, subtracted from (unused) ’blank’ field