ApertureOS
syscall_man.h
Go to the documentation of this file.
1 #ifndef _SYSCALL_MAN_PROC_H_
2 #define _SYSCALL_MAN_PROC_H_
3 
4 #include "types.h"
5 #include "drivers.h"
6 #include "managers.h"
7 #include "processors.h"
8 
9 #define MAX_SYSCALLS 256
10 #define VAR_SYSCALL_ARGS (uint32_t)(-1)
11 
12 typedef struct{
13  uint32_t size;
14  uint64_t arg0;
15  uint64_t retval;
17 
18 typedef struct{
19  uint32_t size;
20  uint64_t arg0;
21  uint64_t arg1;
22  uint64_t retval;
24 
25 typedef struct{
26  uint32_t size;
27  uint64_t arg0;
28  uint64_t arg1;
29  uint64_t arg2;
30  uint64_t retval;
32 
33 typedef void(*SyscallHandler)(void *args);
34 
35 typedef enum{
38 
39 void
41 
42 void
43 SyscallManager_RegisterSyscall(uint32_t syscall_ID,
44  SyscallHandler handler,
45  uint32_t argc);
46 
47 
50  uint32_t argc);
51 
52 #endif
Definition: syscall_man.h:12
uint64_t arg1
Definition: syscall_man.h:28
uint64_t arg2
Definition: syscall_man.h:29
uint64_t arg1
Definition: syscall_man.h:21
uint64_t arg0
Definition: syscall_man.h:27
uint32_t size
Definition: syscall_man.h:26
Definition: syscall_man.h:36
uint64_t arg0
Definition: syscall_man.h:14
uint32_t size
Definition: syscall_man.h:13
uint32_t size
Definition: syscall_man.h:19
uint64_t retval
Definition: syscall_man.h:22
void(* SyscallHandler)(void *args)
Definition: syscall_man.h:33
SyscallRegisterError SyscallManager_RegisterAppendSyscall(SyscallHandler handler, uint32_t argc)
Definition: syscall_man.c:60
void SyscallManager_Initialize(void)
Definition: syscall_man.c:39
SyscallRegisterError
Definition: syscall_man.h:35
Definition: syscall_man.h:25
void SyscallManager_RegisterSyscall(uint32_t syscall_ID, SyscallHandler handler, uint32_t argc)
Definition: syscall_man.c:51
uint64_t arg0
Definition: syscall_man.h:20
uint64_t retval
Definition: syscall_man.h:15
uint64_t retval
Definition: syscall_man.h:30
Definition: syscall_man.h:18