t_free(3)
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
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).
SEE ALSO
STANDARDS CONFORMANCE
t_free(): SVID2, XPG3, XPG4
Hewlett-Packard Company — HP-UX Release 10.20: July 1996