46 lines
1.6 KiB
C
46 lines
1.6 KiB
C
// This file is part of noxos and licensed under the MIT open source license
|
|
|
|
#ifndef LIBC_SYSCALL_H
|
|
#define LIBC_SYSCALL_H
|
|
|
|
#include "nox/status.h"
|
|
#include "nox/stdtypes.h"
|
|
|
|
typedef enum {
|
|
SYSCALL_FILES_OPEN = 0x0101,
|
|
SYSCALL_FILES_CLOSE = 0x0102,
|
|
SYSCALL_FILES_READ = 0x0103,
|
|
SYSCALL_FILES_WRITE = 0x0104,
|
|
SYSCALL_FILES_DELETE = 0x0105,
|
|
SYSCALL_FILES_LIST = 0x0106,
|
|
SYSCALL_FILES_INFO = 0x0107,
|
|
|
|
SYSCALL_MEMORY_MAP = 0x0201,
|
|
SYSCALL_MEMORY_UNMAP = 0x0202,
|
|
SYSCALL_MEMORY_LABEL = 0x0203,
|
|
SYSCALL_MEMORY_RANGE = 0x0204,
|
|
SYSCALL_MEMORY_ACCESS = 0x0205,
|
|
|
|
SYSCALL_PROCESS_CREATE = 0x0301,
|
|
SYSCALL_PROCESS_ENVFILE = 0x0302,
|
|
SYSCALL_PROCESS_START = 0x0303,
|
|
SYSCALL_PROCESS_SIGNAL = 0x0304,
|
|
|
|
SYSCALL_RUNTIME_LINKER_OPEN = 0x0401,
|
|
SYSCALL_RUNTIME_LINKER_CLOSE = 0x0402,
|
|
SYSCALL_RUNTIME_LINKER_LOAD_SYMBOL = 0x0403,
|
|
SYSCALL_RUNTIME_LINKER_STATUS = 0x0404,
|
|
SYSCALL_RUNTIME_LINKER_STANDARD_MOD = 0x0405,
|
|
|
|
SYSCALL_COMPATABILITY_ABI_TYPE = 0x0501,
|
|
SYSCALL_COMPATABILITY_ABI_VERSION = 0x0502,
|
|
SYSCALL_COMPATABILITY_ACTION = 0x0503,
|
|
|
|
SYSCALL_KERNEL_SCHEDULER_START = 0xFF00,
|
|
SYSCALL_KERNEL_PANIC = 0xFF01
|
|
} syscall_E;
|
|
|
|
extern status_E syscall_perform(uint64_t id, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4);
|
|
|
|
#endif //LIBC_SYSCALL_H
|