2 #ifndef __SFI_MEMORY_H__
3 #define __SFI_MEMORY_H__
11 #define sfi_new_struct(type, n) ((type*) sfi_alloc_memblock (sizeof (type) * (n)))
12 #define sfi_new_struct0(type, n) ((type*) sfi_alloc_memblock0 (sizeof (type) * (n)))
13 #define sfi_delete_struct(type, mem) (sfi_delete_structs (type, 1, (mem)))
15 # define sfi_delete_structs(type, n, mem) (sfi_free_memblock (sizeof (type) * (n), (mem)))
17 # define sfi_delete_structs(type, n, mem) ({ \
18 type *__typed_pointer = (mem); \
19 sfi_free_memblock (sizeof (type) * (n), __typed_pointer); \
22 #define SFI_ALIGNED_SIZE(size,align) ((align) > 0 ? _SFI_INTERN_ALIGN (((gsize) (size)), ((gsize) (align))) : (gsize) (size))
23 #define _SFI_INTERN_ALIGN(s, a) (((s + (a - 1)) / a) * a)
24 #define SFI_STD_ALIGN (MAX (MAX (sizeof (float), sizeof (int)), sizeof (void*)))
28 gpointer sfi_alloc_memblock (gsize size);
29 gpointer sfi_alloc_memblock0 (gsize size);
30 void sfi_free_memblock (gsize size,
32 void sfi_alloc_report (
void);
33 gulong sfi_alloc_upper_power2 (
const gulong number);
34 void _sfi_free_node_list (gpointer mem,