JULEA
jcache.h
Go to the documentation of this file.
1 /*
2  * JULEA - Flexible storage framework
3  * Copyright (C) 2010-2024 Michael Kuhn
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
23 #ifndef JULEA_CACHE_H
24 #define JULEA_CACHE_H
25 
26 #if !defined(JULEA_H) && !defined(JULEA_COMPILATION)
27 #error "Only <julea.h> can be included directly."
28 #endif
29 
30 #include <glib.h>
31 
32 G_BEGIN_DECLS
33 
40 struct JCache;
41 
42 typedef struct JCache JCache;
43 
57 JCache* j_cache_new(guint64 size);
58 
72 void j_cache_free(JCache* cache);
73 
90 gpointer j_cache_get(JCache* cache, guint64 length);
91 
105 void j_cache_release(JCache* cache, gpointer data);
106 
111 G_END_DECLS
112 
113 #endif
JCache * j_cache_new(guint64 size)
Definition: jcache.c:57
void j_cache_free(JCache *cache)
Definition: jcache.c:76
void j_cache_release(JCache *cache, gpointer data)
Definition: jcache.c:128
gpointer j_cache_get(JCache *cache, guint64 length)
Definition: jcache.c:101
Definition: jcache.c:43
guint64 size
Definition: jcache.c:47