The Multinode Parameter Block
The multinode routines that you use to add and remove a node and send a packet from a multinode require a pointer to a multinode parameter block. The multinode parameter block holds all of the input and output values associated with the routine. The multinode parameter block is a variant record parameter block, defined by the MNParamBlock
data type.
- IMPORTANT
- For the multinode parameter block, you must define the
MNParamBlock type in your application because it is not
included in the MPW interface files.
This section defines the fields that are common to the three multinode routines that use the multinode parameter block. It does not define reserved fields, which are used either internally by the .MPP driver or not at all. The fields that are used for specific routines only are defined in the description of the routines to which they apply.
TYPE
MNParmType = (AddNodeParm,RemoveNodeParm);
MNParamBlock =
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; {command code}
filler1: Byte;
checkSumFlag: Byte; {perform checksum on datagram}
wdsPointer: Ptr; {pointer to write-data structure}
filler2: Integer;
CASE MNParmType of
AddNodeParm:
(reqNodeAddr: AddrBlock; {preferred address requested}
actNodeAddr: AddrBlock; {actual node address acquired}
recvRoutine: ProcPtr; {address of packet receive routine}
reqCableLo: Integer; {preferred network range for the }
reqCableHi: Integer; { node being acquired}
reserved: PACKED ARRAY[1..70] OF Byte);
RemoveNodeParm:
(nodeAddr: AddrBlock); {node address to be deleted}
END;
Field Description
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. You must fill in this value.
csCode
- The command code of the multinode command to be executed. You must fill in a numeric value for this field.