Create "ProcessManager" and "Domain" capabilities.
[barrelfish] / usr / proc_mgmt / spawnd_state.h
1 /*
2  * \brief Spawnd state internals for the process manager.
3  *
4  * Copyright (c) 2017, ETH Zurich.
5  * All rights reserved.
6  *
7  * This file is distributed under the terms in the attached LICENSE file.
8  * If you do not find this file, copies can be found by writing to:
9  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
10  */
11
12 #ifndef SPAWND_STATE_H
13 #define SPAWND_STATE_H
14
15 #include <stdbool.h>
16
17 #include <if/spawn_defs.h>
18 #include <barrelfish/barrelfish.h>
19
20 // TODO(razvan): Use a hash map instead.
21 #define MAX_SPAWNDS 256
22
23 struct spawnd_state {
24     struct spawn_binding *b;
25     // TODO(razvan): will need more state here.
26 };
27
28 errval_t spawnd_state_alloc(coreid_t core_id, struct spawn_binding *b);
29 void spawnd_state_free(coreid_t core_id);
30 bool spawnd_state_exists(coreid_t core_id);
31 struct spawn_binding *spawnd_state_get_binding(coreid_t core_id);
32
33 #endif  // SPAWND_STATE