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, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 13 */ 14 15#ifndef SPAWN_DOMAIN_PARAMS_H 16#define SPAWN_DOMAIN_PARAMS_H 17 18#include <sys/cdefs.h> 19 20__BEGIN_DECLS 21 22struct spawn_domain_params { 23 int argc; ///< Number of arguments 24 const char *argv[MAX_CMDLINE_ARGS + 1]; ///< Command-line arguments; +1 for NULL terminator 25 char *envp[MAX_ENVIRON_VARS + 1]; ///< Environment strings; +1 for NULL terminator 26 void *vspace_buf; ///< Serialised vspace data 27 size_t vspace_buf_len; ///< Length of serialised vspace data 28 void *tls_init_base; ///< Address of initialised TLS data block 29 size_t tls_init_len; ///< Length of initialised TLS data block 30 size_t tls_total_len; ///< Total (initialised + BSS) TLS data length 31 size_t pagesize; ///< the page size to be used (domain spanning) 32}; 33 34__END_DECLS 35 36#endif // SPAWN_DOMAIN_PARAMS_H 37