Important: The information in this document is obsolete and should not be used for new development.
The XPP Parameter Block for ZIP
The Zone Information Protocol'sGetMyZone
,GetLocalZones
, andGetZoneList
functions implemented by the .XPP driver use thexCallParam
variant record to the XPP parameter block defined by theXPPParamBlock
data type. Your application uses this parameter block to specify input values to and receive output values from a ZIP function. This section defines the parameter block fields that are common to all of the ZIP functions and that are filled in by the MPW interface or returned by the function; your application does not need to fill in these fields. This section does not define reserved fields, which are used either internally by the .XPP driver or not at all. The fields for thexCallParam
variant record are defined in the function descriptions.
TYPE XPPParamBlock = PACKED RECORD qLink: QElemPtr; {reserved} qType: Integer; {reserved} ioTrap: Integer; {reserved} ioCmdAddr: Ptr; {reserved} ioCompletion: ProcPtr; {completion routine} ioResult: OSErr; {result code} cmdResult: LongInt; {reserved} ioVRefNum: Integer; {reserved} ioRefNum: Integer; {driver reference number} csCode: Integer; {primary command code} CASE XPPPrmBlkType OF xCallParam xppSubCode: Integer; {secondary command code} xppTimeout: Byte; {.XPP timeout period} xppRetry: Byte; {retry count} filler1: Integer; {reserved} zipBuffPtr: Ptr; {returned zone names} zipNumZones: Integer; {number of zones returned} zipLastFlag: Byte; {nonzero when all zone names } { have been returned} filler2: Byte; {reserved} zipInfoField: PACKED ARRAY[1..70] OF Byte; {reserved} END; XPPParmBlkPtr = ^XPPParamBlock;
Field Description
ioCompletion
- A pointer to a completion routine that you can provide. When you execute a function asynchronously, the .XPP driver calls your completion routine when it completes execution of the function if you specify a pointer to the routine as the value of this field. Specify
NIL
for this field if you do not wish to provide a completion routine. If you execute a function synchronously, the .XPP driver ignores theioCompletion
field. For information about completion routines, see the chapter "Introduction to AppleTalk" in this book.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 .XPP driver reference number. The MPW interface fills in
this field.csCode
- The command code of the XPP command to be executed. The MPW interface fills in this field.