genode/repos/libports/src/lib/libc/libc_init.h

57 lines
1.1 KiB
C++

/*
* \brief Interfaces for initializing libc subsystems
* \author Norman Feske
* \date 2016-10-27
*/
/*
* Copyright (C) 2016-2017 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _LIBC_INIT_H_
#define _LIBC_INIT_H_
/* Genode includes */
#include <base/env.h>
#include <base/allocator.h>
#include <util/xml_node.h>
namespace Libc {
/**
* Support for shared libraries
*/
void init_dl(Genode::Env &env);
/**
* Global memory allocator
*/
void init_mem_alloc(Genode::Env &env);
/**
* Support for querying available RAM quota in sysctl functions
*/
void sysctl_init(Genode::Env &env);
/**
* Set libc config node
*/
void libc_config_init(Genode::Xml_node node);
/**
* Malloc allocator
*/
void init_malloc(Genode::Allocator &heap);
/**
* Allow thread.cc to access the 'Genode::Env' (needed for the
* implementation of condition variables with timeout)
*/
void init_pthread_support(Genode::Env &env);
}
#endif /* _LIBC_INIT_H_ */