Back to Turicreate

Module xmlmemory from libxml2

deps/src/libxml2-2.9.1/doc/html/libxml-xmlmemory.html

6.4.113.9 KB
Original Source

| |

|

|

|

Module xmlmemory from libxml2

|

|

|

|

|

|

| API Menu | |

|

| API Indexes | |

|

| Related links | |

|

|

|

|

|

|

| | xmlexports | | API documentation | | The XML C parser and toolkit of Gnome | xmlmodule | |

provides interfaces for the memory allocator, including debugging capabilities.

Table of Contents

#define[DEBUG\_MEMORY](#DEBUG_MEMORY)
Variable[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)xmlMalloc
Variable[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)xmlMallocAtomic
Variable[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)xmlMemStrdup
Variable[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)xmlRealloc
void[xmlCleanupMemory](#xmlCleanupMemory)(void)
Function type:[xmlFreeFunc](#xmlFreeFunc)void[xmlFreeFunc](#xmlFreeFunc)(void * mem)
int[xmlGcMemGet](#xmlGcMemGet)([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)* freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)* mallocFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)* mallocAtomicFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)* reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)* strdupFunc)
int[xmlGcMemSetup](#xmlGcMemSetup)([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)mallocFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)mallocAtomicFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)strdupFunc)
int[xmlInitMemory](#xmlInitMemory)(void)
void *[xmlMallocAtomicLoc](#xmlMallocAtomicLoc)(size_t size,
const char * file,
int line)
Function type:[xmlMallocFunc](#xmlMallocFunc)void *[xmlMallocFunc](#xmlMallocFunc)(size_t size)
void *[xmlMallocLoc](#xmlMallocLoc)(size_t size,
const char * file,
int line)
int[xmlMemBlocks](#xmlMemBlocks)(void)
void[xmlMemDisplay](#xmlMemDisplay)(FILE * fp)
void[xmlMemDisplayLast](#xmlMemDisplayLast)(FILE * fp,
long nbBytes)
void[xmlMemFree](#xmlMemFree)(void * ptr)
int[xmlMemGet](#xmlMemGet)([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)* freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)* mallocFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)* reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)* strdupFunc)
void *[xmlMemMalloc](#xmlMemMalloc)(size_t size)
void *[xmlMemRealloc](#xmlMemRealloc)(void * ptr,
size_t size)
int[xmlMemSetup](#xmlMemSetup)([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)mallocFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)strdupFunc)
void[xmlMemShow](#xmlMemShow)(FILE * fp,
int nr)
char *[xmlMemStrdupLoc](#xmlMemStrdupLoc)(const char * str,
const char * file,
int line)
int[xmlMemUsed](#xmlMemUsed)(void)
void[xmlMemoryDump](#xmlMemoryDump)(void)
char *[xmlMemoryStrdup](#xmlMemoryStrdup)(const char * str)
Function type:[xmlReallocFunc](#xmlReallocFunc)void *[xmlReallocFunc](#xmlReallocFunc)(void * mem,
size_t size)
void *[xmlReallocLoc](#xmlReallocLoc)(void * ptr,
size_t size,
const char * file,
int line)
Function type:[xmlStrdupFunc](#xmlStrdupFunc)char *[xmlStrdupFunc](#xmlStrdupFunc)(const char * str)

Description

Macro: DEBUG_MEMORY

#define DEBUG_MEMORY

DEBUG_MEMORY replaces the allocator with a collect and debug shell to the libc allocator. DEBUG_MEMORY should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define DEBUG_MEMORY_LOCATION

Function: xmlCleanupMemory

void	xmlCleanupMemory (void)

Free up all the memory allocated by the library for its own use. This should not be called by user level code.

Function type: xmlFreeFunc

Function type: xmlFreeFunc
void	xmlFreeFunc (void * mem)

Signature for a free() implementation.

| mem: | an already allocated block of memory |

Function: xmlGcMemGet

int	xmlGcMemGet ([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)* freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)* mallocFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)* mallocAtomicFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)* reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)* strdupFunc)

Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators

| freeFunc: | place to save the free() function in use | | mallocFunc: | place to save the malloc() function in use | | mallocAtomicFunc: | place to save the atomic malloc() function in use | | reallocFunc: | place to save the realloc() function in use | | strdupFunc: | place to save the strdup() function in use | | Returns: | 0 on success |

Function: xmlGcMemSetup

int	xmlGcMemSetup ([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)mallocFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)mallocAtomicFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)strdupFunc)

Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?

| freeFunc: | the free() function to use | | mallocFunc: | the malloc() function to use | | mallocAtomicFunc: | the malloc() function to use for atomic allocations | | reallocFunc: | the realloc() function to use | | strdupFunc: | the strdup() function to use | | Returns: | 0 on success |

Function: xmlInitMemory

int	xmlInitMemory (void)

Initialize the memory layer.

| Returns: | 0 on success |

Function: xmlMallocAtomicLoc

void *	xmlMallocAtomicLoc (size_t size,
const char * file,
int line)

a malloc() equivalent, with logging of the allocation info.

| size: | an int specifying the size in byte to allocate. | | file: | the file name or NULL | | line: | the line number | | Returns: | a pointer to the allocated area or NULL in case of lack of memory. |

Function type: xmlMallocFunc

Function type: xmlMallocFunc
void *	xmlMallocFunc (size_t size)

Signature for a malloc() implementation.

| size: | the size requested in bytes | | Returns: | a pointer to the newly allocated block or NULL in case of error. |

Function: xmlMallocLoc

void *	xmlMallocLoc (size_t size,
const char * file,
int line)

a malloc() equivalent, with logging of the allocation info.

| size: | an int specifying the size in byte to allocate. | | file: | the file name or NULL | | line: | the line number | | Returns: | a pointer to the allocated area or NULL in case of lack of memory. |

Function: xmlMemBlocks

int	xmlMemBlocks (void)

Provides the number of memory areas currently allocated

| Returns: | an int representing the number of blocks |

Function: xmlMemDisplay

void	xmlMemDisplay (FILE * fp)

show in-extenso the memory blocks allocated

| fp: | a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist |

Function: xmlMemDisplayLast

void	xmlMemDisplayLast (FILE * fp,
long nbBytes)

the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.

| fp: | a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist | | nbBytes: | the amount of memory to dump |

Function: xmlMemFree

void	xmlMemFree (void * ptr)

a free() equivalent, with error checking.

| ptr: | the memory block pointer |

Function: xmlMemGet

int	xmlMemGet ([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)* freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)* mallocFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)* reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)* strdupFunc)

Provides the memory access functions set currently in use

| freeFunc: | place to save the free() function in use | | mallocFunc: | place to save the malloc() function in use | | reallocFunc: | place to save the realloc() function in use | | strdupFunc: | place to save the strdup() function in use | | Returns: | 0 on success |

Function: xmlMemMalloc

void *	xmlMemMalloc (size_t size)

a malloc() equivalent, with logging of the allocation info.

| size: | an int specifying the size in byte to allocate. | | Returns: | a pointer to the allocated area or NULL in case of lack of memory. |

Function: xmlMemRealloc

void *	xmlMemRealloc (void * ptr,
size_t size)

a realloc() equivalent, with logging of the allocation info.

| ptr: | the initial memory block pointer | | size: | an int specifying the size in byte to allocate. | | Returns: | a pointer to the allocated area or NULL in case of lack of memory. |

Function: xmlMemSetup

int	xmlMemSetup ([xmlFreeFunc](libxml-xmlmemory.html#xmlFreeFunc)freeFunc,
[xmlMallocFunc](libxml-xmlmemory.html#xmlMallocFunc)mallocFunc,
[xmlReallocFunc](libxml-xmlmemory.html#xmlReallocFunc)reallocFunc,
[xmlStrdupFunc](libxml-xmlmemory.html#xmlStrdupFunc)strdupFunc)

Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?

| freeFunc: | the free() function to use | | mallocFunc: | the malloc() function to use | | reallocFunc: | the realloc() function to use | | strdupFunc: | the strdup() function to use | | Returns: | 0 on success |

Function: xmlMemShow

void	xmlMemShow (FILE * fp,
int nr)

show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed

| fp: | a FILE descriptor used as the output file | | nr: | number of entries to dump |

Function: xmlMemStrdupLoc

char *	xmlMemStrdupLoc (const char * str,
const char * file,
int line)

a strdup() equivalent, with logging of the allocation info.

| str: | the initial string pointer | | file: | the file name or NULL | | line: | the line number | | Returns: | a pointer to the new string or NULL if allocation error occurred. |

Function: xmlMemUsed

int	xmlMemUsed (void)

Provides the amount of memory currently allocated

| Returns: | an int representing the amount of memory allocated. |

Function: xmlMemoryDump

void	xmlMemoryDump (void)

Dump in-extenso the memory blocks allocated to the file .memorylist

Function: xmlMemoryStrdup

char *	xmlMemoryStrdup (const char * str)

a strdup() equivalent, with logging of the allocation info.

| str: | the initial string pointer | | Returns: | a pointer to the new string or NULL if allocation error occurred. |

Function type: xmlReallocFunc

Function type: xmlReallocFunc
void *	xmlReallocFunc (void * mem,
size_t size)

Signature for a realloc() implementation.

| mem: | an already allocated block of memory | | size: | the new size requested in bytes | | Returns: | a pointer to the newly reallocated block or NULL in case of error. |

Function: xmlReallocLoc

void *	xmlReallocLoc (void * ptr,
size_t size,
const char * file,
int line)

a realloc() equivalent, with logging of the allocation info.

| ptr: | the initial memory block pointer | | size: | an int specifying the size in byte to allocate. | | file: | the file name or NULL | | line: | the line number | | Returns: | a pointer to the allocated area or NULL in case of lack of memory. |

Function type: xmlStrdupFunc

Function type: xmlStrdupFunc
char *	xmlStrdupFunc (const char * str)

Signature for an strdup() implementation.

| str: | a zero terminated string | | Returns: | the copy of the string or NULL in case of error. |

Daniel Veillard

|

|

|

|

|