#define PENDING_CLIENTS_H
#include <barrelfish/barrelfish.h>
-#include <barrelfish/event_queue.h>
#include <if/proc_mgmt_defs.h>
#include <if/spawn_defs.h>
+#include "domain.h"
+
#define HASH_INDEX_BUCKETS 6151
enum ClientType {
struct capref argcn_cap;
uint8_t flags;
-
- struct event_queue_node qn;
};
struct pending_span {
- struct capref domain_cap;
+ struct capref domain_cap;
+ struct domain_entry *entry;
struct spawn_binding *b;
coreid_t core_id;
struct capref vroot;
struct capref dispframe;
-
- struct event_queue_node qn;
};
-struct pending_kill_exit_cleanup {
- struct capref domain_cap;
- struct spawn_binding *sb;
- struct proc_mgmt_binding *pmb;
-
- struct event_queue_node qn;
+struct pending_kill_cleanup {
+ struct capref domain_cap;
+ struct domain_entry *entry;
+ struct spawn_binding *b;
};
struct pending_client {
- struct proc_mgmt_binding *b;
-
- struct capref domain_cap;
-
- coreid_t core_id;
- enum ClientType type;
-
- struct pending_client *next;
+ struct proc_mgmt_binding *b;
+ enum ClientType type;
+ void *st;
};
-errval_t pending_clients_add(struct capref domain_cap,
- struct proc_mgmt_binding *b, enum ClientType type,
- coreid_t core_id);
-errval_t pending_clients_release(struct capref domain_cap, enum ClientType type,
- struct pending_client **ret_cl);
-errval_t pending_clients_release_one(struct capref domain_cap,
- enum ClientType type,
- struct proc_mgmt_binding *b,
- struct pending_client **ret_cl);
-
#endif // PENDING_CLIENTS_H
\ No newline at end of file