; File:  AIIGSRecords.aii 
;
;
; Copyright Apple computer, Inc.  1986-89 
; All Rights Reserved 
;
;
Str255 RECORD 0 ; Types
textLength  DS.B 1 ; Byte - 
text  DS.B 255 ; char[255] - 
  ENDR

Str32 RECORD 0 ; Types
length  DS.B 1 ; Byte -  
text  DS.B 32 ; char[32] -  
  ENDR

Point RECORD 0 ; Types
v  DS.B 2 ; short - 
h  DS.B 2 ; short - 
  ENDR

Rect RECORD 0 ; Types
v1  DS.B 2 ; short - 
h1  DS.B 2 ; short - 
v2  DS.B 2 ; short - 
h2  DS.B 2 ; short - 
  ENDR

TimeRec RECORD 0 ; Types
second  DS.B 1 ; Byte - 
minute  DS.B 1 ; Byte - 
hour  DS.B 1 ; Byte - 
year  DS.B 1 ; Byte - 
day  DS.B 1 ; Byte - 
month  DS.B 1 ; Byte - 
extra  DS.B 1 ; Byte - 
weekDay  DS.B 1 ; Byte - 
  ENDR

Cursor RECORD 0 ; Quickdraw
cursorHeight  DS.B 2 ; Word - size in bytes
cursorWidth  DS.B 2 ; Word - enclosing rectangle
cursorData  DS.B 2 ; Word[1] -  
cursorMask  DS.B 2 ; Word[1] -  
cursorHotSpot  DS Point ; Point -  
  ENDR

Region RECORD 0 ; Quickdraw
rgnSize  DS.B 2 ; word - size in bytes
rgnBBox  DS Rect ; Rect - enclosing rectangle
  ENDR

BufDimRec RECORD 0 ; Quickdraw
maxWidth  DS.B 2 ; Word - 
textBufHeight  DS.B 2 ; Word - 
textBufferWords  DS.B 2 ; Word - 
fontWidth  DS.B 2 ; Word - 
  ENDR

Font RECORD 0 ; Quickdraw
offseToMF  DS.B 2 ; Word - fully defined front of the Font record.
family  DS.B 2 ; Word - 
style  DS.B 2 ; TextStyle - 
size  DS.B 2 ; Word - 
version  DS.B 2 ; Word - 
fbrExtent  DS.B 2 ; Word - 
highowTLoc  DS.B 2 ; Word -  
  ENDR

FontGlobalsRecord RECORD 0 ; Quickdraw
fgFontID  DS.B 2 ; Word - currently 12 bytes long, but may be expanded
fgStyle  DS.B 2 ; TextStyle - 
fgSize  DS.B 2 ; Word - 
fgVersion  DS.B 2 ; Word - 
fgWidMax  DS.B 2 ; Word - 
fgFBRExtent  DS.B 2 ; Word - 
  ENDR

FontID RECORD 0 ; Quickdraw
famNum  DS.B 2 ; Word - 
fontStyle  DS.B 1 ; Byte - 
fontSize  DS.B 1 ; Byte - 
  ENDR

FontInfoRecord RECORD 0 ; Quickdraw
ascent  DS.B 2 ; integer - 
descent  DS.B 2 ; integer - 
widMax  DS.B 2 ; integer - 
leading  DS.B 2 ; integer - 
  ENDR

LocInfo RECORD 0 ; Quickdraw
portSCB  DS.B 2 ; Word - SCBByte in low byte
ptrToPixImage  DS.B 4 ; Pointer - ImageRef
width  DS.B 2 ; Word - Width
boundsRect  DS Rect ; Rect - BoundsRect
  ENDR

QDProcs RECORD 0 ; Quickdraw
stdText  DS.B 4 ; VoidProcPtr - 
stdLine  DS.B 4 ; VoidProcPtr - 
stdRect  DS.B 4 ; VoidProcPtr - 
stdRRect  DS.B 4 ; VoidProcPtr - 
stdOval  DS.B 4 ; VoidProcPtr - 
stdArc  DS.B 4 ; VoidProcPtr - 
stdPoly  DS.B 4 ; VoidProcPtr - 
stdRgn  DS.B 4 ; VoidProcPtr - 
stdPixels  DS.B 4 ; VoidProcPtr - 
stdComment  DS.B 4 ; VoidProcPtr - 
stdTxMeas  DS.B 4 ; VoidProcPtr - 
stdTxBnds  DS.B 4 ; VoidProcPtr - 
stdGetPic  DS.B 4 ; VoidProcPtr - 
stdPutPic  DS.B 4 ; VoidProcPtr - 
  ENDR

GrafPort RECORD 0 ; Quickdraw
portInfo  DS LocInfo ; LocInfo - 
portRect  DS Rect ; Rect - PortRect
clipRgn  DS.B 4 ; RegionHndl - Clip Rgn. Pointer
visRgn  DS.B 4 ; RegionHndl - Vis. Rgn. Pointer
bkPat  DS.B 32 ; Pattern - BackGround Pattern
pnLoc  DS Point ; Point - Pen Location
pnSize  DS Point ; Point - Pen Size
pnMode  DS.B 2 ; Word - Pen Mode
pnPat  DS.B 32 ; Pattern - Pen Pattern
pnMask  DS.B 8 ; Mask - Pen Mask
pnVis  DS.B 2 ; Word - Pen Visable
fontHandle  DS.B 4 ; FontHndl - 
fontID  DS FontID ; FontID - Font ID
fontFlags  DS.B 2 ; Word - FontFlags
txSize  DS.B 2 ; Integer - Text Size
txFace  DS.B 2 ; TextStyle - Text Face
txMode  DS.B 2 ; Word - Text Mode
spExtra  DS.B 4 ; Fixed - Fixed Point Value
chExtra  DS.B 4 ; Fixed - Fixed Point Value
fgColor  DS.B 2 ; Word - ForeGround Color
bgColor  DS.B 2 ; Word - BackGround Color
picSave  DS.B 4 ; Handle - PicSave
rgnSave  DS.B 4 ; Handle - RgnSave
polySave  DS.B 4 ; Handle - PolySave
grafProcs  DS.B 4 ; QDProcsPtr - 
arcRot  DS.B 2 ; Integer - ArcRot
userField  DS.B 4 ; Longint - UserField
sysField  DS.B 4 ; Longint - SysField
  ENDR

PaintParam RECORD 0 ; Quickdraw
ptrToSourceLocInfo  DS.B 4 ; LocInfoPtr - 
ptrToDestLocInfo  DS.B 4 ; LocInfoPtr - 
ptrToSourceRect  DS.B 4 ; RectPtr - 
ptrToDestPoint  DS.B 4 ; PointPtr - 
mode  DS.B 2 ; Word - 
maskHandle  DS.B 4 ; Handle - clip region
  ENDR

PenState RECORD 0 ; Quickdraw
psPenLoc  DS Point ; Point - 
psPenSize  DS Point ; Point - 
psPenMode  DS.B 2 ; Word - 
psPenPat  DS.B 32 ; Pattern - 
psPenMask  DS.B 8 ; Mask -  
  ENDR

RomFontRec RECORD 0 ; Quickdraw
rfFamNum  DS.B 2 ; Word - 
rfFamStyle  DS.B 2 ; Word - 
rfSize  DS.B 2 ; Word - 
rfFontHandle  DS.B 4 ; FontHndl - 
rfNamePtr  DS.B 4 ; Pointer - 
rfFBRExtent  DS.B 2 ; Word - 
  ENDR

ColorTable RECORD 0 ; Quickdraw
entries  DS.B 32 ; Word[16] - 
  ENDR

ClampRec RECORD 0 ; MiscTool
yMaxClamp  DS.B 2 ; Word - 
yMinClamp  DS.B 2 ; Word - 
xMaxClamp  DS.B 2 ; Word - 
xMinClamp  DS.B 2 ; Word - 
  ENDR

FWRec RECORD 0 ; MiscTool
yRegExit  DS.B 2 ; Word - 
xRegExit  DS.B 2 ; Word - 
aRegExit  DS.B 2 ; Word - 
status  DS.B 2 ; Word - 
  ENDR

MouseRec RECORD 0 ; MiscTool
mouseMode  DS.B 1 ; Byte - 
mouseStatus  DS.B 1 ; Byte - 
yPos  DS.B 2 ; Word - 
xPos  DS.B 2 ; Word - 
  ENDR

InterruptStateRec RECORD 0 ; MiscTool
irq_A  DS.B 2 ; Word - 
irq_X  DS.B 2 ; Word - 
irq_Y  DS.B 2 ; Word - 
irq_S  DS.B 2 ; Word - 
irq_D  DS.B 2 ; Word - 
irq_P  DS.B 1 ; Byte - 
irq_DB  DS.B 1 ; Byte - 
irq_e  DS.B 1 ; Byte - 
irq_K  DS.B 1 ; Byte - 
irq_PC  DS.B 2 ; Word - 
irq_state  DS.B 1 ; Byte - 
irq_shadow  DS.B 2 ; Word - 
irq_mslot  DS.B 1 ; Byte - 
  ENDR

QueueHeaderRec RECORD 0 ; MiscTool
qNext  DS.B 4 ; QueueHeaderRecPtr -  
reserved  DS.B 2 ; Word -  
signature  DS.B 2 ; Word - Validates header - must be $A55A 
  ENDR

EventRecord RECORD 0 ; Event
what  DS.B 2 ; Word - event code
message  DS.B 4 ; Long - event message
when  DS.B 4 ; Long - ticks since startup
where  DS Point ; Point - mouse location
modifiers  DS.B 2 ; Word - modifier flags
wmTaskData  DS.B 4 ; Long - 
wmTaskMask  DS.B 4 ; Long - 
wmLastClickTick  DS.B 4 ; Long - 
wmClickCount  DS.B 2 ; Word - 
wmTaskData2  DS.B 4 ; Long - 
wmTaskData3  DS.B 4 ; Long -  
wmTaskData4  DS.B 4 ; Long -  
wmLastClickPt  DS Point ; Point -  
  ENDR

EventJournalRec RECORD 0 ; Event
statusMode  DS.B 2 ; word - 
yLocation  DS.B 2 ; word - 
xLocation  DS.B 2 ; word - 
  ENDR

BarColors RECORD 0 ; Control
barOutline  DS.B 2 ; Word - color for outlining bar, arrows, and thumb
barNorArrow  DS.B 2 ; Word - color of arrows when not highlighted
barSelArrow  DS.B 2 ; Word - color of arrows when highlighted
barArrowBack  DS.B 2 ; Word - color of arrow box's background
barNorThumb  DS.B 2 ; Word - color of thumb's background when not highlighted
barSelThumb  DS.B 2 ; Word - color of thumb's background when highlighted
barPageRgn  DS.B 2 ; Word - color and pattern page region: high byte - 1= dither, 0 = solid
barInactive  DS.B 2 ; Word - color of scroll bar's interior when inactive
  ENDR

BoxColors RECORD 0 ; Control
boxReserved  DS.B 2 ; Word - reserved
boxNor  DS.B 2 ; Word - color of box when not checked
boxSel  DS.B 2 ; Word - color of box when checked
boxTitle  DS.B 2 ; Word - color of check box's title
  ENDR

BttnColors RECORD 0 ; Control
bttnOutline  DS.B 2 ; Word - color of outline
bttnNorBack  DS.B 2 ; Word - color of background when not selected
bttnSelBack  DS.B 2 ; Word - color of background when selected
bttnNorText  DS.B 2 ; Word - color of title's text when not selected
bttnSelText  DS.B 2 ; Word - color of title's text when selected
  ENDR

