t_optmgmt(3N)t_optmgmt(3N)NAMEt_optmgmt - manage options for a transport endpoint
SYNOPSIS
#ifdef _XOPEN_SOURCE
#include <xti.h>
#else
#include <tiuser.h>
#endif
int t_optmgmt (int fd, struct t_optmgmt *req, struct t_optmgmt *ret);
DESCRIPTION
The t_optmgmt 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 t_optmgmt 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 intro(3N); also for len,
buf, and maxlen] structure in a manner similar to the address in t_bind.
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:
T_NEGOTIATE This action enables the user to negotiate the values of
the options specified in req with the transport provider.
The provider will evaluate the requested options and
negotiate the values, returning the negotiated values
through ret.
T_CHECK 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 will have either
T_SUCCESS or T_FAILURE set to indicate to the user whether
Page 1
t_optmgmt(3N)t_optmgmt(3N)
the options are supported. These flags are only
meaningful for the T_CHECK request.
T_DEFAULT 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.
T_CURRENT If _XOPEN_SOURCE is defined, then this flag is supported.
This action enables the transport user to retrieve the
currently effective option values. The user specifies the
options of interest in req->opt.buf. The option values
are irrevelent and will be ignored; it is sufficient to
specify the t_opthdr part of an option only. The
currently effective values are then returned in ret-
>opt.buf.
If issued as part of the connectionless-mode service, t_optmgmt may block
due to flow control constraints. The function will not complete until
the transport provider has processed all previously sent data units.
This function resides within both the X/Open compliant libxnet and the
SVR4 compliant libnsl Network Services libraries. Network Services
applications which require X/Open compliance must link-load with -lxnet.
Network Services applications which require SVR4 compliance must link-
load with -lnsl.
On failure, t_errno may be set to one of the following:
TBADF The specified file descriptor does not refer to a
transport endpoint.
TOUTSTATE The function was issued in the wrong sequence.
TACCES The user does not have permission to negotiate the
specified options.
TBADOPT The specified protocol options were in an incorrect
format or contained illegal information.
TBADFLAG An invalid flag was specified.
TBUFOVFLW There are two different conditions in which TBUFOVFLW
will be returned. If _XOPEN_SOURCE is defined and
the number of bytes allocated for incoming data is
greater than zero and is not sufficient to store the
data. If _XOPEN_SOURCE is not defined and the number
of bytes allocated for incoming data is not
sufficient to store the data. The information to be
returned in ret will be discarded.
Page 2
t_optmgmt(3N)t_optmgmt(3N)
TSYSERR A system error has occurred during execution of this
function.
SEE ALSOintro(3N), t_accept(3N), t_alloc(3N), t_connect(3N), t_getinfo(3N),
t_listen(3N), t_open(3N), t_rcvconnect(3N)DIAGNOSTICSt_optmgmt returns 0 on success and -1 on failure and t_errno is set to
indicate the error.
Page 3