t_free(3)
NAME
t_free − free a library structure
SYNOPSIS
#include <xti.h> (for XTI)
or
#include <tiuser.h> (for TLI)
int t_free (ptr, struct_type)
char *ptr;
int struct_type;
DESCRIPTION
The t_free function frees memory previously allocated by t_alloc (3). 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 (3), and struct_type identifies the type of that structure which must be one of the following:
For XTI:
| T_BIND_STR | struct | t_bind |
| T_CALL_STR | struct | t_call |
| T_OPTMGMT_STR | struct | t_optmgmt |
| T_DIS_STR | struct | t_discon |
| T_UNITDATA_STR | struct | t_unitdata |
| T_UDERROR_STR | struct | t_uderr |
| T_INFO_STR | struct | t_info |
For TLI:
| 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 (3).
ERRORS
On failure, t_errno is set to the following:
[TSYSERR] A system error has occurred during execution of this function.
[TNOTSUPPORT] (XTI only) This function is not supported by the underlying transport provider.
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.
NOTE
In HP-UX 9.0, XTI (X/Open Transport Interface) supports only OSI as a transport provider, and is available only as part of the OSI Transport Services 9000 product. Users of this product can access XTI versions of the t_* routines by linking with /usr/lib/libxti.a. For more information on XTI, see "HP-UX/9000 XTI Programmer’s Guide".
In HP-UX 9.0, TLI (Transport Layer Interface) supports any transport provider which is compliant with TPI (Transport Provider Interface). TLI is available only as part of the STREAMS product. Users of this product can access TLI versions of the t_* routines by linking with /usr/lib/libnsl_s.a. For more information on TLI, see the TLI section of "STREAMS/UX for HP 9000 Reference Manual".
SEE ALSO
Hewlett-Packard Company — HP-UX Release 9.0: October 1992