Important: The information in this document is obsolete and should not be used for new development.
Routines
This section describes the multinode routines that you use to
The multinode architecture is implemented in the .MPP driver. To pass parameters required for a multinode routine, you use the multinode parameter block of type
- acquire a multinode address
- remove a multinode address once you are finished with it
- send packets from a specific multinode
MNParamBlock
. You must define this parameter block type in your application. (See "The Multinode Parameter Block" on page 12-18.) An arrow preceding a parameter indicates whether the parameter is an input or an output parameter:
Arrow Meaning --> Input <-- Output The
AddNode
,RemoveNode
, andNetWrite
routines use different fields of the multi-
node parameter block for parameters specific to the routine. The description of each routine identifies the parameter block values that the routine requires.
Because the MPW interface files do not define an interface for the multinode architecture, you must use the Device Manager's interface to call the multinode routines from a high-level language.
- Assembly-language note
- You call the multinode commands from assembly language by putting a routine selector in the
csCode
field of the parameter block and calling the_Control
trap. To execute the_Control
trap asynchronously, include the value,ASYNC
in the operand field. Note, however, that
you must execute theAddNode
routine as an immediate (immed
) synchronous routine.To acquire a multinode address, you execute the
AddNode
routine specifying a routine selector of 262 in thecsCode
field. You must issue theAddNode
routine as an immediate control call to the Device Manager. See Listing 12-1 on page 12-8 for an example of how to make an immediate control call from the Pascal language.To issue the
RemoveNode
(csCode
equals 263) andNetWrite
(csCode
equals 261) routines, you use the Device Manager'sPBControl
function. ThePBControl
function is defined as follows:
FUNCTION PBControl (paramBlock: ParmBlkPtr; async: Boolean): OSErr;
paramBlock
- A pointer to the multinode parameter block of type
MNParamBlock
that contains the parameters required by the multinode routine to be executed.async
- A Boolean value that specifies whether the function is to be executed synchronously or asynchronously. Set the
async
parameter toTRUE
to execute the function asynchronously.DESCRIPTION
You can execute thePBControl
function synchronously or asynchronously by setting theasync
flag. ThePBControl
function takes a pointer to a multinode parameter block that contains acsCode
field in which you specify the routine selector for the particular routine to be executed; you must specify a numeric value for this field. You must also specify the .MPP driver reference number as the value of the multinode parameter block'sioRefNum
field. The Device Manager'sOpenDriver
function returns the .MPP driver reference number when you call it to open the .MPP driver.
Subtopics
- DESCRIPTION
- Adding and Removing Multinode Addresses
- Sending Datagrams Through Multinodes