Add a basic IPC setup with Channel Object.
Pass a process a channel endpoint on startup that it will use to get it's initial capabilities.
This commit is contained in:
parent
b79ec07636
commit
81b925eea0
15 changed files with 341 additions and 20 deletions
|
|
@ -4,11 +4,13 @@
|
|||
|
||||
struct ZProcessSpawnReq {
|
||||
uint64_t proc_cap;
|
||||
uint64_t bootstrap_cap;
|
||||
};
|
||||
|
||||
struct ZProcessSpawnResp {
|
||||
uint64_t proc_cap;
|
||||
uint64_t vmas_cap;
|
||||
uint64_t bootstrap_cap;
|
||||
};
|
||||
|
||||
struct ZThreadCreateReq {
|
||||
|
|
@ -43,3 +45,28 @@ struct ZMemoryObjectCreateReq {
|
|||
struct ZMemoryObjectCreateResp {
|
||||
uint64_t vmmo_cap;
|
||||
};
|
||||
|
||||
struct ZChannelCreateResp {
|
||||
uint64_t chan_cap1;
|
||||
uint64_t chan_cap2;
|
||||
};
|
||||
|
||||
struct ZMessage {
|
||||
uint64_t type;
|
||||
|
||||
uint64_t num_bytes;
|
||||
uint8_t* bytes;
|
||||
|
||||
uint64_t num_caps;
|
||||
uint64_t* caps;
|
||||
};
|
||||
|
||||
struct ZChannelSendReq {
|
||||
uint64_t chan_cap;
|
||||
ZMessage message;
|
||||
};
|
||||
|
||||
struct ZChannelRecvReq {
|
||||
uint64_t chan_cap;
|
||||
ZMessage message;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue