mirror of
https://github.com/AuxXxilium/kmod.git
synced 2024-12-03 21:26:55 +07:00
23 lines
617 B
C
23 lines
617 B
C
|
#ifndef _LIBKMOD_ARRAY_H_
|
||
|
#define _LIBKMOD_ARRAY_H_
|
||
|
|
||
|
/*
|
||
|
* Declaration of struct array is in header because we may want to embed the
|
||
|
* structure into another, so we need to know its size
|
||
|
*/
|
||
|
struct array {
|
||
|
void **array;
|
||
|
size_t count;
|
||
|
size_t total;
|
||
|
size_t step;
|
||
|
};
|
||
|
|
||
|
void array_init(struct array *array, size_t step);
|
||
|
int array_append(struct array *array, const void *element);
|
||
|
int array_append_unique(struct array *array, const void *element);
|
||
|
void array_pop(struct array *array);
|
||
|
void array_free_array(struct array *array);
|
||
|
void array_sort(struct array *array, int (*cmp)(const void *a, const void *b));
|
||
|
|
||
|
#endif
|