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 3 - Name-Binding Protocol (NBP) / NBP Reference
Data Structures


The MPP Parameter Block for NBP

The NBP functions use the MPP parameter block defined by the MPPParamBlock data type to pass information to and receive it from the .MPP driver. You use these fields to specify input values to and receive output values from an NBP function. This section defines the fields common to all NBP functions, except those that are reserved for internal use by the .MPP driver or not used.

TYPE
   MPPParmType    =     (...RegisterNameParm, LookupNameParm,
                        ConfirmNameParm,RemoveNameParm, KillNBPParm...);
   MPPPBPtr       =     ^MPPParamBlock;
   MPPParamBlock  = 
   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;       {primary command code}
   CASE MPPParmType OF
      RegisterNameParm,
      LookupNameParm,
      ConfirmNameParm,
      RemoveNameParm:
         (interval:        Byte;          {retry interval}
         count:            Byte;          {retry count}
         entityPtr:        Ptr;           {pointer to entity name or }
                                          { names table element}
         CASE MPPParmType OF
            RegisterNameParm:
               (verifyFlag:   Byte;       {verify uniqueness of name or not}
               filler3:       Byte;)
            LookupNameParm:
               (retBuffPtr:   Ptr;        {pointer to return buffer}
               retBuffSize:   Integer;    {return buffer size}
               maxToGet:      Integer;    {matches to get}
               numGotten:     Integer;)   {matches gotten}
            ConfirmNameParm:
               (confirmAddr:  AddrBlock;  {pointer to entity name}
               newSocket:     Byte;       {socket number}
               filler4:       Byte);
            )
      KillNBPParm:
         (nKillQEl:        Ptr;)       {pointer to queue element to cancel}
   END;
The fields for each variant record are defined in the function description that uses
the record.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996