CtlRec RECORD 0 ; Control
ctlNext  DS.B 4 ; CtlRecHndl - Handle of next control.
ctlOwner  DS.B 4 ; WindowPtr - Pointer to control's window.
ctlRect  DS Rect ; Rect - Enclosing rectangle.
ctlFlag  DS.B 1 ; Byte - Bit flags.
ctlHilite  DS.B 1 ; Byte - Highlighted part.
ctlValue  DS.B 2 ; Integer - Control's value.
ctlProc  DS.B 4 ; LongProcPtr - Control's definition procedure.
ctlAction  DS.B 4 ; LongProcPtr - Control's action procedure.
ctlData  DS.B 4 ; Longint - Reserved for CtrlProc's use.
ctlRefCon  DS.B 4 ; Longint - Reserved for application's use.
ctlColor  DS.B 4 ; Pointer - Pointer to appropriate color table.
ctlReserved  DS.B 16 ; Byte[16] - Reserved for future expansion
ctlID  DS.B 4 ; Long - 
ctlMoreFlags  DS.B 2 ; Word - 
ctlVersion  DS.B 2 ; Word - 
  ENDR

LimitBlk RECORD 0 ; Control
boundRect  DS Rect ; Rect - Drag bounds.
slopRect  DS Rect ; Rect - Cursor bounds.
axisParam  DS.B 2 ; Word - Movement constrains.
dragPatt  DS.B 4 ; Pointer - Pointer to 32 byte Pattern for drag outline.
  ENDR

RadioColors RECORD 0 ; Control
radReserved  DS.B 2 ; Word - reserved
radNor  DS.B 2 ; Word - color of radio button when off
radSel  DS.B 2 ; Word - color of radio button when on
radTitle  DS.B 2 ; Word - color of radio button's title text
  ENDR

KeystrokeRec RECORD 0 ; Control
key1  DS.B 1 ; byte -  
key2  DS.B 1 ; byte -  
keyModifiers  DS.B 2 ; word -  
keyCareBits  DS.B 2 ; word -  
  ENDR

ControlTemplate RECORD 0 ; Control
pCount  DS.B 2 ; word -  
ID  DS.B 4 ; long -  
rect  DS Rect ; Rect -  
procRef  DS.B 4 ; long -  
flag  DS.B 2 ; word -  
moreFlags  DS.B 2 ; word -  
refCon  DS.B 4 ; long -  
  ENDR

SimpleButtonTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
titleRef  DS.B 4 ; Ref -  
colorTableRef  DS.B 4 ; Ref -  
keyEquivalent  DS KeystrokeRec ; KeystrokeRec -  
  ENDR

CheckBoxTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
titleRef  DS.B 4 ; Ref -  
initalValue  DS.B 2 ; Word -  
colorTableRef  DS.B 4 ; Ref -  
keyEquivalent  DS KeystrokeRec ; KeystrokeRec -  
  ENDR

IconButtonTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
iconRef  DS.B 4 ; Ref -  
titleRef  DS.B 4 ; Ref -  
colorTableRef  DS.B 4 ; Ref -  
displayMode  DS.B 2 ; word -  
keyEquivalent  DS KeystrokeRec ; KeystrokeRec -  
  ENDR

LineEditTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
maxSize  DS.B 2 ; word -  
defaultRef  DS.B 4 ; Ref -  
  ENDR

ListTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate - 
listSize  DS.B 2 ; word - 
listView  DS.B 2 ; word - 
listType  DS.B 2 ; word - 
listStart  DS.B 2 ; word - 
listDraw  DS.B 4 ; ProcPtr - 
listMemHeight  DS.B 2 ; word - 
listMemSize  DS.B 2 ; Word - 
listRef  DS.B 4 ; Ref - 
colorTableRef  DS.B 4 ; Ref -  
  ENDR

PictureTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
pictureRef  DS.B 4 ; Ref -  
  ENDR

PopupTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
titleWidth  DS.B 2 ; word -  
menuRef  DS.B 4 ; Ref -  
initialValue  DS.B 2 ; word -  
colorTableRef  DS.B 4 ; Ref -  
  ENDR

RadioButtonTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
titleRef  DS.B 4 ; Ref -  
initalValue  DS.B 2 ; Word -  
colorTableRef  DS.B 4 ; Ref -  
keyEquivalent  DS KeystrokeRec ; KeystrokeRec -  
  ENDR

ScrollBarTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
maxSize  DS.B 2 ; word -  
viewSize  DS.B 2 ; word -  
initalValue  DS.B 2 ; word -  
colorTableRef  DS.B 4 ; Ref -  
  ENDR

SizeBoxTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
colorTableRef  DS.B 4 ; Ref -  
  ENDR

StaticTextTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate -  
textRef  DS.B 4 ; Ref -  
textSize  DS.B 2 ; word -  
just  DS.B 2 ; word -  
  ENDR

TextEditTemplate RECORD 0 ; Control
ctlTemplate  DS ControlTemplate ; ControlTemplate - 
textFlags  DS.B 4 ; long - 
indentRect  DS Rect ; Rect - 
vertBar  DS.B 4 ; CtlRecHndl - 
vertAmount  DS.B 2 ; word - 
horzBar  DS.B 4 ; CtlRecHndl - 
horzAmount  DS.B 2 ; word - 
styleRef  DS.B 4 ; Ref - 
textDescriptor  DS.B 2 ; word - 
textRef  DS.B 4 ; Ref - 
textLength  DS.B 4 ; long - 
maxChars  DS.B 4 ; long - 
maxLines  DS.B 4 ; long - 
maxCharsPerLine  DS.B 2 ; Word - 
maxHeight  DS.B 2 ; word - 
colorRef  DS.B 4 ; Ref - 
drawMode  DS.B 2 ; Word - 
filterProcPtr  DS.B 4 ; WordProcPtr - 
  ENDR

WindColor RECORD 0 ; Window
frameColor  DS.B 2 ; Word - Color of window frame.
titleColor  DS.B 2 ; Word - Color of title and bar.
tBarColor  DS.B 2 ; Word - Color/pattern of title bar.
growColor  DS.B 2 ; Word - Color of grow box.
infoColor  DS.B 2 ; Word - Color of information bar.
  ENDR

WindRec RECORD 0 ; Window
wNext  DS.B 4 ; WindRecPtr - 
port  DS GrafPort ; GrafPort - Window's port
wDefProc  DS.B 4 ; ProcPtr - 
wRefCon  DS.B 4 ; Long - 
wContDraw  DS.B 4 ; ProcPtr - 
wReserved  DS.B 4 ; Long - Space for future expansion
wStrucRgn  DS.B 4 ; RegionHndl - Region of frame plus content.
wContRgn  DS.B 4 ; RegionHndl - Content region.
wUpdateRgn  DS.B 4 ; RegionHndl - Update region.
wControls  DS.B 4 ; CtlRecHndl - Window's control list.
wFrameCtrls  DS.B 4 ; CtlRecHndl - Window frame's control list.
wFrame  DS.B 2 ; Word - 
  ENDR

ParamList RECORD 0 ; Window
paramLength  DS.B 2 ; Word - Parameter to NewWindow. 
wFrameBits  DS.B 2 ; Word - Parameter to NewWindow.
wTitle  DS.B 4 ; Pointer - Parameter to NewWindow.
wRefCon  DS.B 4 ; Long - Parameter to NewWindow.
wZoom  DS Rect ; Rect - Parameter to NewWindow.
wColor  DS.B 4 ; WindColorPtr - Parameter to NewWindow.
wYOrigin  DS.B 2 ; Word - Parameter to NewWindow.
wXOrigin  DS.B 2 ; Word - Parameter to NewWindow.
wDataH  DS.B 2 ; Word - Parameter to NewWindow.
wDataW  DS.B 2 ; Word - Parameter to NewWindow.
wMaxH  DS.B 2 ; Word - Parameter to NewWindow.
wMaxW  DS.B 2 ; Word - Parameter to NewWindow.
wScrollVer  DS.B 2 ; Word - Parameter to NewWindow.
wScrollHor  DS.B 2 ; Word - Parameter to NewWindow.
wPageVer  DS.B 2 ; Word - Parameter to NewWindow.
wPageHor  DS.B 2 ; Word - Parameter to NewWindow.
wInfoRefCon  DS.B 4 ; Long - Parameter to NewWindow.
wInfoHeight  DS.B 2 ; Word - height of information bar
wFrameDefProc  DS.B 4 ; LongProcPtr - Parameter to NewWindow.
wInfoDefProc  DS.B 4 ; VoidProcPtr - Parameter to NewWindow.
wContDefProc  DS.B 4 ; VoidProcPtr - Parameter to NewWindow.
wPosition  DS Rect ; Rect - Parameter to NewWindow.
wPlane  DS.B 4 ; WindowPtr - Parameter to NewWindow.
wStorage  DS.B 4 ; WindRecPtr - Parameter to NewWindow.
  ENDR

DeskMessageRecord RECORD 0 ; Window
reserved  DS.B 4 ; Long -  
messageType  DS.B 2 ; Word -  
drawType  DS.B 2 ; Word -  
  ENDR

LERec RECORD 0 ; LineEdit
leLineHandle  DS.B 4 ; Handle - 
leLength  DS.B 2 ; unsigned Integer - 
leMaxLength  DS.B 2 ; unsigned Integer - 
leDestRect  DS Rect ; Rect - 
leViewRect  DS Rect ; Rect - 
lePort  DS.B 4 ; GrafPortPtr - 
leLineHite  DS.B 2 ; unsigned Integer - 
leBaseHite  DS.B 2 ; unsigned Integer - 
leSelStart  DS.B 2 ; unsigned Integer - 
leSelEnd  DS.B 2 ; unsigned Integer - 
leActFlg  DS.B 2 ; Word - 
leCarAct  DS.B 2 ; Word - 
leCarOn  DS.B 2 ; Word - 
leCarTime  DS.B 4 ; unsigned Longint - 
leHiliteHook  DS.B 4 ; VoidProcPtr - 
leCaretHook  DS.B 4 ; VoidProcPtr - 
leJust  DS.B 2 ; Word - 
lePWChar  DS.B 2 ; Word - 
  ENDR

ItemTemplate RECORD 0 ; Dialog
itemID  DS.B 2 ; Word - 
itemRect  DS Rect ; Rect - 
itemType  DS.B 2 ; Word - 
itemDescr  DS.B 4 ; Pointer - 
itemValue  DS.B 2 ; Word - 
itemFlag  DS.B 2 ; Word - 
itemColor  DS.B 4 ; Pointer - pointer to appropriate type of color table
  ENDR

AlertTemplate RECORD 0 ; Dialog
atBoundsRect  DS Rect ; Rect - 
atAlertID  DS.B 2 ; Word - 
atStage1  DS.B 1 ; Byte - 
atStage2  DS.B 1 ; Byte - 
atStage3  DS.B 1 ; Byte - 
atStage4  DS.B 1 ; Byte - 
atItemList  DS.B 20 ; ItemTempPtr[atItemListLength] - Null terminated array
  ENDR

DialogTemplate RECORD 0 ; Dialog
dtBoundsRect  DS Rect ; Rect - 
dtVisible  DS.B 4 ; Boolean - 
dtRefCon  DS.B 4 ; Longint - 
dtItemList  DS.B 32 ; ItemTempPtr[dtItemListLength] - Null terminated array
  ENDR

UserCtlItemPB RECORD 0 ; Dialog
defProcParm  DS.B 4 ; LongProcPtr - 
titleParm  DS.B 4 ; Pointer - 
param2  DS.B 2 ; Word - 
param1  DS.B 2 ; Word - 
  ENDR

PrPrinterSpecRec RECORD 0 ; Print
prPrinterType  DS.B 2 ; Word -  
prCharacteristics  DS.B 2 ; Word -  
  ENDR

PrInfoRec RECORD 0 ; Print
iDev  DS.B 2 ; Word - reserved for internal use
iVRes  DS.B 2 ; Word - vertical resolution of printer
iHRes  DS.B 2 ; Word - horizontal resolution of printer
rPage  DS Rect ; Rect - defining page rectangle
  ENDR

PrJobRec RECORD 0 ; Print
iFstPage  DS.B 2 ; Word - first page to print
iLstPage  DS.B 2 ; Word - last page to print
iCopies  DS.B 2 ; Word - number of copies
bJDocLoop  DS.B 1 ; Byte - printing method
fFromUser  DS.B 1 ; Byte - used internally
pIdleProc  DS.B 4 ; WordProcPtr - background procedure
pFileName  DS.B 4 ; Pointer - spool file name
iFileVol  DS.B 2 ; Word - spool file volume reference number
bFileVers  DS.B 1 ; Byte - spool file version number
bJobX  DS.B 1 ; Byte - used internally
  ENDR

