Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Networking /
Chapter 12 - Multinode Architecture / Multinode Architecture Reference
Data Structures


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.

Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996