meta: rename kernel to Magenta

This commit is contained in:
2026-04-30 20:30:36 +01:00
parent 560da0daa0
commit 1db6de6bc2
65 changed files with 122 additions and 122 deletions
+17
View File
@@ -0,0 +1,17 @@
#ifndef MAGENTA_CONFIG_H_
#define MAGENTA_CONFIG_H_
#include <magenta/status.h>
#include <magenta/types.h>
#include <stddef.h>
extern kern_status_t kern_config_get(
kern_config_key_t key,
void *ptr,
size_t len);
extern kern_status_t kern_config_set(
kern_config_key_t key,
const void *ptr,
size_t len);
#endif
+9
View File
@@ -0,0 +1,9 @@
#ifndef MAGENTA_EQUEUE_H_
#define MAGENTA_EQUEUE_H_
#include <magenta/types.h>
extern kern_status_t equeue_create(kern_handle_t *out);
extern kern_status_t equeue_dequeue(kern_handle_t eq, equeue_packet_t *out);
#endif
+16
View File
@@ -0,0 +1,16 @@
#ifndef MAGENTA_FUTEX_H_
#define MAGENTA_FUTEX_H_
#include <magenta/status.h>
#include <magenta/types.h>
extern kern_status_t futex_wait(
kern_futex_t *futex,
kern_futex_t new_val,
unsigned int flags);
extern kern_status_t futex_wake(
kern_futex_t *futex,
unsigned int nr_waiters,
unsigned int flags);
#endif
+22
View File
@@ -0,0 +1,22 @@
#ifndef MAGENTA_HANDLE_H_
#define MAGENTA_HANDLE_H_
#include <magenta/status.h>
#include <magenta/types.h>
extern kern_status_t kern_handle_close(kern_handle_t handle);
extern kern_status_t kern_handle_transfer(
kern_handle_t src_task,
kern_handle_t src_handle,
kern_handle_t dest_task,
kern_handle_t dest_handle,
unsigned int mode,
kern_handle_t *out_handle);
extern kern_status_t kern_handle_control(
kern_handle_t task,
kern_handle_t handle,
uint32_t set_mask,
uint32_t clear_mask,
uint32_t *out_flags);
#endif
+31
View File
@@ -0,0 +1,31 @@
#ifndef MAGENTA_LOG_H_
#define MAGENTA_LOG_H_
#include <magenta/status.h>
#include <magenta/types.h>
#undef TRACE
extern kern_status_t kern_log(const char *s);
#define kern_logf(...) \
do { \
char __logbuf[128]; \
snprintf(__logbuf, sizeof __logbuf, __VA_ARGS__); \
kern_log(__logbuf); \
} while (0)
#ifdef TRACE
#define kern_trace(...) kern_log(__VA_ARGS__)
#define kern_tracef(...) \
do { \
char __logbuf[128]; \
snprintf(__logbuf, sizeof __logbuf, __VA_ARGS__); \
kern_log(__logbuf); \
} while (0)
#else
#define kern_trace(...)
#define kern_tracef(...)
#endif
#endif
+43
View File
@@ -0,0 +1,43 @@
#ifndef MAGENTA_MSG_H_
#define MAGENTA_MSG_H_
#include <magenta/status.h>
#include <magenta/types.h>
extern kern_status_t channel_create(unsigned int id, kern_handle_t *out);
extern kern_status_t port_create(kern_handle_t *out);
extern kern_status_t port_connect(
kern_handle_t port,
tid_t task_id,
unsigned int channel_id);
extern kern_status_t port_disconnect(kern_handle_t port);
extern kern_status_t msg_send(
kern_handle_t port,
const kern_msg_t *msg,
kern_msg_t *out_response);
extern kern_status_t msg_recv(kern_handle_t channel, kern_msg_t *out);
extern kern_status_t msg_reply(
kern_handle_t channel,
msgid_t id,
const kern_msg_t *response);
extern kern_status_t msg_read(
kern_handle_t channel,
msgid_t id,
size_t offset,
kern_iovec_t *out,
size_t out_count,
size_t *nr_read);
extern kern_status_t msg_write(
kern_handle_t channel,
msgid_t id,
size_t offset,
const kern_iovec_t *in,
size_t nr_in,
size_t *nr_written);
#endif
+11
View File
@@ -0,0 +1,11 @@
#ifndef MAGENTA_OBJECT_H_
#define MAGENTA_OBJECT_H_
#include <magenta/types.h>
extern kern_status_t kern_object_wait(kern_wait_item_t *items, size_t nr_items);
extern kern_status_t kern_object_query(
kern_handle_t handle,
kern_object_info_t *out);
#endif
+62
View File
@@ -0,0 +1,62 @@
#ifndef MAGENTA_TASK_H_
#define MAGENTA_TASK_H_
#include <magenta/status.h>
#include <magenta/types.h>
extern kern_status_t task_exit(int status);
extern kern_status_t task_self(kern_handle_t *out);
extern kern_status_t task_create(
kern_handle_t parent,
task_flags_t flags,
const char *name,
size_t name_len,
kern_handle_t *out_task,
kern_handle_t *out_address_space);
extern kern_status_t task_create_thread(
kern_handle_t task,
virt_addr_t ip,
virt_addr_t sp,
uintptr_t *args,
size_t nr_args,
kern_handle_t *out_thread);
extern kern_status_t task_get_address_space(
kern_handle_t task,
kern_handle_t *out);
extern kern_status_t task_config_get(
kern_handle_t task,
kern_config_key_t key,
void *ptr,
size_t len);
extern kern_status_t task_config_set(
kern_handle_t task,
kern_config_key_t key,
const void *ptr,
size_t len);
extern kern_status_t task_duplicate(
kern_handle_t *out_task,
kern_handle_t *out_address_space);
extern kern_status_t task_reset(
virt_addr_t ip,
virt_addr_t sp,
uintptr_t *args,
size_t nr_args,
virt_addr_t unmap_base,
size_t unmap_length);
extern kern_status_t thread_self(kern_handle_t *out);
extern kern_status_t thread_start(kern_handle_t thread);
extern kern_status_t thread_exit(void);
extern kern_status_t thread_config_get(
kern_handle_t thread,
kern_config_key_t key,
void *ptr,
size_t len);
extern kern_status_t thread_config_set(
kern_handle_t thread,
kern_config_key_t key,
const void *ptr,
size_t len);
#endif
+103
View File
@@ -0,0 +1,103 @@
#ifndef MAGENTA_VM_H_
#define MAGENTA_VM_H_
#include <magenta/status.h>
#include <magenta/types.h>
extern kern_status_t vm_object_create(
const char *name,
size_t name_len,
size_t data_len,
vm_prot_t prot,
kern_handle_t *out);
extern kern_status_t vm_object_read(
kern_handle_t object,
void *dst,
off_t offset,
size_t count,
size_t *nr_read);
extern kern_status_t vm_object_write(
kern_handle_t object,
const void *src,
off_t offset,
size_t count,
size_t *nr_written);
extern kern_status_t vm_object_copy(
kern_handle_t dst,
off_t dst_offset,
kern_handle_t src,
off_t src_offset,
size_t count,
size_t *nr_copied);
extern kern_status_t address_space_read(
kern_handle_t region,
void *dst,
virt_addr_t base,
size_t count,
size_t *nr_read);
extern kern_status_t address_space_write(
kern_handle_t region,
const void *src,
virt_addr_t base,
size_t count,
size_t *nr_read);
extern kern_status_t address_space_map(
kern_handle_t region,
virt_addr_t map_address,
kern_handle_t object,
off_t object_offset,
size_t length,
vm_flags_t flags,
vm_prot_t prot,
virt_addr_t *out_base_address);
extern kern_status_t address_space_unmap(
kern_handle_t region,
virt_addr_t base,
size_t length);
extern kern_status_t address_space_reserve(
kern_handle_t region,
virt_addr_t base,
size_t length,
virt_addr_t *out_base_address);
extern kern_status_t address_space_release(
kern_handle_t region,
virt_addr_t base,
size_t length);
extern kern_status_t vm_controller_create(kern_handle_t *out);
extern kern_status_t vm_controller_recv(
kern_handle_t ctrl,
equeue_packet_vm_request_t *out);
extern kern_status_t vm_controller_recv_async(
kern_handle_t ctrl,
kern_handle_t eq,
equeue_key_t key);
extern kern_status_t vm_controller_create_object(
kern_handle_t ctrl,
const char *name,
size_t name_len,
equeue_key_t key,
size_t data_len,
vm_prot_t prot,
kern_handle_t *out);
extern kern_status_t vm_controller_prepare_attach(
kern_handle_t ctrl,
uint64_t req_id,
kern_handle_t *out_vmo);
extern kern_status_t vm_controller_finish_attach(
kern_handle_t ctrl,
uint64_t req_id,
equeue_key_t new_key);
extern kern_status_t vm_controller_detach_object(
kern_handle_t ctrl,
kern_handle_t vmo);
extern kern_status_t vm_controller_supply_pages(
kern_handle_t ctrl,
kern_handle_t dst_vmo,
off_t dst_offset,
kern_handle_t src_vmo,
off_t src_offset,
size_t length);
#endif