t_optmgmt(3N) t_optmgmt(3N)
NAME
t_optmgmt - manage options for a transport endpoint
SYNOPSIS
cc [options] file -lnsl
#include <xti.h>
int t_optmgmt (int fd, struct t_optmgmt *req, struct t_optmgmt *ret);
Parameters
fd the file descriptor for the transport endpoint
req points to the t_optmgmt structure used to identify the
request.
info points to the t_optmgmt structure used to identify the
return.
DESCRIPTION
The t_optmgmt function enables a transport user to retrieve,
verify, or negotiate protocol options with the transport
provider associated with the bound transport endpoint
specified by fd. t_optmgmt is a TLI/XTI local management
routine that may be used with both connection-mode and
connectionless protocol services.
Files
/usr/lib/libxti.so
X/Open Transport Interface Library (shared
object)
/usr/lib/libnsl.so
Network Services Library (shared object)
Caution
UnixWare 2.0 transport providers do not support XPG4 options
management. Use of t_optmgmt at this time requires knowledge
of particular transport providers. Limited transport-
independent options management is provided by netdir_options
on the netdir(3N) manual page.
Structure Definitions
The req and ret arguments point to a t_optmgmt structure
containing the following members:
struct netbuf opt; /* protocol options */
long flags; /* actions */
Copyright 1994 Novell, Inc. Page 1
t_optmgmt(3N) t_optmgmt(3N)
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 structure in a manner
similar to the address used in t_bind. netbuf fields are
described in intro(3).
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
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.
Copyright 1994 Novell, Inc. Page 2
t_optmgmt(3N) t_optmgmt(3N)
Return Values
t_optmgmt returns 0 on success and -1 on failure and t_errno
is set to indicate the error.
Errors
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 The number of bytes (maxlen) allocated for an
incoming argument is greater than zero but not
sufficient to store the value of that argument.
The information to be returned in ret will be
discarded.
TSYSERR A system error has occurred during execution of
this function.
TPROTO A communication problem has been detected with
the transport provider and there is no other
value of t_errno to describe the error
condition.
TNOTSUPPORT The action is not supported by the transport
provider.
State Transitions
t_optmgmt may be issued from any valid state except T_UNINIT
and has no effect on the entry state at exit.
USAGE
If issued as part of a connectionless service, t_optmgmt may
block due to flow control constraints. The function will not
complete until the transport provider has processed all
Copyright 1994 Novell, Inc. Page 3
t_optmgmt(3N) t_optmgmt(3N)
previously sent data units.
Warnings
The transport provider interface may not support the
functionality for T_NEGOTIATE and/or T_CHECK, causing
t_optmgmt to fail with a TNOTSUPPORT error.
REFERENCES
intro(3), t_accept(3N), t_alloc(3N), t_bind(3N),
t_connect(3N), t_getinfo(3N), t_listen(3N), t_open(3N),
t_rcvconnect(3N)
Copyright 1994 Novell, Inc. Page 4