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 &lt;curl/curl.h&gt;</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