;__________________________________________________________________________________________________ ; ; File: ATBootEqu.a ; ; Contains: Equates for .ATBoot driver (network booting) ; ; Written by: Patrick Dyson ; ; Copyright © 1989-1990 by Apple Computer, Inc. All rights reserved. ; ; Change History (most recent first): ; ; <6> 3/9/90 PWD Added offsets to driver globals for number of attempts and last ; big error. ; <5> 2/20/90 PWD fixed equates for boot blocks as per comment in atbootequ.a ; <4> 1/25/90 PWD fixed equates for boot blocks. ; <3> 12/28/89 SWC Fixed header and set tabs to 4. ; <2> 12/19/89 PWD Adding to bbs ; <1.1> 12/12/89 PWD Added support for self-authenticating images ; <1.0> 10/30/89 PWD Adding to EASE ;__________________________________________________________________________________________________ BootDDPType EQU 10 ; our DDP type BootSocket EQU 10 ; our static socket minPktSize EQU 6 ; the minumum header size BootStore EQU $B50 ; lomem storage place ; ; Constants within the packet for a received block packet ; packetVersion EQU 1 ; (byte) Protocol version number rbNullCommand EQU 0 ; ignore this one rbMapUser EQU 1 ; user record request rbUserReply EQU 2 ; user record reply rbImageRequest EQU 3 ; image request & bitmap rbImageData EQU 4 ; image data rbImageDone EQU 5 ; server done with current image rbUserRecordUpdate EQU 6 ; new user info to server rbUserRecordAck EQU 7 ; info received from server ; ; Offsets within the socket listener globals ; bootImageID EQU 0 ; (word) our image ID (-1 if uninit) machineID EQU bootImageID+2 ; (word) our machine id bitmapBase EQU machineID+2 ; (long) bitmap buffer area lastBlockNo EQU bitmapBase+4 ; (word) last block we have space for packetsReceived EQU lastBlockNo+2 ; (word) image blocks received imageBuffer EQU packetsReceived+2 ; (long) image buffer area blockSize EQU imageBuffer+4 ; (word) data block size trafficTimer EQU blockSize+2 ; (long) ticks when last block in progressTimer EQU trafficTimer+4 ; (long) ticks when last NEW block in retransThreshold EQU progressTimer+4 ; (long) dynamic ticks between retrans roundTrip EQU retransThreshold+4 ; (word) packet roundtrip time backOff EQU roundTrip+2 ; (word) exponential backoff factor lastRetransmission EQU backOff+2 ; (long) time of last transmission server_addr EQU lastRetransmission+4 ; (long) server address... tuple_table EQU server_addr+4 ; (long) pointer to tuple table readPacketArea EQU tuple_table+4 ; (586 bytes) ddp read area endOfGlobals EQU readPacketArea+586 ; end of globals SktLsnGSize EQU endOfGlobals ; globals size ; ; Offsets within a user record ; ; now padded to 586 bytes (maxddpsize) URserverName EQU 0 ; server name... URserverZone EQU URserverName+33 ; server zone URserverVol EQU URserverZone+33 ; volume name URserverAuthMeth EQU URserverVol+32 ; user name URsharedSysDirID EQU URserverAuthMeth+2 ; shared system folder dir id URuserDirID EQU URsharedSysDirID+4 ; user system folder dir id URfinderInfo EQU URuserDirID+4 ; saved finder info URbootBlocks EQU URfinderInfo+32 ; saved boot blocks URbootFlag EQU URbootBlocks+138 ; server based flags UREnd EQU URbootFlag+2 ; total structure size URSize EQU UREnd+306-18 ; pad for maxddp size ; ; Offsets within the driver globals ; netBootRefNum EQU 0 ; (word) refnum of .netBoot driver netError EQU netBootRefNum+2 ; (word) last error recorded netimageBuffer EQU netError+2 ; (long) pointer to downloaded image netImageSignature EQU netimageBuffer+4 ; (16 bytes) image signature netServerAddr EQU netImageSignature+16 ; (long) source server address netBootPktRply EQU netServerAddr+4 ; (BootPacketReply) netBootStorage EQU netBootPktRply+18+URsize; storage for downloaded code netpram EQU netBootStorage+4 ; (ptr) copy of pram record netnumAttempts EQU netpram+4 ; number of unsuccessful attempts netbigError EQU netnumAttempts+2 ; error that makes us guest boot endOfDGlobals EQU netbigError+2 ATGlobalsSize EQU endOfDGlobals ; size of globals for allocation ; ; Additional offsets for the record passed to the start code (pram record) ; PRosType EQU 0 ; (byte) os type PRprotocol EQU PRosType+1 ; (byte) protocol to boot over PRerrors EQU PRprotocol+1 ; (byte) last error PRflags EQU PRerrors+1 ; (byte) net boot flags PRsrvrHint EQU PRflags+1 ; (byte) last server address we booted from PRtimeout EQU PRsrvrHint+1 ; (byte) seconds to wait for bootserver PRsignature EQU PRtimeout+1 ; 16 byte image signature PRuserName EQU PRsignature+8 ; 31 byte user name PRpassword EQU PRuserName+31 ; 8 byte password PRsize EQU PRpassword+16 ; total structure size ; ; Constants for the flags (PRflags) (1=yes, 0=no) ain't binary great for boolean logic ; PRbootingEnabled EQU 7 ; net booting disabled PRsavedPasswd EQU 6 ; password saved