1 | /* |
2 | * This library is free software; you can redistribute it and/or |
3 | * modify it under the terms of the GNU Lesser General Public |
4 | * License as published by the Free Software Foundation; either |
5 | * version 2.1 of the License, or (at your option) any later version. |
6 | * |
7 | * This library is distributed in the hope that it will be useful, |
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
10 | * Lesser General Public License for more details. |
11 | * |
12 | * You should have received a copy of the GNU Lesser General Public |
13 | * License along with this library; if not, see <http://www.gnu.org/licenses/>. |
14 | */ |
15 | |
16 | #ifndef __G_ALLOCATOR_H__ |
17 | #define __G_ALLOCATOR_H__ |
18 | |
19 | #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) |
20 | #error "Only <glib.h> can be included directly." |
21 | #endif |
22 | |
23 | #include <glib/gtypes.h> |
24 | |
25 | G_BEGIN_DECLS |
26 | |
27 | typedef struct _GAllocator GAllocator; |
28 | typedef struct _GMemChunk GMemChunk; |
29 | |
30 | #define G_ALLOC_ONLY 1 |
31 | #define G_ALLOC_AND_FREE 2 |
32 | #define G_ALLOCATOR_LIST 1 |
33 | #define G_ALLOCATOR_SLIST 2 |
34 | #define G_ALLOCATOR_NODE 3 |
35 | |
36 | #define g_chunk_new(type, chunk) ((type *) g_mem_chunk_alloc (chunk)) |
37 | #define g_chunk_new0(type, chunk) ((type *) g_mem_chunk_alloc0 (chunk)) |
38 | #define g_chunk_free(mem, mem_chunk) (g_mem_chunk_free (mem_chunk, mem)) |
39 | #define g_mem_chunk_create(type, x, y) (g_mem_chunk_new (NULL, sizeof (type), 0, 0)) |
40 | |
41 | |
42 | GLIB_DEPRECATED |
43 | GMemChunk * g_mem_chunk_new (const gchar *name, |
44 | gint atom_size, |
45 | gsize area_size, |
46 | gint type); |
47 | GLIB_DEPRECATED |
48 | void g_mem_chunk_destroy (GMemChunk *mem_chunk); |
49 | GLIB_DEPRECATED |
50 | gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk); |
51 | GLIB_DEPRECATED |
52 | gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk); |
53 | GLIB_DEPRECATED |
54 | void g_mem_chunk_free (GMemChunk *mem_chunk, |
55 | gpointer mem); |
56 | GLIB_DEPRECATED |
57 | void g_mem_chunk_clean (GMemChunk *mem_chunk); |
58 | GLIB_DEPRECATED |
59 | void g_mem_chunk_reset (GMemChunk *mem_chunk); |
60 | GLIB_DEPRECATED |
61 | void g_mem_chunk_print (GMemChunk *mem_chunk); |
62 | GLIB_DEPRECATED |
63 | void g_mem_chunk_info (void); |
64 | GLIB_DEPRECATED |
65 | void g_blow_chunks (void); |
66 | |
67 | |
68 | GLIB_DEPRECATED |
69 | GAllocator * g_allocator_new (const gchar *name, |
70 | guint n_preallocs); |
71 | GLIB_DEPRECATED |
72 | void g_allocator_free (GAllocator *allocator); |
73 | GLIB_DEPRECATED |
74 | void g_list_push_allocator (GAllocator *allocator); |
75 | GLIB_DEPRECATED |
76 | void g_list_pop_allocator (void); |
77 | GLIB_DEPRECATED |
78 | void g_slist_push_allocator (GAllocator *allocator); |
79 | GLIB_DEPRECATED |
80 | void g_slist_pop_allocator (void); |
81 | GLIB_DEPRECATED |
82 | void g_node_push_allocator (GAllocator *allocator); |
83 | GLIB_DEPRECATED |
84 | void g_node_pop_allocator (void); |
85 | |
86 | G_END_DECLS |
87 | |
88 | #endif /* __G_ALLOCATOR_H__ */ |
89 | |