MPP Parameter Block
The PSetSelfSend and PGetAppleTalkInfo functions require a pointer to the MPP parameter block. The MPPParamBlock data type defines the MPP parameter block.
- The
PGetAppleTalkInfo function uses the MPP parameter block with the GetAppleTalkInfoParm variant record to pass information to and receive it
from the .MPP driver.
- The
PSetSelfSend function uses the MPP parameter block with the SetSelfSendParm variant record to pass information to and receive it from
the .MPP driver. The MPPParamBlock data type defines the MPP parameter block.
This section defines the fields common to both of these functions. The fields for the variant records are defined in the function description that uses the record.
TYPE
MPPParmType = (...SetSelfSendParm,
GetAppleTalkInfoParm...);
MPPPBPtr = ^MPPParamBlock;
MPPParamBlock =
PACKED RECORD
qLink: QElemPtr; {reserved}
qType: Integer; {reserved}
ioTrap: Integer; {reserved}
ioCmdAddr: Ptr; {reserved}
ioCompletion: ProcPtr; {completion routine}
ioResult: OSErr; {result code}
ioNamePtr: StringPtr; {reserved}
ioVRefNum: Integer; {reserved}
ioRefNum: Integer; {driver reference }
{ number}
csCode: Integer; {primary command code}
CASE MPPParmType OF
SetSelfSendParm:
(newSelfFlag: Byte; {self-send toggle flag}
oldSelfFlag: Byte); {previous self-send }
{ state}
GetAppleTalkInfoParm:
(version: Integer; {requested info version}
varsPtr: Ptr; {pointer to MPP }
{ variables}
DCEPtr: Ptr; {pointer to MPP DCE}
portID: Integer; {port number [0..7]}
configuration: LongInt; {32-bit configuration }
{ word}
selfSend: Integer; {nonzero if self-send }
{ enabled}
netLo: Integer; {low value of network }
{ range}
netHi: Integer; {high value of network }
{ range}
ourAddr: LongInt; {our 24-bit AppleTalk }
{ address}
routerAddr: LongInt; {24-bit address of }
{ last router}
numOfPHs: Integer; {max. number of }
{ protocol handlers}
numOfSkts: Integer; {max. number of static }
{ sockets}
numNBPEs: Integer; {max. concurrent NBP }
{ requests}
ntQueue: Ptr; {pointer to registered }
{ name queue}
LAlength: Integer; {length in bytes of }
{ data-link address}
linkAddr: Ptr; {data-link address }
{ returned}
zoneName: Ptr); {zone name returned}
END;
Field Description
ioCompletion
- A pointer to a completion routine that you can provide. When you execute the
PGetAppleTalkInfo function or the PSetSelfSend function asynchronously, the .MPP driver calls your completion routine when it completes execution of the function. Specify NIL for this field if you do not wish to provide a completion routine. If you execute the function synchronously, the .MPP driver ignores the ioCompletion field.
ioResult
- The result of the function. When you execute the function asynchro-
nously, the function sets this field to 1 and returns a function result of noErr as soon as the function begins execution. When the function completes execution, it sets the ioResult field to the actual result code.
ioRefNum
- The .MPP driver reference number. The MPW interface fills in
this field.
csCode
- The routine selector command code of the .MPP command
to be executed. The MPW interface fills in this field. For
the PGetAppleTalkInfo function, csCode is always GetATalkInfo. For the PSetSelfSend function, csCode
is always setSelfSend.