lib: rosetta: add library to contain os-wide definitions
This commit is contained in:
15
lib/librosetta/CMakeLists.txt
Normal file
15
lib/librosetta/CMakeLists.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
file(GLOB sources *.c)
|
||||||
|
file(GLOB headers include/rosetta/*.h)
|
||||||
|
|
||||||
|
rosetta_add_library(
|
||||||
|
NAME librosetta STATIC
|
||||||
|
PUBLIC_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
|
SOURCES ${sources}
|
||||||
|
HEADERS ${headers})
|
||||||
|
|
||||||
|
sysroot_add_library(
|
||||||
|
NAME librosetta
|
||||||
|
HEADER_DIR /usr/include
|
||||||
|
LIB_DIR /usr/lib)
|
||||||
|
|
||||||
|
target_link_libraries(librosetta libmango)
|
||||||
6
lib/librosetta/bootstrap.c
Normal file
6
lib/librosetta/bootstrap.c
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#include <rosetta/bootstrap.h>
|
||||||
|
|
||||||
|
const struct rosetta_bootstrap_channel *rosetta_bootstrap_get_channel(void)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
45
lib/librosetta/include/rosetta/bootstrap.h
Normal file
45
lib/librosetta/include/rosetta/bootstrap.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
#ifndef ROSETTA_BOOTSTRAP_H_
|
||||||
|
#define ROSETTA_BOOTSTRAP_H_
|
||||||
|
|
||||||
|
#include <mango/types.h>
|
||||||
|
|
||||||
|
enum rosetta_bootstrap_handle_type {
|
||||||
|
RSBS_HANDLE_NONE = 0,
|
||||||
|
RSBS_HANDLE_TASK,
|
||||||
|
RSBS_HANDLE_ADDRESS_SPACE,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum rosetta_bootstrap_channel_type {
|
||||||
|
RSBS_CHANNEL_NONE,
|
||||||
|
RSBS_CHANNEL_SYSTEM,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct rosetta_bootstrap_handle {
|
||||||
|
enum rosetta_bootstrap_handle_type h_type;
|
||||||
|
kern_handle_t h_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct rosetta_bootstrap_channel {
|
||||||
|
enum rosetta_bootstrap_channel_type c_type;
|
||||||
|
tid_t c_tid;
|
||||||
|
unsigned int c_cid;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct rosetta_bootstrap {
|
||||||
|
int bs_argc;
|
||||||
|
const char **bs_argv;
|
||||||
|
|
||||||
|
int bs_envc;
|
||||||
|
const char **bs_envp;
|
||||||
|
|
||||||
|
const struct rosetta_bootstrap_handle *bs_handles;
|
||||||
|
size_t bs_handles_count;
|
||||||
|
|
||||||
|
const struct rosetta_bootstrap_channel *bs_channels;
|
||||||
|
size_t bs_channels_count;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern const struct rosetta_bootstrap_channel *rosetta_bootstrap_get_channel(
|
||||||
|
void);
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user