Files
magenta/libmango/include-user/mango/task.h
T

56 lines
1.3 KiB
C
Raw Normal View History

2026-02-19 19:22:06 +00:00
#ifndef MANGO_TASK_H_
#define MANGO_TASK_H_
#include <mango/status.h>
#include <mango/types.h>
extern kern_status_t task_exit(int status);
extern kern_status_t task_self(kern_handle_t *out);
2026-02-19 19:22:06 +00:00
extern kern_status_t task_create(
kern_handle_t parent,
task_flags_t flags,
2026-02-19 19:22:06 +00:00
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);
2026-04-01 18:39:38 +01:00
extern kern_status_t task_duplicate(
kern_handle_t *out_task,
kern_handle_t *out_address_space);
2026-02-19 19:22:06 +00:00
2026-03-22 19:02:31 +00:00
extern kern_status_t thread_self(kern_handle_t *out);
2026-02-19 19:22:06 +00:00
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);
2026-02-19 19:22:06 +00:00
#endif