Important: The information in this document is obsolete and should not be used for new development.
MPP Parameter Block
ThePSetSelfSend
andPGetAppleTalkInfo
functions require a pointer to the MPP parameter block. TheMPPParamBlock
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.
- The
PGetAppleTalkInfo
function uses the MPP parameter block with theGetAppleTalkInfoParm
variant record to pass information to and receive it
from the .MPP driver.- The
PSetSelfSend
function uses the MPP parameter block with theSetSelfSendParm
variant record to pass information to and receive it from
the .MPP driver. TheMPPParamBlock
data 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
PGetAppleTalkInfo
function or thePSetSelfSend
function asynchronously, the .MPP driver calls your completion routine when it completes execution of the function. SpecifyNIL
for this field if you do not wish to provide a completion routine. If you execute the
function synchronously, the .MPP driver ignores theioCompletion
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 ofnoErr
as soon as the function begins execution. When the function completes execution, it sets theioResult
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
thePGetAppleTalkInfo
function,csCode
is alwaysGetATalkInfo
. For thePSetSelfSend
function,csCode
is alwayssetSelfSend
.