Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_optmgt(S) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

netbuf(FP)


 t_optmgmt(S)             (TLI Only) 6 January 1993              t_optmgmt(S)


 Name

    t_optmgmt - manage options for a transport endpoint

 Syntax


    TLI syntax


    cc . . . -lnsls


    #include <sys/tiuser.h>

    int t_optmgmt (fd, req, ret)
    int fd;
    struct t_optmgmt *req;
    struct t_optmgmt *ret;


 Description

    The toptmgmt function enables a transport user to retrieve, verify, or
    negotiate protocol options with the transport provider.  fd identifies a
    bound transport endpoint.

    The req and ret arguments point to a toptmgmt structure containing the
    following members:

       struct netbuf opt;
       long    flags;

    The opt field identifies protocol options, and the flags field is used to
    specify the action to take with those options.

    The options are represented by a netbuf (see netbuf(FP); also for len,
    buf, and maxlen) structure in a manner similar to the address in tbind.
    req is used to request a specific action of the provider and to send
    options to the provider.  len specifies the number of bytes in the
    options, buf points to the options buffer, and maxlen has no meaning for
    the req argument.  The transport provider may return options and flag
    values to the user through ret.  For ret, maxlen specifies the maximum
    size of the options buffer and buf points to the buffer where the options
    are to be placed. On return, len specifies the number of bytes of options
    returned.  maxlen has no meaning for the req argument, but must be set in
    the ret argument to specify the maximum number of bytes the options
    buffer can hold.  The actual structure and content of the options is
    imposed by the transport provider.

    The flags field of req can specify one of the following actions:

    TCHECK           This action enables the user to verify whether the
                      options specified in req are supported by the transport
                      provider.  On return, the flags field of ret either has
                      TSUCCESS or TFAILURE set to indicate to the user
                      whether the options are supported.  These flags are
                      only meaningful for the TCHECK request.

    TDEFAULT         This action enables a user to retrieve the default
                      options supported by the transport provider into the
                      opt field of ret.  In req, the len field of opt must be
                      zero, and the buf field may be NULL.

    TNEGOTIATE       This action enables the user to negotiate the values of
                      the options specified in req with the transport pro-
                      vider.  The provider evaluates the requested options
                      and negotiates the values, returning the negotiated
                      values through ret.

    If issued as part of the connectionless-mode service, toptmgmt may block
    due to flow control constraints.  The function does not complete until
    the transport provider has processed all previously sent data units.

 Return value

    The toptmgmt function returns 0 on success and -1 on failure, and
    terrno is set to indicate the error.

 Note

    This routine is not supported by XTI.  If this routine is called under
    XTI, the TNOTSUPPORT error code is returned and a -1 is returned.

 Diagnostics

    On failure, terrno may be set to one of the following:

    [TACCES]          The user does not have permission to negotiate the
                      specified options.

    [TBADF]           The specified file descriptor does not refer to a
                      transport endpoint.

    [TBADFLAG]        An invalid flag was specified.

    [TBADOPT]         The specified protocol options were in an incorrect
                      format or contained illegal information.

    [TBUFOVFLW]       The number of bytes allowed for an incoming argument is
                      not sufficient to store the value of that argument.
                      The information to be returned in ret is discarded.

    [TOUTSTATE]       The function was issued in the wrong sequence.

    [TSYSERR]         A system error occurred during execution of this func-
                      tion.


 See also

    netbuf(FP), tgetinfo(S), topen(S)

 Standards conformance

    toptmgmt is conformant with:
    AT&T SVID Issue 2;
    X/Open Portability Guide, Issue 3, 1989;
    and Intel386 Binary Compatibility Specification, Edition 2 (iBCSe2).


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