Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ DLunitdata_req(3dlpi) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       DLunitdata_req(3dlpi)                          DLunitdata_req(3dlpi)


       NAME
             DLunitdata_req - process DL_UNITDATA_REQ primitive

       SYNOPSIS
             DLunitdata_req(queue_t *q, mblk_t *mp)

          Parameters
            q           pointer to the write queue

            mp          message pointer

       DESCRIPTION
             This function processes the DL_UNITDATA_REQ primitive.  The
             latter is used to convey one data unit to the provider.  If
             the BOARD_DISABLED flag is found set in the board
             configuration structure, a DL_NOTINIT error is returned by
             calling DLerror_ack.  If the state of the SAP is not DL_IDLE a
             DL_OUTSTATE error is returned by calling DLuderror_ind.  It is
             also an error if the size of data is not within the packet
             limits set for the SAP.

             In this example DL_BADDATA error is returned to the user by
             calling DLuderror_ind.

             If the frame is to be sent to another user on the same
             machine, or, if it is to be broadcast to all processes, a copy
             of the message is put back in the read queue of the Stream by
             calling DLrecv.  If the frame is destined for another user on
             the same machine, the ifOutUcastPkts field of MIB structure is
             incremented.  Otherwise, the ifOutNUcastPkts field is
             incremented.

             If the SEND_LOCAL_TO_NET flag in the board configuration
             structure is set, local packets are also put on the network.
             Otherwise, the message is freed-up.  To transfer packets to
             the network the DLxmit_packet routine is called or the data is
             put back in its queue, based on the TX_BUSY flag of the board
             configuration structure for more information.  If data is put
             in back in its write queue, the TX_QUEUED flag is set in the
             board configuration structure.  Further, the ifOutQlen field
             of the MIB structure is incremented.

             It is up to DLxmit_packet to free the message passed to it by
             DLunitdata_req.




                           Copyright 1994 Novell, Inc.               Page 1













      DLunitdata_req(3dlpi)                          DLunitdata_req(3dlpi)


         Response
           status      DL_NOTINIT, DL_OUTSTATE, DL_BADDATA

         Layer
            Hardware Independent.

      REFERENCES
            the section ``The DLPI Network Driver Framework'' of the book
            STREAMS Modules and Drivers for the details of the
            DLxmit_packet

         Hardware Independent Layer Functions Called
           DLerror_ack
           DLuderror_ind

         Hardware Dependent Layer Functions Called
           DLxmit_packet































                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026