1 #pragma once 2 /** 3 * \file 4 * \brief Auxiliary definitions 5 */ 6 /* 7 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>, 8 * Alexander Warg <warg@os.inf.tu-dresden.de>, 9 * Björn Döbel <doebel@os.inf.tu-dresden.de> 10 * economic rights: Technische Universität Dresden (Germany) 11 * 12 * This file is part of TUD:OS and distributed under the terms of the 13 * GNU General Public License 2. 14 * Please see the COPYING-GPL-2 file for details. 15 * 16 * As a special exception, you may use this file as part of a free software 17 * library without restriction. Specifically, if other files instantiate 18 * templates or use macros or inline functions from this file, or you compile 19 * this file and link it with other files to produce an executable, this 20 * file does not by itself cause the resulting executable to be covered by 21 * the GNU General Public License. This exception does not however 22 * invalidate any other reasons why the executable file might be covered by 23 * the GNU General Public License. 24 */ 25 26 #include <l4/sys/types.h> 27 28 /** 29 * \defgroup api_l4aux Auxiliary data 30 * \ingroup api_l4re 31 * \internal 32 */ 33 34 /** 35 * \brief Flags for program loading 36 * \ingroup api_l4aux 37 * \internal 38 */ 39 enum l4re_aux_ldr_flags_t 40 { 41 L4RE_AUX_LDR_FLAG_EAGER_MAP = 0x1, 42 L4RE_AUX_LDR_FLAG_ALL_SEGS_COW = 0x2, 43 L4RE_AUX_LDR_FLAG_PINNED_SEGS = 0x4, 44 }; 45 46 /** 47 * \brief Auxiliary descriptor 48 * \ingroup api_l4aux 49 * \internal 50 */ 51 typedef struct l4re_aux_t 52 { 53 char const * binary; /**< Binary name */ 54 l4_cap_idx_t kip_ds; /**< Data space of the KIP */ 55 l4_umword_t dbg_lvl; /**< Debug levels for l4re */ 56 l4_umword_t ldr_flags; /**< Flags for l4re, see \a l4re_aux_ldr_flags_t */ 57 } l4re_aux_t; 58 59