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, andNetWriteroutines 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
csCodefield of the parameter block and calling the_Controltrap. To execute the_Controltrap asynchronously, include the value,ASYNCin the operand field. Note, however, that
you must execute theAddNoderoutine as an immediate (immed) synchronous routine.![]()
To acquire a multinode address, you execute the
AddNoderoutine specifying a routine selector of 262 in thecsCodefield. You must issue theAddNoderoutine 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(csCodeequals 263) andNetWrite(csCodeequals 261) routines, you use the Device Manager'sPBControlfunction. ThePBControlfunction is defined as follows:
FUNCTION PBControl (paramBlock: ParmBlkPtr; async: Boolean): OSErr;
paramBlock- A pointer to the multinode parameter block of type
MNParamBlockthat 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
asyncparameter toTRUEto execute the function asynchronously.DESCRIPTION
You can execute thePBControlfunction synchronously or asynchronously by setting theasyncflag. ThePBControlfunction takes a pointer to a multinode parameter block that contains acsCodefield 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'sioRefNumfield. The Device Manager'sOpenDriverfunction 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