t_free(3xti)


t_free -- free a library data structure

Synopsis

cc [options] file -lnsl
#include <xti.h>

int t_free(char *ptr, int struct_type);

Description

This function is a TLI/XTI local management routine used to free 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.

ptr points to the structure, previously referenced by t_alloc, which may be one of six types described by struct_type. One of the following types of structures may be specified:

   T_BIND          /* struct t_bind        */
   T_OPTMGMT       /* struct t_optmgmt     */
   T_CALL          /* struct t_call        */
   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 (see intro(3xti)) structure.

Parameters


ptr
points to the structure referenced by t_alloc.

struct_type
identifies the type of structure.

State transitions

t_free may be issued from any valid state except T_UNINIT and has no effect on the state.

Files


/usr/lib/libxti.so
X/Open® Transport Interface Library (shared object)

/usr/lib/libnsl.so
Network Services Library (shared object)

Usage

After all buffers are freed, t_free will free the memory associated with the structure pointed to by ptr.

If buf is NULL, t_free will not attempt to free memory.

Return values

t_free 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 the following:

TSYSERR
A system error has occurred during execution of this function.

TNOSTRUCTYPE
The argument that specifies struct_type is invalid, for example, because the type of structure requested in inconsistent with the transport provider (connection mode or connectionless).

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.

Warnings

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.

References

intro(3xti), t_alloc(3xti)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004