1 /* This file is part of GEGL
2  *
3  * GEGL is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 3 of the License, or (at your option) any later version.
7  *
8  * GEGL is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with GEGL; if not, see <https://www.gnu.org/licenses/>.
15  *
16  * Copyright 2019 Ell
17  */
18 
19 #ifndef __GEGL_TILE_ALLOC_H__
20 #define __GEGL_TILE_ALLOC_H__
21 
22 
23 void       gegl_tile_alloc_init      (void);
24 void       gegl_tile_alloc_cleanup   (void);
25 
26 /* the buffer returned by gegl_tile_alloc() and gegl_tile_alloc0() is
27  * guaranteed to have room for two `int`s in front of the buffer.
28  */
29 
30 gpointer   gegl_tile_alloc           (gsize    size) G_GNUC_MALLOC;
31 gpointer   gegl_tile_alloc0          (gsize    size) G_GNUC_MALLOC;
32 void       gegl_tile_free            (gpointer ptr);
33 
34 guint64    gegl_tile_alloc_get_total (void);
35 
36 
37 #endif /* __GEGL_TILE_ALLOC_H__ */
38