1/** 2 * \file 3 * \brief Client for interacting with the monitor 4 */ 5 6/* 7 * Copyright (c) 2010, ETH Zurich. 8 * All rights reserved. 9 * 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. 13 */ 14 15#include <barrelfish/barrelfish.h> 16#include <barrelfish/resource_ctrl.h> 17#include <barrelfish/curdispatcher_arch.h> 18#include <barrelfish/dispatcher_arch.h> 19#include <if/monitor_blocking_defs.h> 20 21errval_t rsrc_manifest(const char *manifest, rsrcid_t *id) 22{ 23 struct monitor_blocking_binding *b = get_monitor_blocking_binding(); 24 struct dispatcher_generic *d = get_dispatcher_generic(curdispatcher()); 25 errval_t err, msgerr; 26 27 err = b->rpc_tx_vtbl.rsrc_manifest(b, d->dcb_cap, manifest, id, &msgerr); 28 assert(err_is_ok(err)); 29 30 return msgerr; 31} 32 33errval_t rsrc_join(rsrcid_t id) 34{ 35 struct monitor_blocking_binding *b = get_monitor_blocking_binding(); 36 struct dispatcher_generic *d = get_dispatcher_generic(curdispatcher()); 37 errval_t err, msgerr; 38 39 err = b->rpc_tx_vtbl.rsrc_join(b, id, d->dcb_cap, &msgerr); 40 assert(err_is_ok(err)); 41 42 return msgerr; 43} 44 45errval_t rsrc_phase(rsrcid_t id, uint32_t phase) 46{ 47 struct monitor_blocking_binding *b = get_monitor_blocking_binding(); 48 return b->rpc_tx_vtbl.rsrc_phase(b, id, phase); 49} 50