[kernel] Replace endpoint with new mailbox API
The new mailbox kernel object API offers asynchronous message-based IPC for sending data and handles between threads, as opposed to endpoint's synchronous model.
This commit is contained in:
@@ -8,9 +8,13 @@
|
||||
|
||||
#define j6_status_ok 0x0000
|
||||
|
||||
/// Errors 0001h-0fffh are reserved to avoid collision with
|
||||
/// libc errno values
|
||||
|
||||
#define j6_status_closed 0x1000
|
||||
#define j6_status_destroyed 0x1001
|
||||
#define j6_status_exists 0x1002
|
||||
#define j6_status_would_block 0x1003
|
||||
|
||||
#define j6_err_nyi j6_err(0x0001)
|
||||
#define j6_err_unexpected j6_err(0x0002)
|
||||
|
||||
@@ -8,3 +8,7 @@ enum j6_vm_flags {
|
||||
#undef VM_FLAG
|
||||
j6_vm_flag_MAX
|
||||
};
|
||||
|
||||
enum j6_mailbox_flags {
|
||||
j6_mailbox_block = 0x01,
|
||||
};
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
// but should not include the user-specific code.
|
||||
#ifndef __j6kernel
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <j6/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -5,8 +5,9 @@ OBJECT_TYPE( system, 0x01 )
|
||||
OBJECT_TYPE( event, 0x02 )
|
||||
OBJECT_TYPE( channel, 0x03 )
|
||||
OBJECT_TYPE( endpoint, 0x04 )
|
||||
OBJECT_TYPE( mailbox, 0x05 )
|
||||
|
||||
OBJECT_TYPE( vma, 0x05 )
|
||||
OBJECT_TYPE( vma, 0x06 )
|
||||
|
||||
OBJECT_TYPE( process, 0x06 )
|
||||
OBJECT_TYPE( thread, 0x07 )
|
||||
OBJECT_TYPE( process, 0x07 )
|
||||
OBJECT_TYPE( thread, 0x08 )
|
||||
|
||||
Reference in New Issue
Block a user