mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +00:00
655 lines
25 KiB
Plaintext
655 lines
25 KiB
Plaintext
|
;
|
|||
|
; File: AppleTalk.a
|
|||
|
;
|
|||
|
; Created: Friday, October 20, 1989 at 9:11:59 PM
|
|||
|
; Version: 2.9
|
|||
|
;
|
|||
|
; Copyright: © 1990-1992 by Apple Computer, Inc., all rights reserved.
|
|||
|
;
|
|||
|
; Change History (most recent first):
|
|||
|
;
|
|||
|
; <SM2> 1/29/93 RB Change the SCCLockout value to 600 instead of 2600, because the
|
|||
|
; other bits in the status register should remain unchanged for
|
|||
|
; NewKernel.
|
|||
|
; <11> 7/1/92 DCL Obsoleted ATalkEqu.a which now includes this file.
|
|||
|
; <10> 6/14/91 JL Equated clientName and xppSubCode to $1C insteead of csCode
|
|||
|
; because csCode is in SysEqu.a which would have to be included.
|
|||
|
; Also substitued $1C for csParam which is also in SysEqu.a.
|
|||
|
; <9> 1/30/91 gbm sab, #38: Change the ‘already including this file’ variable to
|
|||
|
; all uppercase
|
|||
|
; <8> 1/19/91 mbs (jg) Remove lots of private stuff that should not be released
|
|||
|
; with MPW. Update for Inside Mac Volume 6.
|
|||
|
; <7> 1/4/91 JDR (dba) Put CancelAtalkClosePrep, AddCSCode, and AddCSAddr in to a
|
|||
|
; private file.
|
|||
|
; <6> 10/1/90 JAL Checked in new AppleTalk Phase II equates.
|
|||
|
; 1.0 11/ 9/88 CCH Adding to EASE.
|
|||
|
; •1.1 9/14/88 CCH Updated EASE with the current rev of this file.
|
|||
|
;--------------------------------------------------------------------
|
|||
|
|
|||
|
IF &TYPE('__INCLUDINGAPPLETALK__') = 'UNDEFINED' THEN
|
|||
|
__INCLUDINGAPPLETALK__ SET 1
|
|||
|
|
|||
|
IF &TYPE('__INCLUDINGSYSEQU__') = 'UNDEFINED' THEN
|
|||
|
INCLUDE 'SysEqu.a'
|
|||
|
ENDIF
|
|||
|
|
|||
|
;
|
|||
|
; AppleTalk unit numbers.
|
|||
|
;
|
|||
|
mppUnitNum EQU 9 ; MPP unit number
|
|||
|
atpUnitNum EQU 10 ; ATP unit number
|
|||
|
xppUnitNum EQU 40 ; XPP unit number
|
|||
|
;
|
|||
|
atpLoadedBit EQU 4 ; ATP loaded bit number in PortBUse
|
|||
|
xppLoadedBit EQU atpLoadedBit+1 ; XPP loaded bit number in PortBUse
|
|||
|
;
|
|||
|
;+ Name Binding Protocol (NBP)
|
|||
|
;
|
|||
|
nbp EQU $02 ; DDP protocol type code for NBP
|
|||
|
;
|
|||
|
nbpControl EQU 0 ; Control code
|
|||
|
nbpTCount EQU 0 ; Tuple count
|
|||
|
nbpID EQU 1 ; NBP ID
|
|||
|
nbpTuple EQU 2 ; Start of the first tuple
|
|||
|
;
|
|||
|
;NBP tuple header offsets:
|
|||
|
;
|
|||
|
tupleNet EQU 0 ; Offset to network no. [word]
|
|||
|
tupleNode EQU 2 ; Offset to node ID [byte]
|
|||
|
tupleSkt EQU 3 ; Offset to socket number [byte]
|
|||
|
tupleEnum EQU 4 ; Offset to enumerator [byte]
|
|||
|
tupleName EQU 5 ; Offset to name part of tuple [byte]
|
|||
|
tupleAddrSz EQU 5 ; tuple address field size
|
|||
|
;
|
|||
|
; NBP control codes - the following define the different types of NBP packets:
|
|||
|
;
|
|||
|
brRq EQU 1 ; Broadcast request
|
|||
|
lkUp EQU 2 ; Lookup request
|
|||
|
lkUpReply EQU 3 ; Lookup reply
|
|||
|
;
|
|||
|
; NBP miscellaneous
|
|||
|
;
|
|||
|
nis EQU 2 ; Names Information Socket (NIS) number
|
|||
|
tupleMax EQU 15 ; Most tuples in a lookup reply
|
|||
|
equals EQU '=' ; Wildcard symbol
|
|||
|
star EQU '*' ; "This zone" symbol
|
|||
|
;
|
|||
|
;
|
|||
|
;+ Routing Table Maintenance Protocol (RTMP)
|
|||
|
;
|
|||
|
rtmp EQU $01 ; DDP protocol type code for RTMP
|
|||
|
;
|
|||
|
; RTMP header offsets
|
|||
|
;
|
|||
|
rtmpNet EQU 0 ; Offset to network number [word]
|
|||
|
rtmpIDLen EQU 2 ; Offset to ID length [byte]
|
|||
|
rtmpID EQU 3 ; Offset to start of ID field
|
|||
|
;
|
|||
|
; RTMP packets are received at the well-known RTMP listening socket:
|
|||
|
;
|
|||
|
rtmpSkt EQU 1 ; Number of the RTMP socket
|
|||
|
;
|
|||
|
;
|
|||
|
;;+ Datagram Delivery Protocol (DDP)
|
|||
|
|
|||
|
ddpHopCnt EQU 0 ; Hop count (only used in long header) [byte]
|
|||
|
ddpLength EQU 0 ; Packet length (from this word onwards) [word]
|
|||
|
ddpChecksum EQU 2 ; Checksum [word]
|
|||
|
ddpDstNet EQU 4 ; Destination network no. [word]
|
|||
|
ddpSrcNet EQU 6 ; Network of origin [word]
|
|||
|
ddpDstNode EQU 8 ; Destination node address [byte]
|
|||
|
ddpSrcNode EQU 9 ; Node of origin [byte]
|
|||
|
ddpDstSkt EQU 10 ; Destination socket number [byte]
|
|||
|
ddpSrcSkt EQU 11 ; Source socket number [byte]
|
|||
|
ddpType EQU 12 ; DDP type field [byte]
|
|||
|
;
|
|||
|
sddpDstSkt EQU 2 ; Destination socket number (short header) [byte]
|
|||
|
sddpSrcSkt EQU 3 ; Source socket number (short header) [byte]
|
|||
|
sddpType EQU 4 ; DDP type field (short header) [byte]
|
|||
|
;
|
|||
|
ddphSzLong EQU 13 ; Size of extended DDP header
|
|||
|
ddphSzShort EQU 5 ; Size of short DDP header
|
|||
|
;
|
|||
|
shortDDP EQU $01 ; LAP type code for DDP (short header)
|
|||
|
longDDP EQU $02 ; LAP type code for DDP (long header)
|
|||
|
;
|
|||
|
; DDP miscellaneous
|
|||
|
;
|
|||
|
ddpMaxWKS EQU $7F ; The highest valid well-known socket
|
|||
|
ddpMaxData EQU 586 ; Maximum DDP data size
|
|||
|
ddpLenMask EQU $03FF ; Mask for DDP length
|
|||
|
;
|
|||
|
;
|
|||
|
;+ AppleBus Link Access Protocol (ABLAP)
|
|||
|
;
|
|||
|
lapDstAdr EQU 0 ; Destination node address [byte]
|
|||
|
lapSrcAdr EQU 1 ; Source node address [byte]
|
|||
|
lapType EQU 2 ; LAP type field [byte]
|
|||
|
lapHdSz EQU 3 ; Size of LAP header
|
|||
|
;
|
|||
|
; zs returned by ReadPacket and ReadRest routines
|
|||
|
;
|
|||
|
overrunErr EQU -1
|
|||
|
crcErr EQU -2
|
|||
|
underrunErr EQU -3
|
|||
|
lengthErr EQU -4
|
|||
|
;
|
|||
|
; SCC interrupt priority Should NEVER MOVE.W this value, just ORI.W <SM2> rb
|
|||
|
;
|
|||
|
sccLockout EQU $600 ; This value works on both Mac and Lisa <SM2> rb
|
|||
|
;
|
|||
|
;
|
|||
|
;+ MPP (control calls to NBP, DDP and ABLAP)
|
|||
|
;
|
|||
|
lookupReply EQU 242 ; This command queued to ourself
|
|||
|
writeLAP EQU 243 ; Write out LAP packet
|
|||
|
detachPH EQU 244 ; Detach LAP protocol handler
|
|||
|
attachPH EQU 245 ; Attach LAP protocol handler
|
|||
|
writeDDP EQU 246 ; Write out DDP packet
|
|||
|
closeSkt EQU 247 ; Close DDP socket
|
|||
|
openSkt EQU 248 ; Open DDP socket
|
|||
|
loadNBP EQU 249 ; Load NBP command-executing code
|
|||
|
lastResident EQU 249 ; Last resident command
|
|||
|
confirmName EQU 250 ; Confirm name
|
|||
|
lookupName EQU 251 ; Look up name on internet
|
|||
|
removeName EQU 252 ; Remove name from Names Table
|
|||
|
registerName EQU 253 ; Register name in Names Table
|
|||
|
killNBP EQU 254 ; Kill outstanding NBP request
|
|||
|
unloadNBP EQU 255 ; Unload NBP command code
|
|||
|
setSelfSend EQU 256 ; MPP: Set to allow writes to self
|
|||
|
SetMyZone EQU 257 ; Set my zone name
|
|||
|
GetATalkInfo EQU 258 ; get AppleTalk information
|
|||
|
ATalkClosePrep EQU 259 ; AppleTalk close query
|
|||
|
;
|
|||
|
;
|
|||
|
; MPP queue element standard structure: arguments passed in the CSParam area
|
|||
|
;
|
|||
|
socket EQU $1C ; Offset to socket number (DDP) [byte]
|
|||
|
checkSumFlag EQU $1D ; Offset to checksum flag (DDP) [byte]
|
|||
|
listener EQU $1E ; Offset to socket listener (DDP) [word]
|
|||
|
argBlkSz EQU $10 ; Size of argument block to WriteDDP
|
|||
|
wdsPointer EQU $1E ; Offset to WDS pointer (DDP & ABLAP) [word]
|
|||
|
;
|
|||
|
protType EQU $1C ; Offset to protocol type code (ABLAP) [byte]
|
|||
|
handler EQU $1E ; Offset to protocol handler (ABLAP) [word]
|
|||
|
;
|
|||
|
interval EQU $1C ; Retry interval (NBP) [byte]
|
|||
|
count EQU $1D ; Retry count (NBP) [byte]
|
|||
|
entityPtr EQU $1E ; Entity pointer (NBP)
|
|||
|
ntQElPtr EQU $1E ; NT queue element ptr (NBP - Register)
|
|||
|
confirmAddr EQU $22 ; Address to confirm at (NBP - Confirm)
|
|||
|
newSocket EQU $26 ; Socket no. if different (NBP - Confirm) [byte]
|
|||
|
;
|
|||
|
verifyFlag EQU $22 ; Verify name flag (NBP - Register) [byte]
|
|||
|
;
|
|||
|
retBuffPtr EQU $22 ; Return buffer pointer (NBP - Lookup)
|
|||
|
retBuffSize EQU $26 ; Return buffer size (NBP - Lookup) [word]
|
|||
|
maxToGet EQU $28 ; Max no. responses to get (NBP - Lookup) [word]
|
|||
|
numGotten EQU $2A ; Number actually gotten (NBP - Lookup) [word]
|
|||
|
;
|
|||
|
newSelfFlag EQU $1C ; Offset: New value for self-send flag
|
|||
|
oldSelfFlag EQU $1D ; Old value of self-send flag
|
|||
|
nKillQEl EQU $1C ; Pointer to queue element to abort (KillNBP)
|
|||
|
clientName EQU $1C ; (csCode+2) AtalkClosePrep call parm
|
|||
|
;
|
|||
|
; Names Table Queue element - the MPP registered names (and associated sockets)
|
|||
|
;
|
|||
|
ntLink EQU 0 ; Link to next element
|
|||
|
ntTuple EQU 4 ; Start of tuple for replies
|
|||
|
ntSocket EQU 7 ; Socket number of entity [byte]
|
|||
|
ntEntity EQU 9 ; Start of entity name within tuple
|
|||
|
;
|
|||
|
; Well-known offsets within MPP local variables (as pointed to by AbusVars)
|
|||
|
;
|
|||
|
sysLAPAddr EQU 0 ; This node's LAP address
|
|||
|
toRHA EQU 1 ; Top of RHA
|
|||
|
sysABridge EQU $19 ; Node address of a bridge [byte]
|
|||
|
sysNetNum EQU $1A ; This node's network number [word]
|
|||
|
vSCCEnable EQU $1C ; SR value to re-enable SCC interrupts [word]
|
|||
|
atpVars EQU $1E ; ATP variable pointer (high byte is flag)
|
|||
|
;
|
|||
|
; MPP miscellaneous
|
|||
|
;
|
|||
|
p2Version EQU 53 ; First version with Phase 2 calls
|
|||
|
rhaSize EQU $18 ; Size of read header area
|
|||
|
wdsEntrySz EQU 6 ; Size of a WDS entry
|
|||
|
NBPWildCard EQU '≈' ; NBP wildcard delim char
|
|||
|
NBPMaxTupleSize EQU 32 ; max size for a tuple name
|
|||
|
DDPHopsMask EQU $3C00 ; Mask Hop Count bits from field in DDP header
|
|||
|
;
|
|||
|
; Bits in ioMix field on open (passed in)
|
|||
|
;
|
|||
|
SrvAdrBit EQU 31 ; = 1 iff nodeID in server range ($80 - $FD) desired
|
|||
|
RouterBit EQU 30 ; = 1 iff this is a router port
|
|||
|
NoZoneNotify EQU 29 ; = 1 to supress Notification Mgr messages at .MPP open
|
|||
|
;
|
|||
|
; Bits in ioMix field on open (returned)
|
|||
|
;
|
|||
|
BadZoneHintBit EQU 7 ; = 1 iff zone hint was found invalid at .MPP open
|
|||
|
OneZoneBit EQU 6 ; = 1 iff there was only one zone on cable
|
|||
|
BadNetHintBit EQU 5 ; = 1 iff our net not within RTMP cable range
|
|||
|
InStartupBit EQU 4 ; = 1 iff our net is in the startup range
|
|||
|
;
|
|||
|
;
|
|||
|
;
|
|||
|
; AppleTalk Transaction Protocol (ATP)
|
|||
|
;
|
|||
|
atp EQU $3 ; ATP type code (in DDP header)
|
|||
|
;
|
|||
|
; ATP header
|
|||
|
;
|
|||
|
atpControl EQU 0 ; Control field [byte]
|
|||
|
atpBitmap EQU 1 ; Bitmap (requests only) [byte]
|
|||
|
atpRespNo EQU 1 ; Response number (responses only) [byte]
|
|||
|
atpTransID EQU 2 ; Transaction ID [word]
|
|||
|
atpUserData EQU 4 ; Start of user data [long]
|
|||
|
atpHdSz EQU 8 ; Size of ATP header
|
|||
|
;
|
|||
|
; ATP control field
|
|||
|
;
|
|||
|
atpReqCode EQU $40 ; Request code after masking
|
|||
|
atpRspCode EQU $80 ; Response code after masking
|
|||
|
atpRelCode EQU $C0 ; Release code after masking
|
|||
|
atpXOBit EQU 5 ; Bit number of exactly-once bit
|
|||
|
atpEOMBit EQU 4 ; Bit number of End-Of-Message bit
|
|||
|
atpSTSBit EQU 3 ; Send Transmission Status bit no.
|
|||
|
flagMask EQU $3F ; Mask for just flags
|
|||
|
controlMask EQU $F8 ; Mask for good control bits
|
|||
|
;
|
|||
|
; ATP limits
|
|||
|
;
|
|||
|
atpMaxNum EQU 8 ; Max no. of responses per request
|
|||
|
atpMaxData EQU $242 ; Maximum data size in ATP packet
|
|||
|
;
|
|||
|
; ATP contol calls
|
|||
|
;
|
|||
|
nSendRequest EQU 248 ; NSendRequest code
|
|||
|
relRspCB EQU 249 ; Release RspCB
|
|||
|
closeATPSkt EQU 250 ; Close ATP socket
|
|||
|
addResponse EQU 251 ; Add response code | Require open skt |
|
|||
|
sendResponse EQU 252 ; Send response code
|
|||
|
getRequest EQU 253 ; Get request code
|
|||
|
openATPSkt EQU 254 ; Open ATP socket
|
|||
|
sendRequest EQU 255 ; Send request code
|
|||
|
relTCB EQU 256 ; Release TCB
|
|||
|
killGetReq EQU 257 ; Kill GetRequest
|
|||
|
killSendReq EQU 258 ; Kill SendRequest
|
|||
|
killAllGetReq EQU 259 ; Kill all getRequests for a skt
|
|||
|
|
|||
|
;
|
|||
|
;
|
|||
|
;
|
|||
|
; ATP queue element standard structure: arguments passed in the CSParam area
|
|||
|
;
|
|||
|
atpSocket EQU $1C ; Socket number is first parameter [byte]
|
|||
|
atpFlags EQU $1D ; Flag [byte]
|
|||
|
addrBlock EQU $1E ; Start of address block
|
|||
|
reqLength EQU $22 ; Size of request buffer [word]
|
|||
|
reqPointer EQU $24 ; Pointer to request buffer or data
|
|||
|
bdsPointer EQU $28 ; Pointer to Buffer Data Structure (BDS)
|
|||
|
guArea EQU $2C ; Start of general-use area
|
|||
|
userData EQU $12 ; User bytes
|
|||
|
;
|
|||
|
; ATP bits
|
|||
|
;
|
|||
|
sendCHK EQU 0 ; Bit no. of send-checksum bit in flags
|
|||
|
tidValid EQU 1 ; Bit set when TID valid in SendRequest
|
|||
|
;
|
|||
|
; SendRequest call interface
|
|||
|
;
|
|||
|
numOfBuffs EQU $2C ; No. of response buffers passed in BDS [byte]
|
|||
|
timeoutVal EQU $2D ; Timeout length in seconds [byte]
|
|||
|
numOfResps EQU $2E ; Number of responses received [byte]
|
|||
|
retryCount EQU $2F ; Maximum number of retries [byte]
|
|||
|
;
|
|||
|
reqTID EQU $16 ; Request's TID returned here (for RelTCB)
|
|||
|
currBitmap EQU $1C ; Bitmap of responses not yet received [byte]
|
|||
|
;
|
|||
|
; GetRequest call interface
|
|||
|
;
|
|||
|
bitmap EQU $2C ; Offset where bitmap is returned [byte]
|
|||
|
transID EQU $2E ; Transaction ID returned here [word]
|
|||
|
;
|
|||
|
; SendResponse call interface
|
|||
|
;
|
|||
|
bdsSize EQU $2D
|
|||
|
;
|
|||
|
; AddResponse call interface
|
|||
|
;
|
|||
|
rspNum EQU $2C ; No. of this response with transaction [byte]
|
|||
|
;
|
|||
|
aKillQEl EQU $2C ; Offset: Pointer to queue element to abort
|
|||
|
;
|
|||
|
; ATP general
|
|||
|
;
|
|||
|
maxReqs EQU 6 ; Maximum number of concurrent requests
|
|||
|
maxRsps EQU 8 ; Max number of concurrent XO responses
|
|||
|
maxATPSkts EQU 6 ; Max number of concurrent responding-sockets
|
|||
|
releaseTime EQU 30 ; Release timer value in seconds
|
|||
|
;
|
|||
|
; Info for TRel timer in SendRequest and NSendRequest
|
|||
|
;
|
|||
|
atpTRTOmask EQU 7 ; mask to TRel timeout factor
|
|||
|
atpXcall EQU 2 ; bit to indicate extended atp call parms
|
|||
|
TRelTime EQU 50 ; TRel timeout bits offset
|
|||
|
;
|
|||
|
; ATP Buffer Descriptor Structure (BDS)
|
|||
|
;
|
|||
|
bdsBuffSz EQU 0 ; Send: data length Receive: buffer length
|
|||
|
bdsBuffAdr EQU 2 ; Send: data address Receive: buffer address
|
|||
|
bdsDataSz EQU 6 ; Send: used internally Receive: data length
|
|||
|
bdsUserData EQU 8 ; Send: 4 user bytes Receive: 4 user bytes
|
|||
|
bdsEntrySz EQU 12 ; Size of a BDS entry
|
|||
|
;
|
|||
|
;
|
|||
|
;+ Zone Information Protocol (ZIP)
|
|||
|
;
|
|||
|
ZIP EQU 6 ; ZIP type code (in DDP header)
|
|||
|
ZIS EQU 6 ; Zone Information Socket number
|
|||
|
;
|
|||
|
;
|
|||
|
; ZIP header
|
|||
|
;
|
|||
|
zipCommand EQU 0 ; Offset to ZIP command in packet
|
|||
|
zipFlags EQU 1 ; Offset to flags (see below)
|
|||
|
zipFirstNet EQU 2 ; Network 1 in ZIP query, reply
|
|||
|
zipNetLo EQU zipFirstNet ; Offset to low network number in range
|
|||
|
zipNetHi EQU 4 ; Offset to high network number in range
|
|||
|
zipXHdSz EQU 6 ; Size of ZIP header (for extended ZIP)
|
|||
|
;
|
|||
|
; ZIP limits
|
|||
|
;
|
|||
|
MaxZoneLen EQU 33 ; max size (in bytes) of zone name
|
|||
|
ZIPNetMax EQU 3 ; Our max networks in a ZIP packet
|
|||
|
;
|
|||
|
; ZIP Command field
|
|||
|
;
|
|||
|
ZQuery EQU 1 ; Command code for query
|
|||
|
ZReply EQU 2 ; Command code for reply
|
|||
|
ZTakedown EQU 3 ; ZIP takedown
|
|||
|
ZBringUp EQU 4 ; ZIP bring up
|
|||
|
ZGetInfo EQU 5 ; GNI request
|
|||
|
ZInfoReply EQU 6 ; GNI reply
|
|||
|
ZNotify EQU 7 ; ZIP notify
|
|||
|
ZIPExtReply EQU 8 ; Command code for ZIPExtReply
|
|||
|
;
|
|||
|
; ZIP commands used in ATP calls
|
|||
|
;
|
|||
|
ZATPCommand EQU 0 ; ZIP command offset in ATP user bytes (request)
|
|||
|
ZGZLStart EQU 2 ; User byte offset for StartIndex (GetZoneList)
|
|||
|
ZLastFlag EQU 0 ; User byte offset for LastFlag (GZL response)
|
|||
|
ZGZLCount EQU 2 ; User byte offset for Count (GZL response)
|
|||
|
ZGetMyZone EQU 7 ; Code for GetMyZone command
|
|||
|
ZGetZoneList EQU 8 ; Code for GetZoneList command
|
|||
|
ZGetLocalZones EQU 9 ; Code for GetLocalZones command
|
|||
|
;
|
|||
|
;
|
|||
|
; ZIP Flags field
|
|||
|
;
|
|||
|
; (GetNetInfo Request)
|
|||
|
;
|
|||
|
BcastReply EQU 7 ; Send reply to broadcast address
|
|||
|
;
|
|||
|
; (GetNetInfo Reply)
|
|||
|
;
|
|||
|
ZoneInvalid EQU 7 ; zone is invalid
|
|||
|
UseBroadcast EQU 6 ; use broadcast for NBP lookups
|
|||
|
OneZone EQU 5 ; only one zone is present
|
|||
|
;
|
|||
|
; RTMP+ definitions
|
|||
|
;
|
|||
|
;
|
|||
|
rtmpPlus EQU 5 ; DDP type for RTMP+ packet
|
|||
|
getNetInfo EQU 1 ; RTMP+ command type for GetNetInfo
|
|||
|
;
|
|||
|
EJECT
|
|||
|
;
|
|||
|
; ASP definitions
|
|||
|
;
|
|||
|
;
|
|||
|
; Offsets in user bytes
|
|||
|
;
|
|||
|
aspCmdCode EQU 0 ; Offset to command field
|
|||
|
aspWSSNum EQU 1 ; WSS number in OpenSessions
|
|||
|
aspVersNum EQU 2 ; ASP version number in OpenSessions
|
|||
|
;
|
|||
|
aspSSSNum EQU 0 ; SSS number in OpenSessReplies
|
|||
|
aspSessID EQU 1 ; Session ID (requests & OpenSessReply)
|
|||
|
aspOpenErr EQU 2 ; OpenSessReply error code
|
|||
|
;
|
|||
|
aspSeqNum EQU 2 ; Sequence number in requests
|
|||
|
aspAttnCode EQU 2 ; Attention bytes in attentions
|
|||
|
;
|
|||
|
; Offsets in ATP data part
|
|||
|
;
|
|||
|
aspWrBSize EQU 0 ; Offset to write buffer size (WriteData)
|
|||
|
aspWrHdrSz EQU 2 ; Size of data part
|
|||
|
;
|
|||
|
; ASP command codes - the following define the different types of ASP requests:
|
|||
|
;
|
|||
|
aspCloseSess EQU 1 ; Close session
|
|||
|
aspCommand EQU 2 ; User-command
|
|||
|
aspGetStat EQU 3 ; Get status
|
|||
|
aspOpenSess EQU 4 ; Open session
|
|||
|
aspTickle EQU 5 ; Tickle
|
|||
|
aspWrite EQU 6 ; Write
|
|||
|
aspDataWrite EQU 7 ; WriteData (from server)
|
|||
|
aspAttention EQU 8 ; Attention (from server)
|
|||
|
;
|
|||
|
; ASP miscellaneous
|
|||
|
;
|
|||
|
aspVersion EQU $0100 ; ASP version number
|
|||
|
maxCmdSize EQU atpMaxData ; Maximum command block size
|
|||
|
quantumSize EQU atpMaxData*atpMaxNum ; Maximum reply size
|
|||
|
tickleInt EQU 30 ; Tickle interval (secs)
|
|||
|
tickleTime EQU tickleInt*60*4 ; Tickle timeout (ticks)
|
|||
|
;
|
|||
|
;+ Control codes. NOTE: high byte of CSCode used internally
|
|||
|
;
|
|||
|
openSess EQU 255 ; Open session
|
|||
|
closeSess EQU 254 ; Close session
|
|||
|
userCommand EQU 253 ; User command
|
|||
|
userWrite EQU 252 ; User write
|
|||
|
getStatus EQU 251 ; Get status
|
|||
|
afpCall EQU 250 ; AFP command (buffer has command code)
|
|||
|
getParms EQU 249 ; Get parameters
|
|||
|
abortOS EQU 248 ; Abort open session request
|
|||
|
closeAll EQU 247 ; Close all open sessions
|
|||
|
xCall EQU 246 ; .XPP extended calls
|
|||
|
;
|
|||
|
;
|
|||
|
; ASP queue element standard structure: arguments passed in the CSParam area
|
|||
|
;
|
|||
|
sessRefnum EQU $1C ; Offset to session refnum [word]
|
|||
|
aspTimeout EQU $1E ; Timeout for ATP [byte]
|
|||
|
aspRetry EQU $1F ; Retry count for ATP [byte]
|
|||
|
serverAddr EQU $20 ; Server address block [longword]
|
|||
|
scbPointer EQU $24 ; SCB pointer [longword]
|
|||
|
attnRoutine EQU $28 ; Attention routine pointer [long]
|
|||
|
;
|
|||
|
cbSize EQU $20 ; Command block size [word]
|
|||
|
cbPtr EQU $22 ; Command block pointer [long]
|
|||
|
rbSize EQU $26 ; Reply buffer size [word]
|
|||
|
rbPtr EQU $28 ; Reply buffer pointer [long]
|
|||
|
wdSize EQU $2C ; Write data size [word]
|
|||
|
wdPtr EQU $2E ; Write data pointer [long]
|
|||
|
ccbStart EQU $32 ; Start of memory for CCB
|
|||
|
;
|
|||
|
aspMaxCmdSize EQU $1C ; For SPGetParms [word]
|
|||
|
aspQuantumSize EQU $1E ; For SPGetParms [word]
|
|||
|
numSesss EQU $20 ; For SPGetParms [word]
|
|||
|
;
|
|||
|
abortSCBPtr EQU $1C ; SCB pointer for AbortOS [long]
|
|||
|
;
|
|||
|
cmdResult EQU $12 ; Command result (ATP user bytes) [long]
|
|||
|
;
|
|||
|
afpAddrBlock EQU $2C ; Address block in AFP login [long]
|
|||
|
afpSCBPtr EQU $30 ; SCB pointer in AFP login [long]
|
|||
|
afpAttnRoutine EQU $34 ; Attn routine pointer in AFP login
|
|||
|
;
|
|||
|
scbMemSize EQU $C0 ; Size of memory for SCB
|
|||
|
EJECT
|
|||
|
;______________________________________________________________
|
|||
|
;
|
|||
|
; .XPP xCall information
|
|||
|
;______________________________________________________________
|
|||
|
;
|
|||
|
; xCall subCode definitions (subCodes 0 thru 4 are reserved for internal use)
|
|||
|
;
|
|||
|
xAddCall EQU 0
|
|||
|
xDelCall EQU 1
|
|||
|
|
|||
|
|
|||
|
zipGetLocalZones EQU 5 ; xCall subcodes
|
|||
|
zipGetZoneList EQU 6
|
|||
|
zipGetMyZone EQU 7
|
|||
|
|
|||
|
xMinCall EQU zipGetLocalZones ; first xCall that can be added
|
|||
|
xMaxCall EQU 31 ; highest legal xCall
|
|||
|
;
|
|||
|
; xCall queue element offsets
|
|||
|
;
|
|||
|
xppSubCode EQU $1C ; (csCode+2) offset to extended call subcode
|
|||
|
AddCSCode EQU xppSubCode+2 ; csCode of added call
|
|||
|
AddCSAddr EQU AddCSCode+2 ; addr of added call's routine
|
|||
|
|
|||
|
;
|
|||
|
; SetMyZone queue element offsets (MPP)
|
|||
|
;
|
|||
|
zoneBuffPtr EQU 30
|
|||
|
zoneBuffSize EQU 34
|
|||
|
numOfZones EQU 36
|
|||
|
|
|||
|
|
|||
|
xppTimeout EQU 30
|
|||
|
xppRetry EQU 31
|
|||
|
zipBuffPtr EQU 34
|
|||
|
zipNumZones EQU 38
|
|||
|
zipLastFlag EQU 40
|
|||
|
zipInfoField EQU 42
|
|||
|
|
|||
|
;______________________________________________________________
|
|||
|
;
|
|||
|
; AFP Command command codes
|
|||
|
;______________________________________________________________
|
|||
|
;
|
|||
|
afpByteRangeLock EQU 1
|
|||
|
afpVolClose EQU 2
|
|||
|
afpDirClose EQU 3
|
|||
|
afpForkClose EQU 4
|
|||
|
afpCopyFile EQU 5
|
|||
|
afpDirCreate EQU 6
|
|||
|
afpFileCreate EQU 7
|
|||
|
afpDelete EQU 8
|
|||
|
afpEnumerate EQU 9
|
|||
|
afpFlush EQU 10
|
|||
|
afpForkFlush EQU 11
|
|||
|
afpGetDirParms EQU 12
|
|||
|
afpGetFileParms EQU 13
|
|||
|
afpGetForkParms EQU 14
|
|||
|
afpGetSInfo EQU 15
|
|||
|
afpGetSParms EQU 16
|
|||
|
afpGetVolParms EQU 17
|
|||
|
afpLogin EQU 18
|
|||
|
afpContLogin EQU 19
|
|||
|
afpLogout EQU 20
|
|||
|
afpMapID EQU 21
|
|||
|
afpMapName EQU 22
|
|||
|
afpMove EQU 23
|
|||
|
afpOpenVol EQU 24
|
|||
|
afpOpenDir EQU 25
|
|||
|
afpOpenFork EQU 26
|
|||
|
afpRead EQU 27
|
|||
|
afpRename EQU 28
|
|||
|
afpSetDirParms EQU 29
|
|||
|
afpSetFileParms EQU 30
|
|||
|
afpSetForkParms EQU 31
|
|||
|
afpSetVolParms EQU 32
|
|||
|
afpWrite EQU 33
|
|||
|
afpGetFlDrParms EQU 34
|
|||
|
afpSetFlDrParms EQU 35
|
|||
|
;
|
|||
|
afpDTOpen EQU 48
|
|||
|
afpDTClose EQU 49
|
|||
|
afpGetIcon EQU 51
|
|||
|
afpGtIcnInfo EQU 52
|
|||
|
afpAddAPPL EQU 53
|
|||
|
afpRmvAPPL EQU 54
|
|||
|
afpGetAPPL EQU 55
|
|||
|
afpAddCmt EQU 56
|
|||
|
afpRmvCmt EQU 57
|
|||
|
afpGetCmt EQU 58
|
|||
|
;
|
|||
|
afpAddIcon EQU 192 ; Special code for ASP Write commands
|
|||
|
;
|
|||
|
;____________________________________
|
|||
|
;
|
|||
|
; Offsets for certain parameters in AFP Read/Write calls
|
|||
|
;____________________________________
|
|||
|
;
|
|||
|
startEndFlag EQU $1 ; Write only; offset relative to start or end
|
|||
|
rwOffset EQU $4 ; Offset at which to start read or write
|
|||
|
reqCount EQU $8 ; Count of bytes to read or write
|
|||
|
newLineFlag EQU $C ; Read only; newline character flag
|
|||
|
newLineChar EQU $D ; Read only; newline character
|
|||
|
;
|
|||
|
lastWritten EQU $0 ; Write only; last written (returned)
|
|||
|
;
|
|||
|
;____________________________________
|
|||
|
;
|
|||
|
; Miscellaneous
|
|||
|
;____________________________________
|
|||
|
;
|
|||
|
afpUseWrite EQU $C0 ; first call in range that maps to an ASPWrite
|
|||
|
|
|||
|
|
|||
|
MaxNodeIds EQU 254 ; maximum node ids (1-254)
|
|||
|
MaxNetIds EQU $FFFE ; maximum net ids (1-65534)
|
|||
|
reservedNode EQU $FE ; special SysABridge token says we've heard from router
|
|||
|
reservedNet EQU $FF00 ; first network number in reserved range
|
|||
|
|
|||
|
|
|||
|
; GetAppleTalkInfo
|
|||
|
|
|||
|
GAIVersion EQU 1 ; highest version for GAI params
|
|||
|
|
|||
|
GAI RECORD $1C ; (csParam) GetAppleTalkInfo params
|
|||
|
Version DS.W 1 ; --> params version desired
|
|||
|
VarsPtr DS.L 1 ; <-- MPP vars for this PortID
|
|||
|
DCEPtr DS.L 1 ; <-- DCE ptr for the PortID
|
|||
|
PortID DS.W 1 ; <-- port number [0..7]
|
|||
|
Configuration DS.L 1 ; <-- 32-bit config word
|
|||
|
SelfSend DS.W 1 ; <-- ≠ zero if SelfSend is enabled
|
|||
|
NetLo DS.W 1 ; <-- low-value of network range
|
|||
|
NetHI DS.W 1 ; <-- high-value of network range
|
|||
|
OurAddr DS.L 1 ; <-- our 24-bit AppleTalk address
|
|||
|
RouterAddr DS.L 1 ; <-- 24-bit address of last router
|
|||
|
NumOfPHs DS.W 1 ; <-- max. number of protocol handlers
|
|||
|
NumOfSkts DS.W 1 ; <-- max. number of static sockets
|
|||
|
NumNBPEs DS.W 1 ; <-- max. number of concurrent NBP requests
|
|||
|
NTQueue DS.L 1 ; <-- ptr to registered names queue
|
|||
|
LALength DS.W 1 ; <-> length of data link address in bytes
|
|||
|
LinkAddr DS.L 1 ; <-> ptr to buffer to store data link address
|
|||
|
ZoneName DS.L 1 ; <-> ptr to buffer to store zone name
|
|||
|
GAISz DS.B 0
|
|||
|
ENDR
|
|||
|
|
|||
|
RTMPHdr RECORD 0
|
|||
|
SenderNet DS.W 1 ; sender's network number
|
|||
|
IDlength DS.B 1 ; id length (always 8)
|
|||
|
SenderID DS.B 1 ; sender's node id
|
|||
|
NullNet DS.W 1 ; null word for non-extended net
|
|||
|
Version1 DS.B 1 ; version for non-extended net
|
|||
|
NonExtSize DS.B 0 ; minimum size for non-extended
|
|||
|
|
|||
|
ORG NullNet
|
|||
|
StartNetHi DS.B 1 ; extended high range, high byte
|
|||
|
StartNetLo DS.B 1 ; extended high range, low byte
|
|||
|
Distance DS.B 1 ; extended range distance
|
|||
|
EndNetHi DS.B 1 ; extended low range, high byte
|
|||
|
EndNetLo DS.B 1 ; extended low range, low byte
|
|||
|
Version2 DS.B 1 ; extended version
|
|||
|
ExtSize DS.B 0 ; mininum size for extended net
|
|||
|
ENDR
|
|||
|
|
|||
|
ENDIF ; ...already included
|