kernel: add futex definitions

This commit is contained in:
2026-03-15 22:22:58 +00:00
parent c1e0b38952
commit 30c9c9db45
4 changed files with 101 additions and 8 deletions

26
include/kernel/futex.h Normal file
View File

@@ -0,0 +1,26 @@
#ifndef KERNEL_FUTEX_H_
#define KERNEL_FUTEX_H_
#include <kernel/btree.h>
#include <kernel/wait.h>
#include <mango/types.h>
struct address_space;
typedef phys_addr_t futex_key_t;
struct futex {
struct btree_node f_node;
futex_key_t f_key;
struct waitqueue f_waiters;
};
extern kern_status_t futex_init(void);
extern kern_status_t futex_get(
struct address_space *space,
kern_futex_t *futex,
futex_key_t *out);
extern kern_status_t futex_wait(futex_key_t futex, kern_futex_t new_val);
extern kern_status_t futex_wake(futex_key_t futex, size_t nwaiters);
#endif