00001
00008
00009
00010
00011
00012 #ifndef L4UTIL_L4LA_H
00013 #define L4UTIL_L4LA_H
00014
00015 #include <l4/sys/l4int.h>
00016 #include <l4/sys/compiler.h>
00017
00018 typedef struct l4la_free_t_s
00019 {
00020 struct l4la_free_t_s *next;
00021 l4_size_t size;
00022 } l4la_free_t;
00023
00024 #define L4LA_INITIALIZER { 0 }
00025
00026 EXTERN_C_BEGIN
00027
00032 L4_CV void l4la_free(l4la_free_t **first, void *block, l4_size_t size);
00033
00038 L4_CV void* l4la_alloc(l4la_free_t **first, l4_size_t size, unsigned align);
00039
00042 L4_CV void l4la_dump(l4la_free_t **first);
00043
00046 L4_CV void l4la_init(l4la_free_t **first);
00047
00050 L4_CV l4_size_t l4la_avail(l4la_free_t **first);
00051
00052 EXTERN_C_END
00053
00054 #endif