1/** 2 * \file 3 * \brief Queue for stack-ripped inter-monitor code 4 */ 5 6/* 7 * Copyright (c) 2009, 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#ifndef MON_QUEUE_H 16#define MON_QUEUE_H 17 18#include <barrelfish/barrelfish.h> 19#include <if/monitor_defs.h> 20 21struct mon_msg_state; 22typedef void(*send_handler_fn)(struct monitor_binding*, struct mon_msg_state*); 23 24struct mon_msg_state { 25 coreid_t core_id; 26 uint64_t arch_id; // TODO: uint64? 27 28 send_handler_fn send; 29 struct mon_msg_state *next; 30}; 31 32void enqueue_msg_state(struct monitor_binding *b, struct mon_msg_state* st); 33struct mon_msg_state* dequeue_msg_state(struct monitor_binding *b); 34 35#endif // MON_QUEUE_H 36