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 4 - Zone Information Protocol (ZIP) / ZIP Reference
Data Structures


The XPP Parameter Block for ZIP

The Zone Information Protocol's GetMyZone, GetLocalZones, and GetZoneList functions implemented by the .XPP driver use the xCallParam variant record to the XPP parameter block defined by the XPPParamBlock 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 the xCallParam 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 the ioCompletion 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 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 .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.

Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996