1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3<html><head> 4<title>curl_global_init_mem man page</title> 5<meta name="generator" content="roffit"> 6<STYLE type="text/css"> 7P.level0 { 8 padding-left: 2em; 9} 10 11P.level1 { 12 padding-left: 4em; 13} 14 15P.level2 { 16 padding-left: 6em; 17} 18 19span.emphasis { 20 font-style: italic; 21} 22 23span.bold { 24 font-weight: bold; 25} 26 27span.manpage { 28 font-weight: bold; 29} 30 31h2.nroffsh { 32 background-color: #e0e0e0; 33} 34 35span.nroffip { 36 font-weight: bold; 37 font-size: 120%; 38 font-family: monospace; 39} 40 41p.roffit { 42 text-align: center; 43 font-size: 80%; 44} 45</STYLE> 46</head><body> 47 48<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2> 49<p class="level0">curl_global_init_mem - Global libcurl initialisation with memory callbacks <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2> 50<p class="level0"><span Class="bold">#include <curl/curl.h></span> <pre> 51<p class="level0"><span Class="bold">CURLcode curl_global_init_mem(long flags,</span> 52<span Class="bold"> curl_malloc_callback m,</span> 53<span Class="bold"> curl_free_callback f,</span> 54<span Class="bold"> curl_realloc_callback r,</span> 55<span Class="bold"> curl_strdup_callback s,</span> 56<span Class="bold"> curl_calloc_callback c );</span> 57</pre> 58<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2> 59<p class="level0">This function works exactly as <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> with one addition: it allows the application to set callbacks to replace the otherwise used internal memory functions. 60<p class="level0">This man page only adds documentation for the callbacks, see the <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> man page for all the rest. When you use this function, all callback arguments must be set to valid function pointers. 61<p class="level0">The prototypes for the given callbacks should match these: 62<p class="level0"><a name="void"></a><span class="nroffip">void *malloc_callback(size_t size);</span> 63<p class="level1">To replace malloc() 64<p class="level0"><a name="void"></a><span class="nroffip">void free_callback(void *ptr);</span> 65<p class="level1">To replace free() 66<p class="level0"><a name="void"></a><span class="nroffip">void *realloc_callback(void *ptr, size_t size);</span> 67<p class="level1">To replace realloc() 68<p class="level0"><a name="char"></a><span class="nroffip">char *strdup_callback(const char *str);</span> 69<p class="level1">To replace strdup() 70<p class="level0"><a name="void"></a><span class="nroffip">void *calloc_callback(size_t nmemb, size_t size);</span> 71<p class="level1">To replace calloc() <a name="CAUTION"></a><h2 class="nroffsh">CAUTION</h2> 72<p class="level0">Manipulating these gives considerable powers to the application to severely screw things up for libcurl. Take care! <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2> 73<p class="level0"><a class="manpage" href="./curl_global_init.html">curl_global_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_global_cleanup.html">curl_global_cleanup (3)</a> <span Class="manpage"> </span> 74<p class="level0"><p class="roffit"> 75 This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>. 76</body></html> 77