LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
flexarray.h
Go to the documentation of this file.
1#ifndef _FLEXARRAY_H_INCLUDED
2#define _FLEXARRAY_H_INCLUDED
3
4#include <stdint.h>
5#include <allocator.h>
6
7struct flexarray;
8typedef struct flexarray* flexarray_t;
9
10flexarray_t new_flexarray(size_t member_size, size_t initial_alloc, allocator_t* alloc);
12
14void flexarray_prepend(flexarray_t array, void* data);
16
19
20size_t flexarray_length(flexarray_t array);
22void flexarray_get(flexarray_t array, void* buffer, uint64_t idx);
23void flexarray_set(flexarray_t array, void* buffer, uint64_t idx);
24
25const void* flexarray_getall(flexarray_t array);
26
27#endif
unsigned long uint64_t
Definition arch.h:14
void * data
Definition flexarray.c:11
size_t member_size
Definition flexarray.c:5
const void * flexarray_getall(flexarray_t array)
Definition flexarray.c:126
struct flexarray * flexarray_t
Definition flexarray.h:8
void flexarray_prepend(flexarray_t array, void *data)
Definition flexarray.c:67
flexarray_t new_flexarray(size_t member_size, size_t initial_alloc, allocator_t *alloc)
Definition flexarray.c:14
void flexarray_remove(flexarray_t array, uint64_t idx)
Definition flexarray.c:78
void delete_flexarray(flexarray_t array)
Definition flexarray.c:29
void flexarray_set(flexarray_t array, void *buffer, uint64_t idx)
Definition flexarray.c:118
uint64_t flexarray_find(flexarray_t array, void *data)
Will return -1 when not found.
Definition flexarray.c:92
uint64_t flexarray_append(flexarray_t array, void *data)
Definition flexarray.c:56
void flexarray_get(flexarray_t array, void *buffer, uint64_t idx)
Definition flexarray.c:110
size_t flexarray_member_size(flexarray_t array)
Definition flexarray.c:106
size_t flexarray_length(flexarray_t array)
Definition flexarray.c:102
allocator_t * alloc