PrStyleRec RECORD 0 ; Print
wDev  DS.B 2 ; Word - output quality information
internA  DS.B 6 ; Word[3] - for internal use
feed  DS.B 2 ; Word - paper feed type
paperType  DS.B 2 ; Word - paper type
crWidth  DS.B 2 ; Word - carriage Width for image writer or vertical sizing for lazer writer
reduction  DS.B 2 ; Word - % reduction, laser writer only
internB  DS.B 2 ; Word - for internal use
  ENDR

PrRec RECORD 0 ; Print
prVersion  DS.B 2 ; Word - print manager version
prInfo  DS PrInfoRec ; PrInfoRec - printer infomation subrecord
rPaper  DS Rect ; Rect - Defining paper rectangle
prStl  DS PrStyleRec ; PrStyleRec - style subrecord
prInfoPT  DS.B 14 ; Byte[14] - reserved for internal use
prXInfo  DS.B 24 ; Byte[24] - reserved for internal use
prJob  DS PrJobRec ; PrJobRec - job subrecord
printX  DS.B 38 ; Byte[38] - reserved for future use
iReserved  DS.B 2 ; Word - reserved for internal use
  ENDR

PrStatusRec RECORD 0 ; Print
iTotPages  DS.B 2 ; Word - number of pages in spool file
iCurPage  DS.B 2 ; Word - page being printed
iTotCopies  DS.B 2 ; Word - number of copies requested
iCurCopy  DS.B 2 ; Word - copy being printed
iTotBands  DS.B 2 ; Word - reserved for internal use
iCurBand  DS.B 2 ; Word - reserved for internal use
fPgDirty  DS.B 4 ; Boolean - TRUE if started printing page
fImaging  DS.B 2 ; Word - reserved for internal use
hPrint  DS.B 4 ; PrRecHndl - handle of print record
pPrPort  DS.B 4 ; GrafPortPtr - pointer to grafport being use for printing
hPic  DS.B 4 ; Long - reserved for internal use
  ENDR

ReadConfigRec RECORD 0 ; ADB
rcADBAddr  DS.B 1 ; Byte - Output Byte: ADB address - keyboard and mouse
rcLayoutOrLang  DS.B 1 ; Byte - Output Byte: Layout / Language
rcRepeatDelay  DS.B 1 ; Byte - Output Byte: Repeat / Delay
  ENDR

SetConfigRec RECORD 0 ; ADB
scADBAddr  DS.B 1 ; Byte - keyboard and mouse
scLayoutOrLang  DS.B 1 ; Byte - 
scRepeatDelay  DS.B 1 ; Byte - 
  ENDR

SynchRec RECORD 0 ; ADB
synchMode  DS.B 1 ; Byte - 
synchKybdMouseAddr  DS.B 1 ; Byte - 
synchLayoutOrLang  DS.B 1 ; Byte - 
synchRepeatDelay  DS.B 1 ; Byte - 
  ENDR

ScaleRec RECORD 0 ; ADB
xDivide  DS.B 2 ; Word - 
yDivide  DS.B 2 ; Word - 
xOffset  DS.B 2 ; Word - 
yOffset  DS.B 2 ; Word - 
xMultiply  DS.B 2 ; Word - 
yMultiply  DS.B 2 ; Word - 
  ENDR

FontStatRec RECORD 0 ; Font
resultID  DS FontID ; FontID - 
resultStats  DS.B 2 ; Word - 
  ENDR

GSString255 RECORD 0 ; GSOS
length  DS.B 2 ; Word - Number of Chars in text field 
text  DS.B 255 ; char[255] - 
  ENDR

GSString32 RECORD 0 ; GSOS
length  DS.B 2 ; Word - Number of characters in text field
text  DS.B 32 ; char[32] - 
  ENDR

ResultBuf255 RECORD 0 ; GSOS
bufSize  DS.B 2 ; Word - 
bufString  DS GSString255 ; GSString255 - 
  ENDR

ResultBuf32 RECORD 0 ; GSOS
bufSize  DS.B 2 ; Word - 
bufString  DS GSString32 ; GSString32 - 
  ENDR

ChangePathRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
newPathname  DS.B 4 ; GSString255Ptr - 
  ENDR

CreateRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
access  DS.B 2 ; Word - 
fileType  DS.B 2 ; Word - 
auxType  DS.B 4 ; Long - 
storageType  DS.B 2 ; Word - 
eof  DS.B 4 ; Long - 
resourceEOF  DS.B 4 ; Long - 
  ENDR

DAccessRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
devNum  DS.B 2 ; Word - 
code  DS.B 2 ; Word - 
list  DS.B 4 ; Pointer - 
requestCount  DS.B 4 ; Long - 
transferCount  DS.B 4 ; Long - 
  ENDR

DevNumRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
devName  DS.B 4 ; GSString32Ptr - 
devNum  DS.B 2 ; Word - 
  ENDR

DInfoRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - minimum = 2
devNum  DS.B 2 ; Word - 
devName  DS.B 4 ; ResultBuf32Ptr - 
characteristics  DS.B 2 ; Word - 
totalBlocks  DS.B 4 ; Long - 
slotNum  DS.B 2 ; Word - 
unitNum  DS.B 2 ; Word - 
version  DS.B 2 ; Word - 
deviceID  DS.B 2 ; Word - 
headLink  DS.B 2 ; Word - 
forwardLink  DS.B 2 ; Word - 
extendedDIBPtr  DS.B 4 ; Pointer - 
  ENDR

DIORecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
devNum  DS.B 2 ; Word - 
buffer  DS.B 4 ; Pointer - 
requestCount  DS.B 4 ; Long - 
startingBlock  DS.B 4 ; Long - 
blockSize  DS.B 2 ; Word - 
transferCount  DS.B 4 ; Long - 
  ENDR

DirEntryRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
flags  DS.B 2 ; Word - 
base  DS.B 2 ; Word - 
displacement  DS.B 2 ; Word - 
name  DS.B 4 ; ResultBuf255Ptr - 
entryNum  DS.B 2 ; Word - 
fileType  DS.B 2 ; Word - 
eof  DS.B 4 ; Longint - 
blockCount  DS.B 4 ; Long - 
createDateTime  DS TimeRec ; TimeRec - 
modDateTime  DS TimeRec ; TimeRec - 
access  DS.B 2 ; Word - 
auxType  DS.B 4 ; Long - 
fileSysID  DS.B 2 ; Word - 
optionList  DS.B 4 ; ResultBuf255Ptr - 
resourceEOF  DS.B 4 ; Long - 
resourceBlocks  DS.B 4 ; Long - 
  ENDR

DRenameRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; word - 
devNum  DS.B 2 ; word - 
strPtr  DS.B 4 ; GSString32Ptr - 
  ENDR

ExpandPathRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
inputPath  DS.B 4 ; GSString255Ptr - 
outputPath  DS.B 4 ; ResultBuf255Ptr - 
flags  DS.B 2 ; Word - 
  ENDR

FileInfoRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
access  DS.B 2 ; Word - 
fileType  DS.B 2 ; Word - 
auxType  DS.B 4 ; Long - 
storageType  DS.B 2 ; Word - must be 0 for SetFileInfo
createDateTime  DS TimeRec ; TimeRec - 
modDateTime  DS TimeRec ; TimeRec - 
optionList  DS.B 4 ; ResultBuf255Ptr - 
eof  DS.B 4 ; Long - 
blocksUsed  DS.B 4 ; Long - must be 0 for SetFileInfo
resourceEOF  DS.B 4 ; Long - must be 0 for SetFileInfo
resourceBlocks  DS.B 4 ; Long - must be 0 for SetFileInfo
  ENDR

FormatRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
devName  DS.B 4 ; GSString32Ptr - device name pointer
volName  DS.B 4 ; GSString32Ptr - volume name pointer
fileSysID  DS.B 2 ; Word - file system ID
reqFileSysID  DS.B 2 ; Word - in; 
  ENDR

FSTInfoRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
fileSysID  DS.B 2 ; Word - 
fstName  DS.B 4 ; ResultBuf255Ptr - 
version  DS.B 2 ; Word - 
attributes  DS.B 2 ; Word - 
blockSize  DS.B 2 ; Word - 
maxVolSize  DS.B 4 ; Long - 
maxFileSize  DS.B 4 ; Long - 
  ENDR

InterruptRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
intNum  DS.B 2 ; Word - 
vrn  DS.B 2 ; Word - used only by BindInt
intCode  DS.B 4 ; ProcPtr - used only by BindInt
  ENDR

IORecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
dataBuffer  DS.B 4 ; Pointer - 
requestCount  DS.B 4 ; Long - 
transferCount  DS.B 4 ; Long - 
cachePriority  DS.B 2 ; Word - 
  ENDR

LevelRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
level  DS.B 2 ; Word - 
  ENDR

NameRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - full pathname or a filename depending on call
  ENDR

NotifyProcRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; word -  
procPointer  DS.B 4 ; ProcPtr -  
  ENDR

GetNameRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
dataBuffer  DS.B 4 ; ResultBuf255Ptr - full pathname or a filename depending on call
  ENDR

NewlineRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
enableMask  DS.B 2 ; Word - 
numChars  DS.B 2 ; Word - 
newlineTable  DS.B 4 ; Pointer - 
  ENDR

OpenRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
requestAccess  DS.B 2 ; Word - 
resourceNumber  DS.B 2 ; Word - For extended files: dataFork/resourceFork
access  DS.B 2 ; Word - Value of file's access attribute
fileType  DS.B 2 ; Word - Value of file's fileType attribute
auxType  DS.B 4 ; Long - 
storageType  DS.B 2 ; Word - 
createDateTime  DS TimeRec ; TimeRec - 
modDateTime  DS TimeRec ; TimeRec - 
optionList  DS.B 4 ; ResultBuf255Ptr - 
eof  DS.B 4 ; Long - 
blocksUsed  DS.B 4 ; Long - 
resourceEOF  DS.B 4 ; Long - 
resourceBlocks  DS.B 4 ; Long - 
  ENDR

OSShutDownRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
shutdownFlag  DS.B 2 ; Word - 
  ENDR

PositionRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
position  DS.B 4 ; Long - 
  ENDR

EOFRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
eof  DS.B 4 ; Long - 
  ENDR


QuitRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - pathname of next app to run
flags  DS.B 2 ; Word - 
  ENDR

RefNumRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; word - 
  ENDR

GetRefNumRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
refNum  DS.B 2 ; word - 
access  DS.B 2 ; word - 
resNum  DS.B 2 ; word - 
caseSense  DS.B 4 ; Boolean - 
displacement  DS.B 2 ; word - 
  ENDR

StdRefNumRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; word -  
prefixNum  DS.B 2 ; word -  
refNum  DS.B 2 ; word -  
  ENDR

SessionStatusRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - in: min = 1
status  DS.B 2 ; Word - out:
  ENDR

SetPositionRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
base  DS.B 2 ; Word - 
displacement  DS.B 4 ; Long - 
  ENDR

SysPrefsRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
preferences  DS.B 2 ; Word - 
  ENDR

VersionRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
version  DS.B 2 ; Word - 
  ENDR

VolumeRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
devName  DS.B 4 ; GSString32Ptr - 
volName  DS.B 4 ; ResultBuf255Ptr - 
totalBlocks  DS.B 4 ; Long - 
freeBlocks  DS.B 4 ; Long - 
fileSysID  DS.B 2 ; Word - 
blockSize  DS.B 2 ; Word - 
  ENDR

RefInfoRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; word -  
refNum  DS.B 2 ; word -  
access  DS.B 2 ; word -  
pathname  DS.B 4 ; ResultBuf255Ptr -  
  ENDR

IntDivRec RECORD 0 ; IntMath
quotient  DS.B 2 ; Integer - quotient from SDivide
remainder  DS.B 2 ; Integer - remainder from SDivide
  ENDR

