3 * \brief Header file for the octopus get/set API.
7 * Copyright (c) 2011, ETH Zurich.
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
15 #ifndef OCTOPUS_GETSET_H_
16 #define OCTOPUS_GETSET_H_
18 #include <barrelfish/barrelfish.h>
20 typedef uint64_t oct_mode_t;
22 #define SET_DEFAULT (0x0) /*!< Normal set mode for records. */
23 #define SET_SEQUENTIAL (0x1) /*!< Append a monotonically increasing number
24 (based on the record name) to the name
26 #define SET_TRANSIENT (0x1 << 1) /*!< Record gets deleted as soon as the
27 domain has ended it's execution. */
28 // TODO SET_TRANSIENT NYI Due to limitations of barrelfish:
29 // (can't figure out if a domain is done/crashed...).
31 errval_t oct_get_names(char*** names, size_t*, const char*, ...);
32 errval_t oct_parse_names(char* input, char*** names, size_t*);
33 void oct_free_names(char**, size_t);
35 errval_t oct_get(char**, const char*, ...);
36 errval_t oct_set(const char*, ...);
37 errval_t oct_get_with_idcap(char**, struct capref);
38 errval_t oct_set_with_idcap(struct capref, const char*, ...);
39 errval_t oct_mset(oct_mode_t, const char*, ...);
40 errval_t oct_set_get(oct_mode_t, char**, const char*, ...);
41 errval_t oct_del(const char*, ...);
42 errval_t oct_exists(const char*, ...);
43 errval_t oct_wait_for(char**, const char*, ...);
45 errval_t oct_read(const char*, const char*, ...);
47 #endif /* OCTOPUS_GETSET_H_ */