base: uniform base-internal header structure

This patch establishes a common organization of header files
internal to the base framework. The internal headers are located at
'<repository>/src/include/base/internal/'. This structure has been
choosen to make the nature of those headers immediately clear when
included:

  #include <base/internal/lock_helper.h>

Issue #1832
This commit is contained in:
Norman Feske
2016-01-20 18:27:18 +01:00
committed by Christian Helmuth
parent be496c6dc1
commit e6729316ff
128 changed files with 179 additions and 203 deletions

View File

@ -1,44 +0,0 @@
/*
* \brief Obtain parent capability
* \author Norman Feske
* \date 2010-01-26
*/
/*
* Copyright (C) 2010-2013 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef _LIB__STARTUP___MAIN_PARENT_CAP_H_
#define _LIB__STARTUP___MAIN_PARENT_CAP_H_
#include <base/native_types.h>
namespace Genode {
/**
* Return constructed parent capability
*/
Parent_capability parent_cap()
{
Native_capability::Raw *raw = (Native_capability::Raw *)&_parent_cap;
static Cap_index *i = cap_map()->insert(raw->local_name,
Fiasco::PARENT_CAP);
/*
* Update local name after a parent capability got reloaded via
* 'Platform_env::reload_parent_cap()'.
*/
if (i->id() != raw->local_name) {
cap_map()->remove(i);
i = cap_map()->insert(raw->local_name, Fiasco::PARENT_CAP);
}
return reinterpret_cap_cast<Parent>(Native_capability(i));
}
}
#endif /* _LIB__STARTUP___MAIN_PARENT_CAP_H_ */