Important: The information in this document is obsolete and should not be used for new development.
MPP Parameter Block
ThePSetSelfSendandPGetAppleTalkInfofunctions require a pointer to the MPP parameter block. TheMPPParamBlockdata 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.
- The
PGetAppleTalkInfofunction uses the MPP parameter block with theGetAppleTalkInfoParmvariant record to pass information to and receive it
from the .MPP driver.- The
PSetSelfSendfunction uses the MPP parameter block with theSetSelfSendParmvariant record to pass information to and receive it from
the .MPP driver. TheMPPParamBlockdata type defines the MPP parameter block.
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
PGetAppleTalkInfofunction or thePSetSelfSendfunction asynchronously, the .MPP driver calls your completion routine when it completes execution of the function. SpecifyNILfor this field if you do not wish to provide a completion routine. If you execute thefunction synchronously, the .MPP driver ignores theioCompletionfield.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 ofnoErras soon as the function begins execution. When the function completes execution, it sets theioResultfield 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
thePGetAppleTalkInfofunction,csCodeis alwaysGetATalkInfo. For thePSetSelfSendfunction,csCode
is alwayssetSelfSend.