46 lines
866 B
C
46 lines
866 B
C
#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
|