NAME
t_free() — free a library structure
SYNOPSIS
#include <xti.h> /* for X/OPEN Transport Interface - XTI */
/* or */
#include <tiuser.h> /* for Transport Layer Interface - TLI */
int t_free (ptr, struct_type);
char *ptr;
int struct_type;
DESCRIPTION
The
t_free()
function frees memory previously allocated by
t_alloc().
This function will free memory for the specified structure and will
also free memory for buffers referenced by the structure.
The argument
ptr
points to one of the seven structure types described for
t_alloc().
struct_type
identifies the type of that structure
which must be one of the following:
T_BIND struct t_bind
T_CALL struct t_call
T_OPTMGMT struct t_optmgmt
T_DIS struct t_discon
T_UNITDATA struct t_unitdata
T_UDERROR struct t_uderr
T_INFO struct t_info
where each of these structures is used as an argument to one or more transport
functions.
t_free()
will check the
addr,
opt,
and
udata
fields of the
given structure (as appropriate) and free the buffers pointed to by the
buf
field of the
netbuf
structure. If
buf
is a null pointer,
t_free()
will not attempt to free memory. After all buffers are freed,
t_free()
will free the memory associated with the structure pointed to by
ptr.
Undefined results will occur if
ptr
or any of the
buf
pointers
points to a block of memory that was not previously allocated by
t_alloc().
Valid States
All - apart from T_UNINIT
Fork Safety
t_free
is not fork-safe.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned, and
t_errno
is set to indicate the error.
ERRORS
On failure,
t_errno
is set to the following:
- [TSYSERR]
A system error has occurred during execution of this function.
- [TNOSTRUCTYPE]
Unsupported
struct_type
requested.
- [TPROTO]
(XTI only) This error indicates that a communication problem has been
detected between XTI and the transport provider for which there is no
suitable XTI (t_errno).
STANDARDS CONFORMANCE
t_free(): SVID2, XPG3, XPG4