File: cxmemory_8h_source.html

package info (click to toggle)
cpl 6.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 18,764 kB
  • sloc: ansic: 111,368; sh: 14,549; makefile: 626
file content (135 lines) | stat: -rw-r--r-- 7,544 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>C Standard Library Extensions: cxmemory.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">C Standard Library Extensions
   &#160;<span id="projectnumber">1.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_c2959b2ad5731f3b356ab222d87e802c.html">cext</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">cxmemory.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* $Id: cxmemory.h,v 1.5 2011/02/21 14:15:31 rpalsa Exp $</span>
<a name="l00002"></a>00002 <span class="comment"> *</span>
<a name="l00003"></a>00003 <span class="comment"> * This file is part of the ESO C Extension Library</span>
<a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2001-2011 European Southern Observatory</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or modify</span>
<a name="l00007"></a>00007 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
<a name="l00008"></a>00008 <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span>
<a name="l00009"></a>00009 <span class="comment"> * (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00014"></a>00014 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00017"></a>00017 <span class="comment"> * along with this program; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA</span>
<a name="l00019"></a>00019 <span class="comment"> */</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="comment">/*</span>
<a name="l00022"></a>00022 <span class="comment"> * $Author: rpalsa $</span>
<a name="l00023"></a>00023 <span class="comment"> * $Date: 2011/02/21 14:15:31 $</span>
<a name="l00024"></a>00024 <span class="comment"> * $Revision: 1.5 $</span>
<a name="l00025"></a>00025 <span class="comment"> * $Name: cpl-6_1_1 $</span>
<a name="l00026"></a>00026 <span class="comment"> */</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef CX_MEMORY_H</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define CX_MEMORY_H</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;cxtypes.h&gt;</span>
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 CX_BEGIN_DECLS
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 <span class="keyword">struct </span>_cx_memory_vtable_ {
<a name="l00037"></a>00037     cxptr (*malloc) (cxsize);
<a name="l00038"></a>00038     cxptr (*calloc) (cxsize, cxsize);
<a name="l00039"></a>00039     cxptr (*realloc) (cxptr, cxsize);
<a name="l00040"></a>00040     void (*free) (cxptr);
<a name="l00041"></a>00041 };
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">struct </span>_cx_memory_vtable_ cx_memory_vtable;
<a name="l00044"></a>00044 
<a name="l00045"></a>00045 
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 <span class="comment">/*</span>
<a name="l00048"></a>00048 <span class="comment"> * Memory allocation functions</span>
<a name="l00049"></a>00049 <span class="comment"> */</span>
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="group__cxmemory.html#ga0c60a509c010b61711b01103ae030b4c" title="Install a new set of memory managmement functions.">cx_memory_vtable_set</a>(<span class="keyword">const</span> cx_memory_vtable *);
<a name="l00052"></a>00052 cxbool <a class="code" href="group__cxmemory.html#gae489c929c01055ebf1fd49b2148c2f92" title="Check if the system&#39;s defaults are used for memory allocation.">cx_memory_is_system_malloc</a>(<span class="keywordtype">void</span>);
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 cxptr <a class="code" href="group__cxmemory.html#ga7ae1df2916d7231b1959cebcf4acafab" title="Allocate nbytes bytes.">cx_malloc</a>(cxsize);
<a name="l00055"></a>00055 cxptr <a class="code" href="group__cxmemory.html#ga0bc6a6f776bf144d1e5305e447da3631" title="Allocate nbytes bytes and clear them.">cx_malloc_clear</a>(cxsize);
<a name="l00056"></a>00056 cxptr <a class="code" href="group__cxmemory.html#gad6e24975b7161a4d3f5fe49fd84df740" title="Allocate memory for natoms elements of size size.">cx_calloc</a>(cxsize, cxsize);
<a name="l00057"></a>00057 cxptr <a class="code" href="group__cxmemory.html#ga9bba647812fb989479d1cb2291ae3bdf" title="Change the size of a memory block.">cx_realloc</a>(cxptr, cxsize);
<a name="l00058"></a>00058 <span class="keywordtype">void</span>  <a class="code" href="group__cxmemory.html#ga535a509573c6617da8f0dccdb2710bc9" title="Memory block deallocation.">cx_free</a>(cxptr);
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 CX_END_DECLS
<a name="l00061"></a>00061 
<a name="l00062"></a>00062 <span class="preprocessor">#endif </span><span class="comment">/* CX_MEMORY_H */</span>
</pre></div></div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Tue May 22 2012 06:56:06 for C Standard Library Extensions by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.0
</small></address>

</body>
</html>