LongDivRec RECORD 0 ; IntMath
quotient  DS.B 4 ; Longint - Quotient from LongDiv
remainder  DS.B 4 ; Longint - remainder from LongDiv
  ENDR

LongMulRec RECORD 0 ; IntMath
lsResult  DS.B 4 ; Longint - low 2 words of product
msResult  DS.B 4 ; Longint - High 2 words of product
  ENDR

WordDivRec RECORD 0 ; IntMath
quotient  DS.B 2 ; Word - Quotient from UDivide
remainder  DS.B 2 ; Word - remainder from UDivide
  ENDR

LColorTable RECORD 0 ; List
listFrameClr  DS.B 2 ; Word - Frame color
listNorTextClr  DS.B 2 ; Word - Unhighlighted text color
listSelTextClr  DS.B 2 ; Word - Highlighted text color
listNorBackClr  DS.B 2 ; Word - Unhighlighted background color
listSelBackClr  DS.B 2 ; Word - Highlighted backgraound color
  ENDR

MemRec RECORD 0 ; List
memPtr  DS.B 4 ; Pointer - Pointer to string, or custom
memFlag  DS.B 1 ; Byte - Bit Flag
  ENDR

ListCtlRec RECORD 0 ; List
ctlNext  DS.B 4 ; CtlRecHndl - Handle of Next Control
ctlOwner  DS.B 4 ; GrafPortPtr - Window owner
ctlRect  DS Rect ; Rect - Enclosing Rect
ctlFlag  DS.B 1 ; Byte - Bit 7 visible, Bit 0 string type, Bit 1 multiple
ctlHilite  DS.B 1 ; Byte - (not used)
ctlValue  DS.B 2 ; Word - First member in display
ctlProc  DS.B 4 ; LongProcPtr - Address of list definition procedure
ctlAction  DS.B 4 ; LongProcPtr - Address of list action procedure
ctlData  DS.B 4 ; Long - Low = view size, High = total members
ctlRefCon  DS.B 4 ; Long - Not used
ctlColor  DS.B 4 ; LColorTablePtr - Null for default colors
ctlMemDraw  DS.B 4 ; VoidProcPtr - Address of routine to draw members
ctlMemHeight  DS.B 2 ; Word - Member's Height in Pixels
ctlMemSize  DS.B 2 ; Word - Bytes in member record
ctlList  DS.B 4 ; MemRecPtr - Adress of first member record in array
ctlListBar  DS.B 4 ; CtlRecHndl - Handle of list contrlo's scroll bar control
  ENDR

ListRec RECORD 0 ; List
listRect  DS Rect ; Rect - Enclosing Rectangle
listSize  DS.B 2 ; Word - Number of List Members
listView  DS.B 2 ; Word - Max Viewable members
listType  DS.B 2 ; Word - Bit Flag
listStart  DS.B 2 ; Word - First member in view
listCtl  DS.B 4 ; CtlRecHndl - List control's handle
listDraw  DS.B 4 ; VoidProcPtr - Address of Custom drawing routine
listMemHeight  DS.B 2 ; Word - Height of list members
listMemSize  DS.B 2 ; Word - Size of Member Records
listPointer  DS.B 4 ; MemRecPtr - Pointer to first element in MemRec array
listRefCon  DS.B 4 ; Long - becomes Control's refCon
listScrollClr  DS.B 4 ; BarColorsPtr - Color table for list's scroll bar
  ENDR

InitialLoadOutputRec RECORD 0 ; Loader
userID  DS.B 2 ; Word - 
startAddr  DS.B 4 ; Pointer - 
dPageAddr  DS.B 2 ; Word - 
buffSize  DS.B 2 ; Word - 
  ENDR

RestartOutRec RECORD 0 ; Loader
userID  DS.B 2 ; Word - 
startAddr  DS.B 4 ; Pointer - 
dPageAddr  DS.B 2 ; Word - 
buffSize  DS.B 2 ; Word - 
  ENDR

LoadSegNameOut RECORD 0 ; Loader
segAddr  DS.B 4 ; Pointer - 
userID  DS.B 2 ; Word - 
fileNum  DS.B 2 ; Word - 
segNum  DS.B 2 ; Word -  
  ENDR

UnloadSegOutRec RECORD 0 ; Loader
userID  DS.B 2 ; Word - 
fileNum  DS.B 2 ; Word - 
segNum  DS.B 2 ; Word - 
  ENDR

QDIconRecord RECORD 0 ; QDAux
iconType  DS.B 2 ; Word -  
iconSize  DS.B 2 ; Word -  
iconHeight  DS.B 2 ; Word -  
iconWidth  DS.B 2 ; Word -  
iconImage  DS.B 1 ; Byte[1] -  
iconMask  DS.B 1 ; Byte[1] -  
  ENDR

Picture RECORD 0 ; QDAux
picSCB  DS.B 2 ; Word - 
picFrame  DS Rect ; Rect - 
pVersion  DS.B 2 ; Word - Followed by picture opcodes 
  ENDR

LeakTable RECORD 0 ; QDAux
leakCount  DS.B 2 ; word -  
leakColors  DS.B 32 ; word[16] -  
  ENDR

MessageRec RECORD 0 ; Locator
messageNext  DS.B 4 ; MessageRecHndl -  
messageType  DS.B 2 ; Integer -  
messageData  DS.B 2 ; Integer -  
fileNames  DS.B 100 ; Str255[1] -  
  ENDR

ToolSpec RECORD 0 ; Locator
toolNumber  DS.B 2 ; Word -  
minVersion  DS.B 2 ; Word -  
  ENDR

ToolTable RECORD 0 ; Locator
toolCount  DS.B 2 ; word -  
theTools  DS.B 64 ; ToolSpec[theToolsLength] -  
  ENDR

StartStopRecord RECORD 0 ; Locator
flags  DS.B 2 ; Word - 
videoMode  DS.B 2 ; Word - 
resFileID  DS.B 2 ; Word - 
dPageHandle  DS.B 4 ; Handle - 
numTools  DS.B 2 ; Word - 
theTools  DS.B 64 ; ToolSpec[theToolsLength] -  
  ENDR

MenuRec RECORD 0 ; Menu
menuID  DS.B 2 ; Word - Menu's ID number
menuWidth  DS.B 2 ; Word - Width of menu
menuHeight  DS.B 2 ; Word - Height of menu
menuProc  DS.B 4 ; WordProcPtr - Menu's definition procedure
menuFlag  DS.B 2 ; Word - Bit flags
numOfItems  DS.B 2 ; Word - 
titleWidth  DS.B 2 ; Word - Width of menu's title
titleName  DS.B 4 ; Pointer - 
menuCache  DS.B 4 ; Handle - 
  ENDR

MenuItemTemplate RECORD 0 ; Menu
version  DS.B 2 ; word - Version number (must be 0)
itemID  DS.B 2 ; word - Menu item ID
itemChar  DS.B 1 ; byte - Primary keystroke character
itemAltChar  DS.B 1 ; byte - Alternate keystroke character
itemCheck  DS.B 2 ; word - Character code for checked items
itemFlag  DS.B 2 ; word - Menu item flag word
itemTitleRef  DS.B 4 ; Ref - Reference to item title string
  ENDR

MenuTemplate RECORD 0 ; Menu
version  DS.B 2 ; word - Version number (must be 0)
menuID  DS.B 2 ; word - Menu ID
menuFlag  DS.B 2 ; word - Menu flag word
menuTitleRef  DS.B 4 ; Ref - Reference to menu title string
itemRefArray  DS.B 20 ; Ref[mtItemRefArrayLength] - mtItemRefArrayLength references to menu items 
  ENDR

MenuBarTemplate RECORD 0 ; Menu
version  DS.B 2 ; word - Version number (must be 0)
menuFlag  DS.B 2 ; word - MenuBar flag word
menuRefArray  DS.B 20 ; Ref[mbtMenuRefArrayLength] - mbtMenuRefArrayLength references to menus
  ENDR

MiBufInfo RECORD 0 ; Midi
bufSize  DS.B 2 ; Word - size of buffer (0 for default)
address  DS.B 4 ; Pointer - address of buffer (0 for auto-allocation)
  ENDR

MiDriverInfo RECORD 0 ; Midi
slot  DS.B 2 ; Word - device slot
external  DS.B 2 ; Word - slot internal (=0) / external (=1)
pathname  DS.B 65 ; Byte[65] - device driver pathname
  ENDR

LocRec RECORD 0 ; NoteSeq
curPhraseItem  DS.B 2 ; Word - 
curPattItem  DS.B 2 ; Word - 
curLevel  DS.B 2 ; Word - 
  ENDR

Envelope RECORD 0 ; Notesyn
st1BkPt  DS.B 1 ; Byte - 
st1Increment  DS.B 2 ; Word - 
st2BkPt  DS.B 1 ; Byte - 
st2Increment  DS.B 2 ; Word - 
st3BkPt  DS.B 1 ; Byte - 
st3Increment  DS.B 2 ; Word - 
st4BkPt  DS.B 1 ; Byte - 
st4Increment  DS.B 2 ; Word - 
st5BkPt  DS.B 1 ; Byte - 
st5Increment  DS.B 2 ; Word - 
st6BkPt  DS.B 1 ; Byte - 
st6Increment  DS.B 2 ; Word - 
st7BkPt  DS.B 1 ; Byte - 
st7Increment  DS.B 2 ; Word - 
st8BkPt  DS.B 1 ; Byte - 
st8Increment  DS.B 2 ; Word - 
  ENDR

WaveForm RECORD 0 ; Notesyn
wfTopKey  DS.B 1 ; Byte - 
wfWaveAddress  DS.B 1 ; Byte - 
wfWaveSize  DS.B 1 ; Byte - 
wfDocMode  DS.B 1 ; Byte - 
wfRelPitch  DS.B 2 ; Word - 
  ENDR

Instrument RECORD 0 ; Notesyn
theEnvelope  DS Envelope ; Envelope - 
releaseSegment  DS.B 1 ; Byte - 
priorityIncrement  DS.B 1 ; Byte - 
pitchBendRange  DS.B 1 ; Byte - 
vibratoDepth  DS.B 1 ; Byte - 
vibratoSpeed  DS.B 1 ; Byte - 
inSpare  DS.B 1 ; Byte - 
aWaveCount  DS.B 1 ; Byte - 
bWaveCount  DS.B 1 ; Byte - 
aWaveList  DS.B 6 ; WaveForm[1] - 
bWaveList  DS.B 6 ; WaveForm[1] - 
  ENDR

BlockRec RECORD 0 ; ProDOS
blockDevNum  DS.B 2 ; Word - 
blockDataBuffer  DS.B 4 ; Ptr - 
blockNum  DS.B 4 ; Longint - 
  ENDR

DevNumRec RECORD 0 ; ProDOS
devName  DS.B 4 ; Ptr - 
devNum  DS.B 2 ; Word - 
  ENDR

DInfoRec RECORD 0 ; ProDOS
devNum  DS.B 2 ; Word - 
devName  DS.B 4 ; Ptr - 
  ENDR

DirEntryRec RECORD 0 ; ProDOS
refNum  DS.B 2 ; Word - 
flags  DS.B 2 ; Word - 
base  DS.B 2 ; Word - 
displacement  DS.B 2 ; Word - 
nameBuffer  DS.B 4 ; Pointer - 
entryNum  DS.B 2 ; Word - 
fileType  DS.B 2 ; Word - 
endOfFile  DS.B 4 ; Longint - 
blockCount  DS.B 4 ; Long - 
createTime  DS TimeRec ; TimeRec - 
modTime  DS TimeRec ; TimeRec - 
access  DS.B 2 ; Word - 
auxType  DS.B 4 ; Long - 
fileSysID  DS.B 2 ; Word - 
  ENDR

EOFRec RECORD 0 ; ProDOS
eofRefNum  DS.B 2 ; Word - 
eofPosition  DS.B 4 ; Longint - 
  ENDR

FileIORec RECORD 0 ; ProDOS
fileRefNum  DS.B 2 ; Word - 
dataBuffer  DS.B 4 ; Ptr - 
requestCount  DS.B 4 ; Longint - 
transferCount  DS.B 4 ; Longint - 
  ENDR

