]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/jemalloc/include/jemalloc/jemalloc_typedefs.h
Import tzdata 2020c
[FreeBSD/FreeBSD.git] / contrib / jemalloc / include / jemalloc / jemalloc_typedefs.h
1 typedef struct extent_hooks_s extent_hooks_t;
2
3 /*
4  * void *
5  * extent_alloc(extent_hooks_t *extent_hooks, void *new_addr, size_t size,
6  *     size_t alignment, bool *zero, bool *commit, unsigned arena_ind);
7  */
8 typedef void *(extent_alloc_t)(extent_hooks_t *, void *, size_t, size_t, bool *,
9     bool *, unsigned);
10
11 /*
12  * bool
13  * extent_dalloc(extent_hooks_t *extent_hooks, void *addr, size_t size,
14  *     bool committed, unsigned arena_ind);
15  */
16 typedef bool (extent_dalloc_t)(extent_hooks_t *, void *, size_t, bool,
17     unsigned);
18
19 /*
20  * void
21  * extent_destroy(extent_hooks_t *extent_hooks, void *addr, size_t size,
22  *     bool committed, unsigned arena_ind);
23  */
24 typedef void (extent_destroy_t)(extent_hooks_t *, void *, size_t, bool,
25     unsigned);
26
27 /*
28  * bool
29  * extent_commit(extent_hooks_t *extent_hooks, void *addr, size_t size,
30  *     size_t offset, size_t length, unsigned arena_ind);
31  */
32 typedef bool (extent_commit_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
33     unsigned);
34
35 /*
36  * bool
37  * extent_decommit(extent_hooks_t *extent_hooks, void *addr, size_t size,
38  *     size_t offset, size_t length, unsigned arena_ind);
39  */
40 typedef bool (extent_decommit_t)(extent_hooks_t *, void *, size_t, size_t,
41     size_t, unsigned);
42
43 /*
44  * bool
45  * extent_purge(extent_hooks_t *extent_hooks, void *addr, size_t size,
46  *     size_t offset, size_t length, unsigned arena_ind);
47  */
48 typedef bool (extent_purge_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
49     unsigned);
50
51 /*
52  * bool
53  * extent_split(extent_hooks_t *extent_hooks, void *addr, size_t size,
54  *     size_t size_a, size_t size_b, bool committed, unsigned arena_ind);
55  */
56 typedef bool (extent_split_t)(extent_hooks_t *, void *, size_t, size_t, size_t,
57     bool, unsigned);
58
59 /*
60  * bool
61  * extent_merge(extent_hooks_t *extent_hooks, void *addr_a, size_t size_a,
62  *     void *addr_b, size_t size_b, bool committed, unsigned arena_ind);
63  */
64 typedef bool (extent_merge_t)(extent_hooks_t *, void *, size_t, void *, size_t,
65     bool, unsigned);
66
67 struct extent_hooks_s {
68         extent_alloc_t          *alloc;
69         extent_dalloc_t         *dalloc;
70         extent_destroy_t        *destroy;
71         extent_commit_t         *commit;
72         extent_decommit_t       *decommit;
73         extent_purge_t          *purge_lazy;
74         extent_purge_t          *purge_forced;
75         extent_split_t          *split;
76         extent_merge_t          *merge;
77 };