1/** 2 * \file 3 * \brief Initial parameters passed to a domain. 4 */ 5 6/* 7 * Copyright (c) 2011, 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 SPAWN_DOMAIN_PARAMS_H 16#define SPAWN_DOMAIN_PARAMS_H 17 18struct spawn_domain_params { 19 int argc; ///< Number of arguments 20 const char *argv[MAX_CMDLINE_ARGS + 1]; ///< Command-line arguments; +1 for NULL terminator 21 char *envp[MAX_ENVIRON_VARS + 1]; ///< Environment strings; +1 for NULL terminator 22 void *vspace_buf; ///< Serialised vspace data 23 size_t vspace_buf_len; ///< Length of serialised vspace data 24 void *tls_init_base; ///< Address of initialised TLS data block 25 size_t tls_init_len; ///< Length of initialised TLS data block 26 size_t tls_total_len; ///< Total (initialised + BSS) TLS data length 27 size_t pagesize; ///< the page size to be used (domain spanning) 28}; 29 30#endif // SPAWN_DOMAIN_PARAMS_H 31