FileRec RECORD 0 ; ProDOS
pathname  DS.B 4 ; Ptr - 
fAccess  DS.B 2 ; Word - 
fileType  DS.B 2 ; Word - 
auxType  DS.B 4 ; Longint - 
storageType  DS.B 2 ; Word - 
createDate  DS.B 2 ; Word - 
createTime  DS.B 2 ; Word - 
modDate  DS.B 2 ; Word - 
modTime  DS.B 2 ; Word - 
blocksUsed  DS.B 4 ; Longint - 
  ENDR

FormatRec RECORD 0 ; ProDOS
devName  DS.B 4 ; Ptr - device name pointer
volName  DS.B 4 ; Ptr - device name pointer
fileSysID  DS.B 2 ; Word - file system ID
  ENDR

EraseDiskRec RECORD 0 ; ProDOS
devName  DS.B 4 ; Ptr - device name pointer
volName  DS.B 4 ; Ptr - device name pointer
fileSysID  DS.B 2 ; Word - file system ID
  ENDR

InterruptRec RECORD 0 ; ProDOS
intNum  DS.B 2 ; Word - 
intCode  DS.B 4 ; Ptr - 
  ENDR

MarkRec RECORD 0 ; ProDOS
markRefNum  DS.B 2 ; Word - 
position  DS.B 4 ; Long - 
  ENDR

NewLineRec RECORD 0 ; ProDOS
newLRefNum  DS.B 2 ; Word - 
enableMask  DS.B 2 ; Word - 
newlineChar  DS.B 2 ; Word - 
  ENDR

OpenRec RECORD 0 ; ProDOS
openRefNum  DS.B 2 ; Word - 
openPathname  DS.B 4 ; Ptr - 
ioBuffer  DS.B 4 ; Handle - 
  ENDR

PathNameRec RECORD 0 ; ProDOS
pathname  DS.B 4 ; Ptr - 
newPathname  DS.B 4 ; Ptr - 
  ENDR

PrefixRec RECORD 0 ; ProDOS
prefixNum  DS.B 2 ; Word - 
prefix  DS.B 4 ; Ptr - 
  ENDR

QuitRec RECORD 0 ; ProDOS
quitPathname  DS.B 4 ; Ptr - 
flags  DS.B 2 ; Word - 
  ENDR

VolumeRec RECORD 0 ; ProDOS
deviceName  DS.B 4 ; Ptr - 
volName  DS.B 4 ; Ptr - 
totalBlocks  DS.B 4 ; Long - 
freeBlocks  DS.B 4 ; Long - 
fileSysID  DS.B 2 ; Word - 
  ENDR

ResHeaderRec RECORD 0 ; Resources
rFileVersion  DS.B 4 ; Long - Format version of resource fork
rFileToMap  DS.B 4 ; Long - Offset from start to resource map record
rFileMapSize  DS.B 4 ; Long - Number of bytes map occupies in file
rFileMemo  DS.B 128 ; byte[128] - Reserved space for application
rFileRecSize  DS.B 4 ; Long - Size of ResHeaderRec Record
  ENDR

FreeBlockRec RECORD 0 ; Resources
blkOffset  DS.B 4 ; Long - 
blkSize  DS.B 4 ; Long - 
  ENDR

ResMap RECORD 0 ; Resources
mapNext  DS.B 4 ; ResMapHndl - Handle to next resource map
mapFlag  DS.B 2 ; Word - Bit Flags
mapOffset  DS.B 4 ; Long - Map's file position
mapSize  DS.B 4 ; Long - Number of bytes map occupies in file
mapToIndex  DS.B 2 ; Word - 
mapFileNum  DS.B 2 ; Word - 
mapID  DS.B 2 ; Word - 
mapIndexSize  DS.B 4 ; Long - 
mapIndexUsed  DS.B 4 ; Long - 
mapFreeListSize  DS.B 2 ; Word - 
mapFreeListUsed  DS.B 2 ; Word - 
mapFreeList  DS.B 8 ; FreeBlockRec[1] - n bytes (array of free block records)
  ENDR

ResRefRec RECORD 0 ; Resources
resType  DS.B 2 ; ResType - 
resID  DS.B 4 ; ResID - 
resOffset  DS.B 4 ; Long - 
resAttr  DS.B 2 ; ResAttr - 
resSize  DS.B 4 ; Long - 
resHandle  DS.B 4 ; Handle - 
  ENDR

ResourceSpec RECORD 0 ; Resources
resourceType  DS.B 2 ; ResType -  
resourceID  DS.B 4 ; ResID -  
  ENDR

ResNameEntry RECORD 0 ; Resources
namedResID  DS.B 4 ; ResID -  
resName  DS Str255 ; Str255 -  
  ENDR

ResNameRec RECORD 0 ; Resources
version  DS.B 2 ; word - 
nameCount  DS.B 4 ; long - 
resNameEntries  DS.B 4 ; ResNameEntry[1] - 
  ENDR

GetLInfoPB RECORD 0 ; Shell
sfile  DS.B 4 ; Ptr - address of source file name
dfile  DS.B 4 ; Ptr - address of output file name
parms  DS.B 4 ; Ptr - address of parameter list
istring  DS.B 4 ; Ptr - address of language specific input string
merr  DS.B 1 ; Byte - max error level allowed
merrf  DS.B 1 ; Byte - max error level found
lops  DS.B 1 ; Byte - operations flag
kflag  DS.B 1 ; Byte - KEEP flag
mflags  DS.B 4 ; unsigned long - set of letters selected with '-'
pflags  DS.B 4 ; unsigned long - set of letters selected with '+'
org  DS.B 4 ; unsigned long - abs start address of non-relloc load file
  ENDR

SoundParamBlock RECORD 0 ; Sound
waveStart  DS.B 4 ; Pointer - starting address of wave
waveSize  DS.B 2 ; Word - waveform size in pages
freqOffset  DS.B 2 ; Word - ? formula to be provided
docBuffer  DS.B 2 ; Word - DOC buffer start address, low byte = 0
bufferSize  DS.B 2 ; Word - DOC buffer start address, low byte = 0
nextWavePtr  DS.B 4 ; SoundPBPtr - Pointer to start of next wave's parameter block
volSetting  DS.B 2 ; Word - DOC volume setting. High byte = 0
  ENDR

DocRegParamBlk RECORD 0 ; Sound
oscGenType  DS.B 2 ; Word -  
freqLow1  DS.B 1 ; Byte -  
freqHigh1  DS.B 1 ; Byte -  
vol1  DS.B 1 ; Byte -  
tablePtr1  DS.B 1 ; Byte -  
control1  DS.B 1 ; Byte -  
tableSize1  DS.B 1 ; Byte -  
freqLow2  DS.B 1 ; Byte -  
freqHigh2  DS.B 1 ; Byte -  
vol2  DS.B 1 ; Byte -  
tablePtr2  DS.B 1 ; Byte -  
control2  DS.B 1 ; Byte -  
tableSize2  DS.B 1 ; Byte -  
  ENDR

SFReplyRec RECORD 0 ; StdFile
good  DS.B 2 ; Boolean - TRUE for open; FALSE for cancel
fileType  DS.B 2 ; Word - ProDOS file type
auxFileType  DS.B 2 ; Word - ProDOS aux file type
filename  DS.B 16 ; char[16] - length byte - Name of file in prefix 0
fullPathname  DS.B 129 ; char[129] - length byte - The full pathname of the selected file.
  ENDR

SFReplyRec2 RECORD 0 ; StdFile
good  DS.B 4 ; Boolean - 
fileType  DS.B 2 ; Word - 
auxType  DS.B 4 ; Long - 
nameRefDesc  DS.B 2 ; RefDescriptor - 
nameRef  DS.B 4 ; Ref - 
pathRefDesc  DS.B 2 ; RefDescriptor - 
pathRef  DS.B 4 ; Ref - 
  ENDR

multiReplyRecord RECORD 0 ; StdFile
good  DS.B 2 ; Word -  
namesHandle  DS.B 4 ; Handle -  
  ENDR

SFTypeList RECORD 0 ; StdFile
numEntries  DS.B 1 ; byte - 
fileTypeEntries  DS.B 5 ; byte[sfFileTypeEntriesLength] - 
  ENDR

TypeSelector2 RECORD 0 ; StdFile
flags  DS.B 2 ; Word -  
fileType  DS.B 2 ; Word -  
auxType  DS.B 4 ; Long -  
  ENDR

SFTypeList2 RECORD 0 ; StdFile
numEntries  DS.B 2 ; Word - 
fileTypeEntries  DS.B 40 ; TypeSelector2[sfFileTypeEntriesLength] - 
  ENDR

TETextBlock RECORD 0 ; TextEdit
nextHandle  DS.B 4 ; TETextBlockHndl - Handle to next TextBlock in list
prevHandle  DS.B 4 ; TETextBlockHndl - Handle to previous TextBlock in list
textLength  DS.B 4 ; Long - Number of bytes of theText
flags  DS.B 2 ; Word - 
reserved  DS.B 2 ; Word - Reserved
theText  DS.B 1 ; Byte[1] - textLength bytes of text 
  ENDR

TETextList RECORD 0 ; TextEdit
cachedHandle  DS.B 4 ; TETextBlockHndl - Handle to current TextBlock
cachedOffset  DS.B 4 ; Long - Text offset of the start of the current TextBlock
  ENDR

TEColorTable RECORD 0 ; TextEdit
contentColor  DS.B 2 ; word - 
outlineColor  DS.B 2 ; word - 
hiliteForeColor  DS.B 2 ; word - 
hiliteBackColor  DS.B 2 ; word - 
vertColorDescriptor  DS.B 2 ; word - 
vertColorRef  DS.B 4 ; long - 
horzColorDescriptor  DS.B 2 ; word - 
horzColorRef  DS.B 4 ; long - 
growColorDescriptor  DS.B 2 ; word - 
growColorRef  DS.B 4 ; long - 
  ENDR

TEBlockEntry RECORD 0 ; TextEdit
text  DS.B 4 ; Handle -  
length  DS.B 4 ; Handle -  
flags  DS.B 2 ; word -  
  ENDR

TEBlocksRecord RECORD 0 ; TextEdit
start  DS.B 4 ; long -  
index  DS.B 2 ; word -  
blocks  DS.B 10 ; TEBlockEntry[1] -  
  ENDR

TabItem RECORD 0 ; TextEdit
tabKind  DS.B 2 ; Word - 
tabData  DS.B 2 ; Word - 
  ENDR

TESuperItem RECORD 0 ; TextEdit
itemLength  DS.B 4 ; Long -  
itemData  DS.B 4 ; Long -  
  ENDR

TESuperBlock RECORD 0 ; TextEdit
nextHandle  DS.B 4 ; TESuperBlockHndl -  
prevHandle  DS.B 4 ; TESuperBlockHndl -  
textLength  DS.B 4 ; Long -  
reserved  DS.B 4 ; Long -  
theItems  DS.B 8 ; TESuperItem[1] -  
  ENDR

TESuperHandle RECORD 0 ; TextEdit
cachedHandle  DS.B 4 ; TESuperBlockHndl -  
cachedOffset  DS.B 4 ; Long -  
cachedIndex  DS.B 2 ; word -  
itemsPerBlock  DS.B 2 ; word -  
  ENDR

TERuler RECORD 0 ; TextEdit
leftMargin  DS.B 2 ; Word - 
leftIndent  DS.B 2 ; Word - 
rightMargin  DS.B 2 ; Word - 
just  DS.B 2 ; Word - 
extraLS  DS.B 2 ; Word - 
flags  DS.B 2 ; Word - 
userData  DS.B 4 ; Long - 
tabType  DS.B 2 ; Word - 
theTabs  DS.B 4 ; TabItem[1] - 
tabTerminator  DS.B 2 ; Word - 
  ENDR

TEStyle RECORD 0 ; TextEdit
styleFontID  DS FontID ; FontID - 
foreColor  DS.B 2 ; Word - 
backColor  DS.B 2 ; Word - 
userData  DS.B 4 ; Long - 
  ENDR

