; Version: 1.00 ; Created: Friday, October 20, 1989 at 9:35:53 PM ; ; PPCToolbox.a ; Assembler Interface to the Macintosh Libraries ; ; Copyright Apple Computer, Inc. 1989-90 ; All rights reserved ; ; PPCCommand Values IF &TYPE('__IncludingPPCToolbox__') = 'UNDEFINED' THEN __IncludingPPCToolbox__ SET 1 ; Trap Selector D0 Must be set to one of the following, csCode will contain this value ; when the call completes. ppcInitCmd EQU 0 ppcOpenCmd EQU 1 ppcStartCmd EQU 2 ppcInformCmd EQU 3 ppcAcceptCmd EQU 4 ppcRejectCmd EQU 5 ppcWriteCmd EQU 6 ppcReadCmd EQU 7 ppcEndCmd EQU 8 ppcCloseCmd EQU 9 IPCListPortsCmd EQU 10 DeleteUserCmd EQU 12 GetDefaultUserCmd EQU 13 StartSecureCmd EQU 14 ; Valid PPCServiceTypes ppcServiceRealTime EQU 1; ; Valid PPCLocationKinds = Integer; ppcNoLocation EQU 0; There is no PPCLocName ppcNBPLocation EQU 1; Use AppleTalk NBP ppcNBPTypeLocation EQU 2; Use just the NBP type, fill in rest with default ; Valid PPCPortKinds = Integer; ppcByCreatorAndType EQU 1; Port type is specified as colloquial Mac creator and type ppcByString EQU 2; Port type is in pascal string format ; Valid PPCSessionOrigins = SignedByte; { requestType returned in PPCInform } ppcLocalOrigin EQU 1; session originated from this machine ppcRemoteOrigin EQU 2; session originated from remote machine PPCPortRec RECORD 0; TYPE Comment nameScript DS.W 1; ScriptCode; script of name name DS.B 34; Str32; name of port as seen in browser portKindSelector DS.W 1; PPCPortKinds; which variant portTypeStr DS.B 34; Str32; ORG portTypeStr portCreator DS.L 1; OSType; portType DS.L 1; OSType; ENDR LocationNameRec RECORD 0; locationKindSelector DS.W 1; PPCLocationKind; which variant nbpEntity DS.B 100; NBP name entity ORG nbpEntity; nbpType DS.B 34; Str32; just the NBP type string, for PPCOpen ENDR PortInfoRec RECORD 0; filler1 DS.B 1; SignedByte; authRequired DS.B 1; Boolean; name DS PPCPortRec; ENDR PPCOpenPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved portRefNum DS.W 1; PPCPortRefNum Port Reference filler1 DS.L 1; LONGINT ignored serviceType DS.B 1; PPCServiceType Bit field describing the requested port service resFlag DS.B 1; BYTE Must be set to 0 portName DS.L 1; PPCPortPtr PortName for PPC locationName DS.L 1; LocationNamePtr If NBP Registration is required networkVisible DS.B 1; BOOLEAN make this network visible on network nbpRegistered DS.B 1; BOOLEAN The given location name was registered on the network ENDR PPCInformPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved portRefNum DS.W 1; PPCPortRefNum Port Identifier sessRefNum DS.L 1; PPCSessRefNum Session Reference serviceType DS.B 1; PPCServiceType Status Flags for type of session, local, remote autoAccept DS.B 1; Boolean if true session will be accepted automatically portName DS.L 1; PPCPortPtr Buffer for Source PPCPortRec locationName DS.L 1; LocationNamePtr Buffer for Source LocationNameRec userName DS.L 1; StringPtr Buffer for Soure user's name trying to link. userData DS.L 1; LongInt value included in PPCStart's userData requestType DS.B 1; PPCSessionOrigin Local or Network ENDR PPCStartPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved portRefNum: DS.W 1; PPCPortRefNum; Port Identifier sessRefNum: DS.L 1; PPCSessRefNum; Session Reference serviceType: DS.B 1; PPCServiceType Actual service method (realTime) resFlag: DS.B 1; SignedByte Must be set to 0 portName: DS.L 1; PPCPortPtr Destination portName locationName: DS.L 1; LocationNamePtr NBP or NAS style service location name rejectInfo: DS.L 1; LongInt reason for rejecting the session request userData: DS.L 1; LongInt Copied to destination PPCInform parameter block userRefNum: DS.L 1; LongInt userRefNum (obtained during login process) ENDR PPCAcceptPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved filler1 DS.W 1; Integer sessRefNum DS.L 1; PPCSessRefNum Session Reference ENDR PPCRejectPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved filler1 DS.W 1; Integer sessRefNum DS.L 1; PPCSessRefNum Session Reference filler2 DS.W 1; Integer filler3 DS.L 1; LongInt filler4 DS.L 1; LongInt rejectInfo DS.L 1; LongInt reason for rejecting the session request ENDR PPCWritePBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved filler1 DS.W 1; Integer sessRefNum DS.L 1; PPCSessRefNum Session Reference bufferLength DS.L 1; Size Length of the message buffer actualLength DS.L 1; Size Actual Length Written bufferPtr DS.L 1; Ptr Pointer to message buffer more DS.B 1; Boolean if more data in this block will be written filler2 DS.B 1; SignedByte; userData DS.L 1; LongInt Message block userData Uninterpreted by PPC blockCreator DS.L 1; OSType Message block creator Uninterpreted by PPC blockType DS.L 1; OSType Message block type Uninterpreted by PPC ENDR PPCReadPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved filler1 DS.W 1; Integer sessRefNum DS.L 1; PPCSessRefNum Session Reference bufferLength DS.L 1; Size Length of the message buffer actualLength DS.L 1; Size Actual length read bufferPtr DS.L 1; Ptr Pointer to message buffer more DS.B 1; Boolean if true more data in this block to be read filler2 DS.B 1; SignedByte userData DS.L 1; LongInt Message block userData Uninterpreted by PPC blockCreator DS.L 1; OSType Message block creator Uninterpreted by PPC blockType DS.L 1; OSType Message block type Uninterpreted by PPC ENDR PPCEndPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved filler1 DS.W 1; Integer sessRefNum DS.L 1; PPCSessRefNum Session Reference ENDR PPCClosePBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved portRefNum DS.W 1; PPCPortRefNum Port Identifier ENDR IPCListPortsPBRec RECORD 0; TYPE Comment qLink DS.L 1; Ptr reserved csCode DS.W 1; INTEGER reserved intUse DS.W 1; INTEGER reserved intUsePtr DS.L 1; Ptr reserved ioCompletion DS.L 1; PPCComProcPtr Completion routine. ioResult DS.W 1; OSErr Result of operation. reserved DS.L 5; LONGINT reserved filler1 DS.W 1; Integer startIndex DS.W 1; Integer Start Index requestCount DS.W 1; Integer Number of entries to be returned actualCount DS.W 1; Integer Actual Number of entries to be returned portName DS.L 1; PPCPortPtr PortName Match locationName DS.L 1; LocationNamePtr NBP or NAS type name to locate the Port Location bufferPtr DS.L 1; PortInfoArrayPtr Pointer to a buffer requestCount*sizeof(PortInfo) bytes big ENDR DeleteUserParams RECORD 0; userRefNum DS.L 1; LONGINT ENDR StartSecureParams RECORD 0; TYPE prompt DS.L 1; StringPtr guestSelected DS.L 1; pointer to a Boolean allowGuest DS.B 1; Boolean reserved1 DS.B 1; Byte useDefault DS.B 1; Boolean reserved2 DS.B 1; Byte userName DS.L 1; StringPtr startPb DS.L 1; PPCStartPBPtr ENDR GetDefaultUserParams RECORD 0; userName DS.L 1; Pointer to Str32. userRef DS.L 1; Pointer to LONGINT. ENDR PPCParamBlockRec RECORD 0; openParam DS PPCOpenPBRec ORG 0 informParam DS PPCInformPBRec ORG 0 startParam DS PPCStartPBRec ORG 0 acceptParam DS PPCAcceptPBRec ORG 0 rejectParam DS PPCRejectPBRec ORG 0 writeParam DS PPCWritePBRec ORG 0 readParam DS PPCReadPBRec ORG 0 endParam DS PPCEndPBRec ORG 0 closeParam DS PPCClosePBRec ORG 0 listPortsParam DS IPCListPortsPBRec ENDR Macro _PPCInit MOVEQ #ppcInitCmd,D0 DC.W $A0DD Endm Macro _DoPPCTrap IF &SYSLIST[1] = 'SYNC' THEN DC.W $A0DD ELSE DC.W $A4DD ENDIF Endm Macro _PPCMacro MOVEQ &SYSLIST[1],D0 _DoPPCTrap &SYSLIST[2] Endm Macro _PPCOpen _PPCMacro #ppcOpenCmd,&SYSLIST[2] Endm Macro _PPCInform _PPCMacro #ppcInformCmd,&SYSLIST[2] Endm Macro _PPCStart _PPCMacro #ppcStartCmd,&SYSLIST[2] Endm Macro _PPCAccept _PPCMacro #ppcAcceptCmd,&SYSLIST[2] Endm Macro _PPCReject _PPCMacro #ppcRejectCmd,&SYSLIST[2] Endm Macro _PPCWrite _PPCMacro #ppcWriteCmd,&SYSLIST[2] Endm Macro _PPCRead _PPCMacro #ppcReadCmd,&SYSLIST[2] Endm Macro _PPCClose _PPCMacro #ppcCloseCmd,&SYSLIST[2] Endm Macro _PPCEnd _PPCMacro #ppcEndCmd,&SYSLIST[2] Endm Macro _IPCListPorts _PPCMacro #IPCListPortsCmd,&SYSLIST[2] Endm Macro _DeleteUserIdentity Moveq #DeleteUserCmd,D0 DC.W $A0DD Endm Macro _GetDefaultUser Moveq #GetDefaultUserCmd,D0 DC.W $A0DD Endm Macro _StartSecureSession Moveq #StartSecureCmd,D0 DC.W $A0DD Endm Macro _PPCBrowser MOVE.W #$0D00,D0 _Pack9 Endm ENDIF ; ...already included