Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ T_BIND_ACK(7tpi) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       T_BIND_ACK(7tpi)                                    T_BIND_ACK(7tpi)


       NAME
             T_BIND_ACK - Bind Protocol Address Acknowledgment

       SYNOPSIS
             This message consists of one M_PCPROTO message block formatted
             as follows:

                   struct T_bind_ack {
                         long PRIM_type;              /* always T_BIND_ACK */
                         long ADDR_length;            /* length of address - */
                         long ADDR_offset;            /* offset of address */
                         unsigned long CONIND_number; /* connect indications
                                                           to be queued */
                   }

       DESCRIPTION
             This primitive indicates to the transport user that the
             specified protocol address has been bound to the stream, that
             the specified number of connect indications are allowed to be
             queued by the transport provider for the specified protocol
             address, and that the stream associated with the specified
             protocol address has been activated.

          Parameters
             PRIM_type
                   indicates the primitive type.

             ADDR_length
                   is the length of the protocol address that was bound to
                   the stream and ADDR_offset is the offset from the
                   beginning of the M_PCPROTO block where the protocol
                   address begins.

             CONIND_number
                   is the accepted number of connect indications allowed to
                   be outstanding by the transport provider for the
                   specified protocol address.

             The proper alignment of the address in the M_PCPROTO message
             block is not guaranteed.

                         Note that this field doesn't apply to
                         connectionless transport providers.





                           Copyright 1994 Novell, Inc.               Page 1













      T_BIND_ACK(7tpi)                                    T_BIND_ACK(7tpi)


         Rules
            The following rules apply to the binding of the specified
            protocol address to the stream:

                  If the ADDR_length field in the T_BIND_REQ/O_T_BIND_REQ
                  primitive is 0, then the transport provider is to assign
                  a transport protocol address to the user.

                  The transport provider is to bind the transport protocol
                  address as specified in the T_BIND_REQ/O_T_BIND_REQ
                  primitive.

                  If the transport provider cannot bind the specified
                  address, it may assign another address to the user if
                  the primitive O_T_BIND_REQ was used.  In this case, it
                  is the transport user's responsibility to check the
                  protocol address returned in the T_BIND_ACK primitive to
                  see if it is the same as the one requested, and take
                  appropriate action.  If T_BIND_REQ was used, the
                  provider should return an error.

            The following rules apply to negotiating the CONIND_number
            argument:

                  The returned value must be less than or equal to the
                  corresponding requested number as indicated in the
                  T_BIND_REQ/O_T_BIND_REQ primitive.

                  If the requested value is greater than zero, the
                  returned value must also be greater than zero.

                  Only one stream that is bound to the indicated protocol
                  address may have a negotiated accepted number of maximum
                  connect requests greater than zero.  If a O_T_BIND_REQ
                  primitive specifies a value greater than zero, but
                  another stream has already bound itself to the given
                  protocol address with a value greater than zero, the
                  transport provider should assign another protocol
                  address to the user.

                  If a stream with CONIND_number greater than zero is used
                  to accept a connection, the stream will be found busy
                  during the duration of that connection and no other
                  stream may be bound to that protocol address with a
                  CONIND_number greater than zero.  This will prevent more
                  than one stream bound to the identical protocol address


                          Copyright 1994 Novell, Inc.               Page 2













       T_BIND_ACK(7tpi)                                    T_BIND_ACK(7tpi)


                   from accepting connect indications.

                   A stream requesting a CONIND_number of zero should
                   always be valid.  This indicates to the transport
                   provider that the stream is to be used to request
                   connections only.

                   A stream with a negotiated CONIND_number greater than
                   zero may generate connect requests or accept connect
                   indications.

          Errors
             If the above rules result in an error condition, then the
             transport provider must issue an T_ERROR_ACK primitive to the
             transport user specifying the error as defined in the
             description of the T_BIND_REQ/O_T_BIND_REQ primitive.

          Modes
             Both connection-mode and connectionless-mode.

          Originator
             Transport provider.


























                           Copyright 1994 Novell, Inc.               Page 3








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