TEStyleGroup RECORD 0 ; TextEdit
count  DS.B 2 ; word -  
styles  DS.B 12 ; TEStyle[1] -  
  ENDR

StyleItem RECORD 0 ; TextEdit
dataLength  DS.B 4 ; long - Number of text characters using the style
dataOffset  DS.B 4 ; long - Byte offset into theStyleList entry
  ENDR

TEFormat RECORD 0 ; TextEdit
version  DS.B 2 ; word - 
rulerListLength  DS.B 4 ; long - 
theRulerList  DS.B 22 ; TERuler[1] - 
styleListLength  DS.B 4 ; long - 
theStyleList  DS.B 12 ; TEStyle[1] - 
numberOfStyles  DS.B 4 ; long - 
theStyles  DS.B 8 ; StyleItem[1] - 
  ENDR

TETextRef RECORD 0 ; TextEdit
textRefLong  DS.B 4 ; Ptr -  
  ENDR

TEStyleRef RECORD 0 ; TextEdit
styleRefLong  DS.B 4 ; Ptr -  
  ENDR

TEParamBlock RECORD 0 ; TextEdit
pCount  DS.B 2 ; word - 
controlID  DS.B 4 ; long - 
boundsRect  DS Rect ; Rect - 
procRef  DS.B 4 ; long - 
flags  DS.B 2 ; word - 
moreflags  DS.B 2 ; word - 
refCon  DS.B 4 ; long - 
textFlags  DS.B 4 ; long - 
indentRect  DS Rect ; Rect - 
vertBar  DS.B 4 ; CtlRecHndl - 
vertAmount  DS.B 2 ; word - 
horzBar  DS.B 4 ; CtlRecHndl - 
horzAmount  DS.B 2 ; word - 
styleRef  DS TEStyleRef ; TEStyleRef - 
textDescriptor  DS.B 2 ; Word - 
textRef  DS TETextRef ; TETextRef - 
textLength  DS.B 4 ; long - 
maxChars  DS.B 4 ; long - 
maxLines  DS.B 4 ; long - 
maxCharsPerLine  DS.B 2 ; word - 
maxHeight  DS.B 2 ; word - 
colorRef  DS.B 4 ; TEColorRef - 
drawMode  DS.B 2 ; word - 
filterProcPtr  DS.B 4 ; ProcPtr - 
  ENDR

TEInfoRec RECORD 0 ; TextEdit
charCount  DS.B 4 ; long -  
lineCount  DS.B 4 ; long -  
formatMemory  DS.B 4 ; long -  
totalMemory  DS.B 4 ; long -  
styleCount  DS.B 4 ; long -  
rulerCount  DS.B 4 ; long -  
  ENDR

TEHooks RECORD 0 ; TextEdit
charFilter  DS.B 4 ; ProcPtr -  
wordWrap  DS.B 4 ; ProcPtr -  
wordBreak  DS.B 4 ; ProcPtr -  
drawText  DS.B 4 ; ProcPtr -  
eraseText  DS.B 4 ; ProcPtr -  
  ENDR

TEKeyRecord RECORD 0 ; TextEdit
theChar  DS.B 2 ; Word -  
theModifiers  DS.B 2 ; Word -  
theInputHandle  DS.B 4 ; Handle -  
cursorOffset  DS.B 4 ; Long -  
theOpCode  DS.B 2 ; Word -  
  ENDR

TERecord RECORD 0 ; TextEdit
ctrlNext  DS.B 4 ; CtlRecHndl -  
inPort  DS.B 4 ; WindowPtr -  
boundsRect  DS Rect ; Rect -  
ctrlFlag  DS.B 1 ; Byte -  
ctrlHilite  DS.B 1 ; Byte -  
lastErrorCode  DS.B 2 ; Word -  
ctrlProc  DS.B 4 ; ProcPtr -  
ctrlAction  DS.B 4 ; ProcPtr -  
filterProc  DS.B 4 ; ProcPtr -  
ctrlRefCon  DS.B 4 ; Long -  
colorRef  DS.B 4 ; TEColorTablePtr -  
textFlags  DS.B 4 ; long -  
textLength  DS.B 4 ; long -  
blockList  DS TETextList ; TETextList -  
ctrlID  DS.B 4 ; long -  
ctrlMoreFlags  DS.B 2 ; Word -  
ctrlVersion  DS.B 2 ; Word -  
viewRect  DS Rect ; Rect -  
totalHeight  DS.B 4 ; long -  
lineSuper  DS TESuperHandle ; TESuperHandle -  
styleSuper  DS TESuperHandle ; TESuperHandle -  
styleList  DS.B 4 ; Handle -  
rulerList  DS.B 4 ; Handle -  
lineAtEndFlag  DS.B 4 ; Boolean -  
selectionStart  DS.B 4 ; long -  
selectionEnd  DS.B 4 ; long -  
selectionActive  DS.B 2 ; Word -  
selectionState  DS.B 2 ; Word -  
caretTime  DS.B 4 ; long -  
nullStyleActive  DS.B 4 ; Boolean -  
nullStyle  DS TEStyle ; TEStyle -  
topTextOffset  DS.B 4 ; long -  
topTextVPos  DS.B 2 ; word -  
vertScrollBar  DS.B 4 ; CtlRecHndl -  
vertScrollPos  DS.B 4 ; long -  
vertScrollMax  DS.B 4 ; long -  
vertScrollAmount  DS.B 2 ; word -  
horzScrollBar  DS.B 4 ; CtlRecHndl -  
horzScrollPos  DS.B 4 ; long -  
horzScrollMax  DS.B 4 ; long -  
horzScrollAmount  DS.B 2 ; word -  
growBoxHandle  DS.B 4 ; CtlRecHndl -  
maximumChars  DS.B 4 ; long -  
maximumLines  DS.B 4 ; long -  
maxCharsPerLine  DS.B 2 ; word -  
maximumHeight  DS.B 2 ; word -  
textDrawMode  DS.B 2 ; word -  
wordBreakHook  DS.B 4 ; ProcPtr -  
wordWrapHook  DS.B 4 ; ProcPtr -  
keyFilter  DS.B 4 ; ProcPtr -  
theFilterRect  DS Rect ; Rect -  
theBufferVPos  DS.B 2 ; Word -  
theBufferHPos  DS.B 2 ; Word -  
theKeyRecord  DS TEKeyRecord ; TEKeyRecord -  
cachedSelcOffset  DS.B 4 ; long -  
cachedSelcVPos  DS.B 2 ; word -  
cachedSelcHPos  DS.B 2 ; word -  
mouseRect  DS Rect ; Rect -  
mouseTime  DS.B 4 ; long -  
mouseKind  DS.B 2 ; word -  
lastClick  DS Point ; Point -  
savedHPos  DS.B 2 ; Word -  
anchorPoint  DS.B 4 ; long -  
  ENDR

DeviceRec RECORD 0 ; TextTool
ptrOrSlot  DS.B 4 ; Long - slot number or jump table ptr
deviceType  DS.B 2 ; Word - type of input device
  ENDR

TxtMaskRec RECORD 0 ; TextTool
orMask  DS.B 2 ; Word - 
andMask  DS.B 2 ; Word - 
  ENDR

EntName RECORD 0 ; AppleTalk
buffer  DS.B 99 ; byte[99] -  
  ENDR

ATInitTailRec RECORD 0 ; AppleTalk
pathVolID  DS.B 2 ; word -  
pathDirID  DS.B 4 ; long -  
path  DS.B 65 ; char[65] -  
prefixVolID  DS.B 2 ; word -  
prefixDirID  DS.B 4 ; long -  
prefix  DS.B 65 ; char[65] -  
userName  DS.B 33 ; char[33] -  
printerFlags  DS.B 1 ; byte -  
printerTuple  DS.B 99 ; byte[99] -  
  ENDR

ATGetInfoRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
completionRtnReturn  DS.B 4 ; Long - 
thisNet  DS.B 2 ; Word - 
aBridge  DS.B 1 ; Byte - 
hardwareID  DS.B 1 ; Byte - 
romVersion  DS.B 2 ; Word - 
nodeNumber  DS.B 1 ; Byte - 
  ENDR

ATGetGlobalRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
bufferPtr  DS.B 4 ; Ptr - 
  ENDR

ATGetGlobalBuffer RECORD 0 ; AppleTalk
lapDestinationNode  DS.B 1 ; Byte - 
lapSourceNode  DS.B 1 ; Byte - 
lapType  DS.B 1 ; Byte - 
hopCountDL  DS.B 1 ; Byte - 
datagramLength  DS.B 1 ; Byte - 
ddpChecksum  DS.B 2 ; Word - 
destinationNetwork  DS.B 2 ; Word - 
sourceNetwork  DS.B 2 ; Word - 
destinationNode  DS.B 1 ; Byte - 
sourceNode  DS.B 1 ; Byte - 
destinationSocket  DS.B 1 ; Byte - 
sourceSocket  DS.B 1 ; Byte - 
ddpType  DS.B 1 ; Byte - 
packetLength  DS.B 2 ; Word - 
  ENDR

ATInstallTimerRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
completionRtnReturn  DS.B 4 ; Long - 
runningTickCount  DS.B 2 ; Word - 
ticksToComplete  DS.B 2 ; Word - 
reserved  DS.B 4 ; Pointer - 
  ENDR

ATRemoveTimerRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
reserved  DS.B 12 ; Byte[12] - 
  ENDR

ATBootRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
  ENDR

ATCancelTimerRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
reserved  DS.B 12 ; Byte[12] - 
  ENDR

ASPAttentionHeaderRec RECORD 0 ; AppleTalk
sessionRefNum  DS.B 1 ; Byte -  
attenType  DS.B 1 ; Byte -  
atten  DS.B 2 ; Word -  
  ENDR

ASPGetParmsRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
maxCmdSize  DS.B 2 ; Word - 
maxDataSize  DS.B 2 ; Word - 
  ENDR

ASPGetStatusRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
slsNet  DS.B 2 ; Word - SLS Network Number
slsNode  DS.B 1 ; Byte - SLS Node Number
slsSocket  DS.B 1 ; Byte - SLS Socket Number
bufferLength  DS.B 2 ; Word - Buffer Length
bufferAddr  DS.B 4 ; Long - Buffer Address
dataLength  DS.B 2 ; Word - Length of Status Data
  ENDR

ASPOpenSessionRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
slsNet  DS.B 2 ; Word - SLS Network Number
slsNode  DS.B 1 ; Byte - SLS Node Number
slsSocket  DS.B 1 ; Byte - SLS Socket Number
attnRtnAddr  DS.B 4 ; Long - Attention Routine Addr
refNum  DS.B 1 ; Byte - Session Reference Number
  ENDR

ASPCloseSessionRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
refNum  DS.B 1 ; Byte - Session Reference Number
  ENDR

ASPCommandRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
refNum  DS.B 1 ; Byte - Session Reference Number
cmdBlkLength  DS.B 2 ; Word - Command Block Length
cmdBlkAddr  DS.B 4 ; Long - Command Block Address
replyBufferLength  DS.B 2 ; Word - Reply Buffer Length
replyBufferAddr  DS.B 4 ; Long - Reply Buffer Address
cmdResult  DS.B 4 ; Long - Command Result
replyLength  DS.B 2 ; Word - Reply Length
  ENDR

ASPWriteRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
refNum  DS.B 1 ; Byte - Session Reference Number
cmdBlkLength  DS.B 2 ; Word - Command Block Length
cmdBlkAddr  DS.B 4 ; Long - Command Block Address
writeDataLength  DS.B 2 ; Word - Write Data Length
writeDataAddr  DS.B 4 ; Long - Write Data Address
replyBufferLength  DS.B 2 ; Word - Reply Buffer Length
replyBufferAddr  DS.B 4 ; Long - Reply Buffer Address
cmdResult  DS.B 4 ; Long - Command Result
writtenLength  DS.B 2 ; Word - Written Length
replyLength  DS.B 2 ; Word - Reply Length
  ENDR

