Added files with basic definitions of KPC (kernel process communication).
[kernel.git] / inc / ord_array.h
blob502d965bbb4f76ff5e3cf5035c2b9bd7ba27a612
1 // ordered arrays
3 #ifndef __KERNEL__ORDARRAY___HEADER____
4 #define __KERNEL__ORDARRAY___HEADER____
6 #include "types.h"
9 typedef void* OA_VoidPointer;
10 typedef INT8 (*lessthan_predicate_t)(OA_VoidPointer,OA_VoidPointer);
13 typedef struct
15 OA_VoidPointer *array;
16 UINT size;
17 UINT max_size;
18 lessthan_predicate_t less_than;
19 } OrdArray;
22 extern INT8 standard_lessthan_predicate(OA_VoidPointer a, OA_VoidPointer b);
25 //extern OrdArray create_ordered_array(UINT max_size, lessthan_predicate_t less_than);
26 extern OrdArray OA_place (void *, UINT, lessthan_predicate_t);
27 extern void OA_insert (OA_VoidPointer, OrdArray *);
28 extern OA_VoidPointer OA_lookup (UINT, OrdArray *);
29 extern void OA_remove (UINT, OrdArray *);
32 #endif //(__KERNEL__ORDARRAY___HEADER____)