Refactor process manager to enable spawnd discovery.
[barrelfish] / if / proc_mgmt.if
1 /*
2  * Copyright (c) 2017, ETH Zurich.
3  * All rights reserved.
4  *
5  * This file is distributed under the terms in the attached LICENSE file.
6  * If you do not find this file, copies can be found by writing to:
7  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8  */
9
10 interface proc_mgmt "Process management service" {
11   
12   // Add a new spawnd to the process manager's list.
13   message add_spawnd(coreid core, iref iref);
14
15   // Spawn a new domain, returning its domainid cap.
16   /*
17   rpc spawn(in coreid core,
18             in String path[2048],
19             in char argvbuf[argvbytes, 2048],
20             in char envbuf[envbytes, 2048],
21             in uint8 flags,
22             out errval err,
23             out cap domainid_cap);
24
25   // Span the caller to a new core.
26   rpc span(in cap domainid_cap,
27            in coreid core,
28            in cap vroot,
29            in cap disp_mem,
30            out errval err);
31
32   // Kill a domain for which the caller has a domainid cap.
33   rpc kill(in cap domainid_cap, out errval err);
34   */
35
36   // TODO(razvan): exit, wait, status, some other calls from spawn.if?
37 };