t_free(3) — Subroutines
NAME
t_free − Frees a library structure
LIBRARY
XTI Library (libxti.a)
SYNOPSIS
#include <xti.h>
int t_free(
char ∗ptr,
int struct_type) ;
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
t_free: XPG4−UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
PARAMETERS
The following table summarizes the relevance of input parameter data before and after t_free() is called:
| Parameters | Before Call | After Call |
| ptr | y | n |
| struct_type | y | n |
Notes to table:
yThis is a meaningful parameter.
nThis is not a meaningful parameter.
ptr Points to one of the seven structure types described for structures previously named by the struct_type parameter of the t_alloc() function, listed below.
struct_type Specifies the structure type for functions for which memory was previously allocated. This parameter must be one of the symbolic names listed in the following table:
| Symbolic Name | Structure | Using Function |
| T_BIND | struct t_bind | t_bind() |
| T_CALL | struct t_call | t_accept(), t_connect(), t_listen(), t_rcvconnect(), t_snddis() |
| T_OPTMGMT | struct t_optmgmt | t_optmgmt() |
| T_DIS | struct t_discon | t_rcvdis() |
| T_UNITDATA | struct t_unitdata | t_rcvudata(), t_sndudata() |
| T_UDERROR | struct t_uderr | t_rcvuderr() |
| T_INFO | struct t_info | t_info() |
Any structure symbolic name listed in the preceding table may be used as an argument to deallocate previously reserved memory. Each of the structures, except t_info, contains at least one member of type struct netbuf structure, which is defined in the xti.h include file.
This function checks all members of a netbuf structure and deallocates those buffers. When a netbuf structure buf parameter is a null pointer, no memory is deallocated. After all buffers are deallocated, this function frees all memory referenced by the ptr parameter.
VALID STATES
The t_free() function can be called in all transport provider states.
DESCRIPTION
The t_free() function is an XTI general utility function used to deallocate memory buffers previously allocated with the t_alloc() function. When executed, t_free() deallocates memory for the named structure and for any buffers referenced by the named structure. When t_free() is executed, undefined results are obtained when structure pointers or buffer pointers point to memory blocks not previously allocated with the t_alloc() function.
RETURN VALUE
Upon successful completion, a value of 0 (zero) is returned. Otherwise, a value of -1 is returned and t_errno is set to indicate the error.
ERRORS
If the t_free() function fails, t_errno may be set to the following value:
[TSYSERR] A system error occurred during execution of this function.
[TNOSTRUCTURE]
Unsupported struct_type requested.
[TPROTO] This error indicates that a communication problem has been detected between XTI and the transport provider for which there is no other suitable XTI(t_errno).
RELATED INFORMATION
Functions: t_alloc(3)