Server RECORD 0 ; AppleTalk
serverName  DS.B 4 ; Pointer - Pointer to a Server Entity
net  DS.B 2 ; Word - Net of the server
node  DS.B 1 ; Byte - Node of the server
socket  DS.B 1 ; Byte - Socket number of the server
  ENDR

ATPSendReqRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result from the ATP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
socketID  DS.B 1 ; Byte - dynamic socket number
destNetID  DS.B 2 ; Word - destination network #
destNodeID  DS.B 1 ; Byte - destination node #
destSocketID  DS.B 1 ; Byte - destination socket #
transactionID  DS.B 2 ; Word - transaction ID #
reqBufferLength  DS.B 2 ; Word - request buffer length
reqBufferPtr  DS.B 4 ; Long - pointer to the request buffer
userBytes  DS.B 4 ; Long - user BYTEs
numberRespBuffers  DS.B 1 ; Byte - number of response buffers
respBufferPtr  DS.B 4 ; Long - pointer to the response buffer
atpFlags  DS.B 1 ; Byte - flags for ATP transaction
rInterval  DS.B 1 ; Byte - timeout before retrying
rCount  DS.B 1 ; Byte - number of retries to attempt
bitMap  DS.B 1 ; Byte - bitmap indicating for packet reception
responseRcv  DS.B 1 ; Byte - number of responses received
reserved  DS.B 1 ; Byte - reserved for future use
  ENDR

ATPCancelReqRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result from ATP operation
transactionID  DS.B 2 ; Word - transaction ID #
  ENDR

ATPOpenSocketRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result from the ATP operation
socketID  DS.B 1 ; Byte - socket number to open
  ENDR

ATPCloseSocketRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result from ATP operation
socketID  DS.B 1 ; Byte - socket number for closing
  ENDR

ATPGetReqRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result from ATP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
respSocketID  DS.B 1 ; Byte - response socket #
networkID  DS.B 2 ; Word - source network #
nodeID  DS.B 1 ; Byte - source node #
socketID  DS.B 1 ; Byte - source socket #
transactionID  DS.B 2 ; Word - ATP transaction ID
reqBufferLength  DS.B 2 ; Word - request buffer length
reqBufferPtr  DS.B 4 ; Long - pointer to request buffer
userBytes  DS.B 4 ; Long - user BYTEs
requestLength  DS.B 2 ; Word - actual request length
atpFlags  DS.B 1 ; Byte - ATP operation flags
bitMap  DS.B 1 ; Byte - bitmap for packet reception
reserved  DS.B 4 ; Long - reserved for future use
  ENDR

ATPSendRespRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - result to the ATP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
socketID  DS.B 1 ; Byte - response socket #
destNetID  DS.B 2 ; Word - destination network #
destNodeID  DS.B 1 ; Byte - destination node #
destSocketID  DS.B 1 ; Byte - destination socket #
transactionID  DS.B 2 ; Word - transaction ID #
numRespBuffers  DS.B 1 ; Byte - number of response buffers
totalPackets  DS.B 1 ; Byte - total ATP packets
respBDSPtr  DS.B 4 ; Long - pointer to the BDS buffer
atpFlags  DS.B 1 ; Byte - ATP operation flags
bitmap  DS.B 1 ; Byte - bitmap for packet reception
addRoutinePtr  DS.B 4 ; Long - pointer to a routine to call when packets have been released
stsFlag  DS.B 1 ; Byte - Flag indicating the use of STS servicing
  ENDR

ATPAddRespRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result to the ATP operation
socketID  DS.B 1 ; Byte - response socket #
destNetID  DS.B 2 ; Word - destination network #
destNodeID  DS.B 1 ; Byte - destination node #
destSocketID  DS.B 1 ; Byte - destination socket #
transactionID  DS.B 2 ; Word - ATP transaction ID #
respBufferLength  DS.B 2 ; Word - length of the response buffer
respBufferPtr  DS.B 4 ; Long - pointer to the response buffer
userBytes  DS.B 4 ; Long - user BYTEs
atpFlags  DS.B 1 ; Byte - ATP operation flag
  ENDR

ATPRelCBRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ATP command to execute
result  DS.B 2 ; Word - error result to the ATP operation
socketID  DS.B 1 ; Byte - response socket #
destNetID  DS.B 2 ; Word - destination network #
destNodeID  DS.B 1 ; Byte - destination node #
destSocketID  DS.B 1 ; Byte - destination socket #
transactionID  DS.B 2 ; Word - ATP transaction ID
  ENDR

RespBDSBuffer RECORD 0 ; AppleTalk
bufferLength  DS.B 2 ; Word - 
bufferPtr  DS.B 4 ; Long - 
userBytes  DS.B 4 ; Long - 
actualLength  DS.B 2 ; Word - 
  ENDR

DDPOpenSocketRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - DDP command to execute
result  DS.B 2 ; Word - error result from DDP operation
socketNumber  DS.B 1 ; Byte - socket number opened
clientAddr  DS.B 4 ; Long - client address
  ENDR

DDPCloseSocketRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - DDP commnd to execute
result  DS.B 2 ; Word - error result from DDP operation
socketNumber  DS.B 1 ; Byte - socket # to close
  ENDR

DDPSendDatagramRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - DDP command to execute
result  DS.B 2 ; Word - error result from DDP operation
checksum  DS.B 1 ; Byte - calculated checksum
destNet  DS.B 2 ; Word - destination network #
destNode  DS.B 1 ; Byte - destination node #
destSocket  DS.B 1 ; Byte - destination socket #
sourceSocket  DS.B 1 ; Byte - DDP socket to send from
ddpType  DS.B 1 ; Byte - DDP protocol type
bdsPtr  DS.B 4 ; Long - pointer to the DDP BDS buffer
  ENDR

LAPWriteRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - lap command to execute
result  DS.B 2 ; Word - lap error result code
destNode  DS.B 1 ; Byte - destination node to send packet to
lapType  DS.B 1 ; Byte - lap protocol type to send
lapBDSPtr  DS.B 4 ; Long - pointer to the lap BDS buffer
  ENDR

LAPReadBufferRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - LAP command to execute
result  DS.B 2 ; Word - error result of the LAP operation
requestCount  DS.B 2 ; Word - how many BYTEs to transfer
bufferPtr  DS.B 4 ; Long - pointer to a buffer to store info
purge  DS.B 1 ; Byte - flag for purging the buffer if wrong size
amountTransfered  DS.B 2 ; Word - actual amount transfered
  ENDR

LAPAttachProtRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - LAP command to execute
result  DS.B 2 ; Word - error result of LAP operation
protType  DS.B 1 ; Byte - protocol type specifing the LAP type
protAddr  DS.B 4 ; Long - protocol address specifing the LAP handler
  ENDR

LAPRemoveProtRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - LAP command to execute
result  DS.B 2 ; Word - error result of LAP operation
protType  DS.B 1 ; Byte - protocol type specifing the LAP type
  ENDR

BDS RECORD 0 ; AppleTalk
BufferLength  DS.B 2 ; Word - 
BufferPtr  DS.B 4 ; Long - 
  ENDR

NBPRNEntityNameRec RECORD 0 ; AppleTalk
reserved  DS.B 9 ; byte[9] -  
entityName  DS EntName ; EntName -  
  ENDR

NBPLUNameBufferRec RECORD 0 ; AppleTalk
netNum  DS.B 2 ; word -  
nodeNum  DS.B 1 ; byte -  
socketNum  DS.B 1 ; byte -  
enumerator  DS.B 1 ; byte -  
entityName  DS EntName ; EntName -  
  ENDR

NBPRegisterNameRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - NBP command to execute
result  DS.B 2 ; Word - error result from NBP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
namePtr  DS.B 4 ; Long - pointer to the entityType
rInterval  DS.B 1 ; Byte - timeOut period before retrying
rCount  DS.B 1 ; Byte - number of retries to attempt
reserved  DS.B 2 ; Word - reserved for future use
socketNumber  DS.B 1 ; Byte - socket listner being registered
checkFlag  DS.B 1 ; Byte - flag for checking duplicate names
  ENDR

NBPRemoveNameRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - NBP command to execute
result  DS.B 2 ; Word - error result from NBP operation
entityPtr  DS.B 4 ; Long - pointer to the entity entityType
  ENDR

NBPLookupNameRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - NBP command to execute
result  DS.B 2 ; Word - error result from NBP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
entityPtr  DS.B 4 ; Long - pointer to the entity entityType
rInterval  DS.B 1 ; Byte - timeout interval before retrying
rCount  DS.B 1 ; Byte - number of retries to attempt
reserved  DS.B 2 ; Word - reserved for future use
bufferLength  DS.B 2 ; Word - length of the user buffer
bufferPtr  DS.B 4 ; Long - pointer to the user buffer
maxMatch  DS.B 1 ; Byte - maxiumn number of name matches
actualMatch  DS.B 1 ; Byte - actual number of matches
  ENDR

NBPConfirmNameRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - NBP command to execute
result  DS.B 2 ; Word - error result from NBP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
entityPtr  DS.B 4 ; Long - pointer to the entity name
rInterval  DS.B 1 ; Byte - timeout interval before retrying
rCount  DS.B 1 ; Byte - number of retries to attempt
reserved  DS.B 2 ; Word - reserved for future use
networkID  DS.B 2 ; Word - network number for confirmation
nodeID  DS.B 1 ; Byte - node number for confirmation
socketID  DS.B 1 ; Byte - socket number for confirmation
actualSocketID  DS.B 1 ; Byte - actual socket number confirmed
  ENDR

NBPKillRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte -  
command  DS.B 1 ; Byte -  
result  DS.B 2 ; Word -  
paramBlockPtr  DS.B 4 ; Pointer -  
  ENDR

PAPStatusRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
printerNamePtr  DS.B 4 ; Long - pointer to the printer name
statusBufferPtr  DS.B 4 ; Long - pointer to the status buffer
  ENDR

PAPOpenRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
sessRefID  DS.B 1 ; Byte - session reference number
printerNamePtr  DS.B 4 ; Long - printer name pointer
flowQuantum  DS.B 1 ; Byte - number of ATP packets to be sent
statusBufferPtr  DS.B 4 ; Long - pointer to the status buffer
  ENDR

PAPCloseRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
sessRefID  DS.B 1 ; Byte - session referance number
  ENDR

PAPReadRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
sessRefID  DS.B 1 ; Byte - session reference #
bufferLength  DS.B 2 ; Word - length of the user buffer
bufferPtr  DS.B 4 ; Long - pointer to the user buffer
papEOF  DS.B 1 ; Byte - end of file flag
  ENDR

PAPWriteRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
sessRefID  DS.B 1 ; Byte - session reference #
dataLength  DS.B 2 ; Word - data length
bufferPtr  DS.B 4 ; Long - pointer to the buffer
papEOF  DS.B 1 ; Byte - end of file flag
  ENDR

PAPUnloadRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PAP command to execute
result  DS.B 2 ; Word - error result from a PAP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
  ENDR

PFIAttentionHeaderRec RECORD 0 ; AppleTalk
sessionRefNum  DS.B 1 ; byte - 
attenType  DS.B 1 ; byte - 
atten  DS.B 2 ; word - 
serverName  DS.B 33 ; char[33] - 
zoneName  DS.B 34 ; char[34] - 
  ENDR

PFIHooksMountingRec RECORD 0 ; AppleTalk
sessionRefNum  DS.B 1 ; byte - 
p8UnitNum  DS.B 1 ; byte - 
volumeName  DS.B 29 ; char[29] - 
volumeID  DS.B 2 ; Word - 
serverName  DS.B 33 ; char[33] - 
zoneName  DS.B 34 ; char[34] - 
  ENDR

PFIUserPrefixRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
directionFlag  DS.B 1 ; Byte - high bit set to point to by User Pointer is stored in PFI
userNamePtr  DS.B 2 ; Word - name pointed to my User Mane Pointer
  ENDR

PFILoginRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
networkID  DS.B 2 ; Word - network number for confirmation
nodeID  DS.B 1 ; Byte - node number for confirmation
socketID  DS.B 1 ; Byte - socket number for confirmation
cmdBufferLength  DS.B 2 ; Word - length of the user command buffer
cmdBufferPtr  DS.B 4 ; Long - pointer to the user command buffer
replyBufferLength  DS.B 2 ; Word - length of the reply buffer
replyBufferPtr  DS.B 4 ; Long - pointer to the reply buffer
sessRefID  DS.B 1 ; Byte - session reference number
attnRtnAddr  DS.B 4 ; Long - 
  ENDR

PFILoginContRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
sessRefID  DS.B 1 ; Byte - session reference number
cmdBufferLength  DS.B 2 ; Word - length of the user command buffer
cmdBufferPtr  DS.B 4 ; Long - pointer to the user command buffer
replyBufferLength  DS.B 2 ; Word - length of the reply buffer
replyBufferPtr  DS.B 4 ; Long - pointer to the reply buffer
  ENDR

PFILogoutRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
sessRefID  DS.B 1 ; Byte - session reference number
  ENDR

PFIMountvolRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
sessRefID  DS.B 1 ; Byte - session reference number
mountflag  DS.B 1 ; Byte - mount flag field specifies whether the vol is to be mounted
volNamePtr  DS.B 4 ; Long - pointer to the volume that will be pseudo-mounted
volID  DS.B 2 ; Word - volume ID returned by AFP
slotDrive  DS.B 1 ; Byte - the slot/drive in ProDOS format into which the volume was pseudo-mounted
passwordPtr  DS.B 4 ; Long - pointer to password for the pseudo-mounted volume
  ENDR

PFIListBufferRec RECORD 0 ; AppleTalk
sessionRefNum  DS.B 1 ; byte - 
Slot  DS.B 1 ; byte - 
volumeName  DS.B 28 ; byte[28] - 
volumeID  DS.B 2 ; word - 
  ENDR

PFIListSessionsRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
bufferLength  DS.B 2 ; Word - length of the user buffer
bufferPtr  DS.B 4 ; Long - pointer to the user buffer
entriesRtn  DS.B 1 ; Byte - contains the number of entries returned from the list of current sessions being maintained through the PFI and any volumes mounted for those sessions
  ENDR

PFITimeZoneRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
timeFlag  DS.B 1 ; Byte - depending on bit set of the time falg field indicates whether the time should be added to or subtracted from the time zone selected
  ENDR

PFIGetSrcpathRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
bufferPtr  DS.B 4 ; Long - pointer to the user buffer where the pathname will be placed
  ENDR

PFIAccessRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
directionalFlag  DS.B 1 ; Byte - if bit 7 of the directional flag is set, the access is being set
accessRights  DS.B 4 ; Long - access rights in AFP format
pathnamePtr  DS.B 4 ; Long - pointer the path name containing that volume
creatorNamePtr  DS.B 4 ; Long - if bit 6 of the directional flag is set, the creator's name will be dealt with
groupNamePtr  DS.B 4 ; Long - if bit 5 of the directional flag is set, the group name will be dealt with
  ENDR

PFINamingRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
directionalFlag  DS.B 1 ; Byte - if bit 7 of the directional flag is set, the naming convention is being set
namingConvFlag  DS.B 1 ; Byte - if bit 7 of the naming convention flag is set, the naming convention becomes AFP format
  ENDR

PFIConvertTimeRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
formatFlag  DS.B 1 ; Byte - if the format flag is set to 0, then from date time is AFP format  if the format flag is set to 1, then from date time is ProDOS format
fromDateTime  DS.B 4 ; Long - this field contains the From DATE/Time data (values) to convert, not pointers
toDateTime  DS.B 4 ; Long - this field contains the TO DATE/Time data (values) to convert, not pointers
  ENDR

PFISetBufferRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - PFI command to execute
result  DS.B 2 ; Word - error result from PFI operation
dirFlag  DS.B 1 ; Byte - $00 or $80
bufferLength  DS.B 2 ; Word - Buffer Length
bufferPtr  DS.B 4 ; Long - if the format flag is set to 0, then from date time is AFP format
  ENDR

PFIHooksRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte -  
command  DS.B 1 ; Byte -  
result  DS.B 2 ; Word -  
hookFlag  DS.B 1 ; Byte -  
mountVector  DS.B 4 ; Long -  
unmountVector  DS.B 4 ; Long -  
attentionVector  DS.B 4 ; Long -  
  ENDR

PFILogin2Rec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte -  
result  DS.B 2 ; Word -  
newworkID  DS.B 2 ; Word -  
nodeID  DS.B 1 ; Byte -  
socketID  DS.B 1 ; Byte -  
cmdBufferLength  DS.B 2 ; Word -  
cmdBufferPtr  DS.B 4 ; Long -  
replyBufferLength  DS.B 2 ; Word -  
replyBufferPtr  DS.B 4 ; Long -  
sessRefID  DS.B 1 ; Byte -  
attnRtnAddr  DS.B 4 ; Long -  
serverName  DS.B 4 ; Pointer -  
zoneName  DS.B 4 ; Pointer -  
afpVersionNum  DS.B 2 ; Word -  
  ENDR

PFIListSessions2Rec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte -  
command  DS.B 1 ; Byte -  
result  DS.B 2 ; Word -  
bufferLength  DS.B 2 ; Word -  
bufferPtr  DS.B 4 ; Long -  
entriesRtn  DS.B 1 ; Byte -  
  ENDR

PFIGetSVersionRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte -  
command  DS.B 1 ; Byte -  
result  DS.B 2 ; Word -  
sessRefID  DS.B 1 ; Byte -  
afpVersionNum  DS.B 2 ; Word -  
  ENDR

ListSessionsBuffer RECORD 0 ; AppleTalk
refNum  DS.B 1 ; Byte - 
slotDrive  DS.B 1 ; Byte - 
volName  DS.B 28 ; char[28] - 
volID  DS.B 2 ; Word - 
  ENDR

RPMSetPrinterRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - RPM command to execute
result  DS.B 2 ; Word - error code returned from RPM operation
entityPtr  DS.B 4 ; Long - pointer to the entity name
rpmFlags  DS.B 1 ; Byte - RPM operation flags
flushInterval  DS.B 2 ; Word - flush interval
timeOut  DS.B 2 ; Word - timeOut
numberBuffers  DS.B 2 ; Word - number of buffers allocated
  ENDR

RPMCloseSessionRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 2 ; Word - 
  ENDR

RPMFlushSessionRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - 
command  DS.B 1 ; Byte - 
result  DS.B 1 ; Byte - 
  ENDR

ZIPGetMyZoneRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ZIP Command to execute
result  DS.B 2 ; Word - error result from a ZIP operation
completionPtr  DS.B 4 ; Long - Pointer to the completion routine
bufferPtr  DS.B 4 ; Long - pointe to the buffer
timeOut  DS.B 1 ; Byte - timeout interval for retrying
retry  DS.B 1 ; Byte - number of retries to attempt
reserved  DS.B 2 ; Word - reserved for future use
  ENDR

ZIPGetZoneListRec RECORD 0 ; AppleTalk
async  DS.B 1 ; Byte - asyncronous flag
command  DS.B 1 ; Byte - ZIP command to execute
result  DS.B 2 ; Word - error result from a ZIP operation
completionPtr  DS.B 4 ; Long - pointer to the completion routine
bufferLength  DS.B 2 ; Word - length of the user buffer
bufferPtr  DS.B 4 ; Long - pointer to the user buffer
bridgeNodeID  DS.B 1 ; Byte - bridge node number
startIndex  DS.B 2 ; Word - starting index of the buffer
timeOut  DS.B 1 ; Byte - timeout interval for retrying
retry  DS.B 1 ; Byte - number of retries to attempt
zonesFound  DS.B 2 ; Word - number of zones found
reserved  DS.B 2 ; Word - reserved for future use (not clear in manual)
  ENDR

CmdBlock RECORD 0 ; AppleTalk
cmdLength  DS.B 2 ; Word - AFP Command Length
cmdBlkAddr  DS.B 4 ; Pointer - Address of AFP Command
replyLength  DS.B 2 ; Word - Size of Reply Buffer
replyBuffer  DS.B 4 ; Pointer - Address of Reply Buffer
writeLength  DS.B 2 ; Word - Size of Data to be written
writeBuffer  DS.B 4 ; Pointer - Address of Write Buffer
  ENDR

BufferControlRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word -  
flags  DS.B 2 ; Word -  
  ENDR

SpecialOpenForkRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
refNum  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
accessMode  DS.B 2 ; word - 
forkNum  DS.B 2 ; word - 
  ENDR

ByteRangeLockRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
refNum  DS.B 2 ; word - 
lockFlag  DS.B 2 ; word - 
fileOffset  DS.B 4 ; long - 
rangeLength  DS.B 4 ; long -  
rangeStart  DS.B 4 ; long -  
  ENDR

GetAccessRightsRec RECORD 0 ; AppleShare
userSummary  DS.B 1 ; byte - 
world  DS.B 1 ; byte - 
group  DS.B 1 ; byte - 
owner  DS.B 1 ; byte - 
  ENDR

GetPrivilegesRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
accessRights  DS GetAccessRightsRec ; GetAccessRightsRec - 
ownerName  DS.B 4 ; ResultBuf255Ptr - 
groupName  DS.B 4 ; ResultBuf255Ptr - 
  ENDR

SetAccessRightsRec RECORD 0 ; AppleShare
reserved  DS.B 1 ; byte - 
world  DS.B 1 ; byte - 
group  DS.B 1 ; byte - 
owner  DS.B 1 ; byte - 
  ENDR

SetPrivilegesRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
accessRights  DS SetAccessRightsRec ; SetAccessRightsRec - 
ownerName  DS.B 4 ; ResultBuf255Ptr - 
groupName  DS.B 4 ; ResultBuf255Ptr - 
  ENDR

UserInfoRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
deviceNum  DS.B 2 ; word - 
userName  DS.B 4 ; ResultBuf255Ptr - 
primaryGroupName  DS.B 4 ; ResultBuf255Ptr - 
  ENDR

CopyFileRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
sourcePathname  DS.B 4 ; GSString255Ptr - 
destPathname  DS.B 4 ; GSString255Ptr - 
  ENDR

GetUserPathRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
prefix  DS.B 4 ; GSString255Ptr - 
  ENDR

DesktopRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
desktopRefNum  DS.B 2 ; word - 
pathname  DS.B 4 ; GSString255Ptr - 
  ENDR

GetCommentRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
desktopRefNum  DS.B 2 ; word - 
pathname  DS.B 4 ; GSString255Ptr - 
comment  DS.B 4 ; ResultBuf255Ptr - 
  ENDR

SetCommentRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
desktopRefNum  DS.B 2 ; word - 
pathname  DS.B 4 ; GSString255Ptr - 
comment  DS.B 4 ; GSString255Ptr - 
  ENDR

GetServerNameRec RECORD 0 ; AppleShare
pCount  DS.B 2 ; Word - 
fstNum  DS.B 2 ; Word - 
commandNum  DS.B 2 ; Word - 
pathname  DS.B 4 ; GSString255Ptr - 
serverName  DS.B 4 ; ResultBuf255Ptr - 
zoneName  DS.B 4 ; ResultBuf255Ptr - 
  ENDR

ASOptionListRec RECORD 0 ; AppleShare
bufferSize  DS.B 2 ; word -  
dataSize  DS.B 2 ; word -  
theFileSysID  DS.B 2 ; word -  
finderInfo  DS.B 32 ; Byte[32] -  
parentDirID  DS.B 4 ; long -  
accessRights  DS.B 4 ; long -  
  ENDR


decform RECORD 0 ; SANE
style  DS.B 2 ; short - FLOATDECIMAL or FIXEDDECIMAL 
digits  DS.B 2 ; short - 
  ENDR

XCMDBlock RECORD 0 ; IdunaXCMD
paramCount  DS.B 2 ; word -  
params  DS.B 64 ; Handle[16] -  
returnValue  DS.B 4 ; Handle -  
passFlag  DS.B 2 ; Boolean -  
userID  DS.B 2 ; word -  
  ENDR

