Provided by: trafficserver-dev_5.3.0-2ubuntu2_amd64 bug

NAME

       TSmalloc - traffic Server memory allocation API

SYNOPSIS

       #include <ts/ts.h>

       void * TSmalloc(size_t size, const char * path)

       void * TSrealloc(void * ptr, size_t size, const char * path)

       char * TSstrdup(const char * str)

       char * TSstrndup(const char * str, size_t size)

       size_t TSstrlcpy(char * dst, const char * src, size_t size)

       size_t TSstrlcat(char * dst, const char * src, size_t size)

       void TSfree(void * ptr)

DESCRIPTION

       Traffic Server provides a number of routines for allocating and freeing memory. These routines correspond
       to  similar  routines  in  the  C  library.   For example, TSrealloc() behaves like the C library routine
       realloc().  There are two reasons  to  use  the  routines  provided  by  Traffic  Server.  The  first  is
       portability.  The  Traffic  Server  API  routines  behave  the  same  on all of Traffic Servers supported
       platforms. For example, realloc() does not accept an argument of  NULL  on  some  platforms.  The  second
       reason is that the Traffic Server routines actually track the memory allocations by file and line number.
       This tracking is very efficient, is always turned on, and is useful for tracking down memory leaks.

       TSmalloc()  returns  a  pointer  to  size  bytes  of  memory allocated from the heap. Traffic Server uses
       TSmalloc() internally for memory allocations.   Always  use  TSfree()  to  release  memory  allocated  by
       TSmalloc(); do not use free().

       TSstrdup()  returns  a  pointer  to a new string that is a duplicate of the string pointed to by str. The
       memory for the new string is allocated using TSmalloc() and should  be  freed  by  a  call  to  TSfree().
       TSstrndup()  returns  a  pointer  to a new string that is a duplicate of the string pointed to by str and
       size bytes long. The new string will be NUL-terminated. This API is  very  useful  for  transforming  non
       NUL-terminated  string values returned by APIs such as TSMimeHdrFieldValueStringGet() into NUL-terminated
       string values. The memory for the new string is allocated using TSmalloc() and should be freed by a  call
       to TSfree().

       TSstrlcpy()  copies  up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating
       the result.

       TSstrlcat() appends the NUL-terminated string src to the end of dst.  It  will  append  at  most  size  -
       strlen(dst) - 1 bytes, NUL-terminating the result.

       TSfree()  releases  the  memory  allocated by TSmalloc() or TSrealloc(). If ptr is NULL, TSfree() does no
       operation.

SEE ALSO

       TSAPI(3ts)

COPYRIGHT

       2014, dev@trafficserver.apache.org

5.3                                              April 18, 2016                                    TSMALLOC(3ts)