1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* Copyright (c) 2022 Triad National Security, LLC. All rights reserved.
* Copyright (c) 2022 Nanook Consulting. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef PMIX_UTIL_VMEM_H
#define PMIX_UTIL_VMEM_H
#include "src/include/pmix_config.h"
#include "include/pmix_common.h"
typedef enum {
VMEM_HOLE_NONE = -1,
/** Use hole at the very beginning. */
VMEM_HOLE_BEGIN = 0,
/** Use hole right after the heap. */
VMEM_HOLE_AFTER_HEAP = 1,
/* Use hole right before stack. */
VMEM_HOLE_BEFORE_STACK = 2,
/* Use the biggest hole. */
VMEM_HOLE_BIGGEST = 3,
/* Use the biggest hole between heap and stack. */
VMEM_HOLE_IN_LIBS = 4,
/* Use given address, if available. */
VMEM_HOLE_CUSTOM = 5
} pmix_vmem_hole_kind_t;
PMIX_EXPORT pmix_status_t
pmix_vmem_find_hole(
pmix_vmem_hole_kind_t hkind,
size_t *addrp,
size_t size
);
#endif