miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
Toggle main menu visibility
Loading...
Searching...
No Matches
syscall_internal.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
// Kernel-private header shared across syscall_*.c compilation units.
3
4
#pragma once
5
6
#include <
miniOS/sched/sched.h
>
7
8
#define SYSCALL_DISPATCH_UNHANDLED ((int64_t)0x7fffffffffffffffLL)
9
10
static
inline
int
syscall_has_pending_signal
(
void
) {
11
struct
thread
*
thread
=
sched_current
();
12
return
thread
&&
thread
->
pending_signals
;
13
}
14
15
int64_t
syscall_dispatch
(
uint64_t
nr,
uint64_t
arg1,
uint64_t
arg2,
uint64_t
arg3,
16
uint64_t
arg4,
uint64_t
arg5,
uint64_t
arg6);
17
18
int64_t
syscall_dispatch_mm
(
uint64_t
nr,
uint64_t
arg1,
uint64_t
arg2,
uint64_t
arg3,
19
uint64_t
arg4,
uint64_t
arg5,
uint64_t
arg6);
20
int64_t
syscall_dispatch_fs
(
uint64_t
nr,
uint64_t
arg1,
uint64_t
arg2,
uint64_t
arg3,
21
uint64_t
arg4,
uint64_t
arg5,
uint64_t
arg6);
22
int64_t
syscall_dispatch_proc
(
uint64_t
nr,
uint64_t
arg1,
uint64_t
arg2,
uint64_t
arg3,
23
uint64_t
arg4,
uint64_t
arg5,
uint64_t
arg6);
24
int64_t
syscall_dispatch_net
(
uint64_t
nr,
uint64_t
arg1,
uint64_t
arg2,
uint64_t
arg3,
25
uint64_t
arg4,
uint64_t
arg5,
uint64_t
arg6);
sched.h
sched_current
struct thread * sched_current(void)
Definition
sched.c:277
thread
Definition
sched.h:96
thread::pending_signals
uint32_t pending_signals
Definition
sched.h:155
syscall_dispatch
int64_t syscall_dispatch(uint64_t nr, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)
Definition
syscall.c:168
syscall_dispatch_fs
int64_t syscall_dispatch_fs(uint64_t nr, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)
Definition
syscall_fs.c:208
syscall_has_pending_signal
static int syscall_has_pending_signal(void)
Definition
syscall_internal.h:10
syscall_dispatch_proc
int64_t syscall_dispatch_proc(uint64_t nr, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)
Definition
syscall_proc.c:199
syscall_dispatch_net
int64_t syscall_dispatch_net(uint64_t nr, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)
Definition
syscall_net.c:200
syscall_dispatch_mm
int64_t syscall_dispatch_mm(uint64_t nr, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6)
Definition
syscall_mm.c:255
int64_t
signed long int int64_t
Definition
types.h:36
uint64_t
unsigned long int uint64_t
Definition
types.h:37
src
kernel
syscall_internal.h
Generated by
1.18.0