Differences From
Artifact [e8670496c8]:
7 7 #endif
8 8
9 9 #ifdef __cplusplus
10 10 extern "C" {
11 11 #endif
12 +
13 +typedef enum kmcond {
14 + kmcond_ok,
15 + kmcond_bad_address,
16 +} kmcond;
12 17
13 18 typedef enum kmkind {
14 19 kmkind_none,
15 20 kmkind_heap,
16 21 kmkind_pool,
................................................................................
27 32 kmkind kind;
28 33 sz size;
29 34 kmshred shred;
30 35 sz refs;
31 36 struct kmcell* src;
32 - char data[];
33 37 } kmcell;
34 38
35 39 typedef struct kmptr {
36 40 kmkind kind;
37 41 kmshred shred;
................................................................................
39 43 kmcell* cell;
40 44 } kmptr;
41 45
42 46 /* heap functions */
43 47
44 -void* kmheapa(sz);
45 -void kmheapf(void*);
48 +void* kmheapa(sz);
49 +kmcond kmheapf(void*);
46 50
47 51 #ifdef __cplusplus
48 52 }
49 53 #endif
50 54
51 55 #endif