sys7.1-doc-wip/OS/NetBoot/NetBootEqu.a
2019-07-27 22:37:48 +08:00

94 lines
2.7 KiB
Plaintext

;__________________________________________________________________________________________________
;
; File: NetBootEqu.a
;
; Contains: Network boot equates
;
; Written by: Patrick Dyson
;
; Copyright © 1989-1990 by Apple Computer, Inc. All rights reserved.
;
; Change History (most recent first):
;
; <4> 2/20/90 PWD Fixed drive storage equate for extra field on drive queue
; element. Conflict with local equate caused crash on XO @ drive
; install time.
; <3> 12/28/89 SWC Fixed header and set tabs to 4.
; <2> 12/19/89 PWD Adding to bbs.
; <1.0> 10/30/89 PWD Adding to EASE
;__________________________________________________________________________________________________
;
; These are the machine ids to ask for boot images with.
;
MacMachID EQU 4 ; Machine ID for Spin
SEMachID EQU 5 ; Machine ID for Mac SEs et all
;
; The offsets for our globals
;
dProto EQU 0 ; boot protocol id (byte)
dProtoSlot EQU dProto+1 ; slot for proto driver
dProtoID EQU dProtoSlot+1 ; ID for driver
dProtoDriveNum EQU dProtoID+1 ; drive entry number
dProtoRefNum EQU dProtoDriveNum+1 ; b. proto driver refnum (0 if closed)
dLastError EQU dProtoRefNum+2 ; last, untranslated error
doldToExtFS EQU dLastError+2 ; place to save external file system hook when
; we patch in our routine to catch the mount
dQDGlobals EQU doldToExtFS+4 ; QD globals
dMyPort EQU dQDGlobals+grafSize ; our grafport (0 if not open)
dEnd EQU dMyPort+4 ; end of globals
dGlobalsSize EQU dEnd ; size of globals
;
; Our param block record for calling the .atBoot driver
;
returnVCB EQU csCode+2 ; (Ptr) space for return VCB pointer
returnDrvQ EQU returnVCB+4 ; (Ptr) ditto for drive queue element
pad EQU returnDrvQ+4
netBootParamsize EQU pad+7 ; pad out to standard control block
;
; our private storage on the end of a drive queue element
;
drvStorage EQU dQDrvSz2+2 ; the end of a drive queue element
;
; and our extfsID
;
dFSID EQU 1 ; to be tagged on our drive queue element
;
; Boot protocol driver csCodes
;
getBootBlocks EQU 1 ;
getSysVol EQU 2 ;
mountSysVol EQU 3 ;
BPgoodBye EQU 4 ;
getDriverGlobals EQU 5 ;
;
; Boot protocol driver error codes
;
dTryAgain EQU -1 ; negative for non-fatal
dNoError EQU 0 ; zero for no error
dNeverAgain EQU 1 ; positive for fatal
;
; assorted stuff
;
controlBit EQU 3 ; Bit for control key down
controlByte EQU 7 ; Byte for control keys
; the flags byte
BOOT_ENABLE EQU $80 ; <pd 4>bit for booting (1 = boot)
BOOT_RESERVED EQU $70 ; <pd 4>reserved bits
BOOT_RETRIES EQU $0F ; <pd 4>number of seconds to skip net booting (0-15)