InnoDB Plugin  1.0
mem0pool.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
16 
17 *****************************************************************************/
18 
19 /**************************************************/
26 #ifndef mem0pool_h
27 #define mem0pool_h
28 
29 #include "univ.i"
30 #include "os0file.h"
31 #include "ut0lst.h"
32 
34 struct mem_pool_t;
35 
37 extern mem_pool_t* mem_comm_pool;
38 
40 struct mem_area_t{
41  ulint size_and_free;
45  UT_LIST_NODE_T(mem_area_t)
47 };
48 
50 #define MEM_AREA_EXTRA_SIZE (ut_calc_align(sizeof(struct mem_area_t),\
51  UNIV_MEM_ALIGNMENT))
52 
53 /********************************************************************/
56 UNIV_INTERN
57 mem_pool_t*
59 /*============*/
60  ulint size);
61 /********************************************************************/
63 UNIV_INTERN
64 void
66 /*==========*/
67  mem_pool_t* pool);
68 /********************************************************************/
72 UNIV_INTERN
73 void*
75 /*===========*/
76  ulint* psize,
81  mem_pool_t* pool);
82 /********************************************************************/
84 UNIV_INTERN
85 void
87 /*==========*/
88  void* ptr,
90  mem_pool_t* pool);
91 /********************************************************************/
94 UNIV_INTERN
95 ulint
97 /*==================*/
98  mem_pool_t* pool);
99 /********************************************************************/
102 UNIV_INTERN
103 ibool
105 /*==============*/
106  mem_pool_t* pool);
107 /********************************************************************/
109 UNIV_INTERN
110 void
112 /*================*/
113  FILE* outfile,
114  mem_pool_t* pool);
117 #ifndef UNIV_NONINL
118 #include "mem0pool.ic"
119 #endif
120 
121 #endif