59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
|
/*
|
||
|
Copyright (C) 2016-2019 The University of Notre Dame
|
||
|
This software is distributed under the GNU General Public License.
|
||
|
See the file LICENSE for details.
|
||
|
*/
|
||
|
|
||
|
#ifndef KERNEL_SYSCALL_H
|
||
|
#define KERNEL_SYSCALL_H
|
||
|
|
||
|
#include "kernel/types.h"
|
||
|
#include "kernel/error.h"
|
||
|
|
||
|
typedef enum {
|
||
|
SYSCALL_DEBUG,
|
||
|
SYSCALL_PROCESS_YIELD,
|
||
|
SYSCALL_PROCESS_EXIT,
|
||
|
SYSCALL_PROCESS_RUN,
|
||
|
SYSCALL_PROCESS_WRUN,
|
||
|
SYSCALL_PROCESS_FORK,
|
||
|
SYSCALL_PROCESS_EXEC,
|
||
|
SYSCALL_PROCESS_SELF,
|
||
|
SYSCALL_PROCESS_PARENT,
|
||
|
SYSCALL_PROCESS_KILL,
|
||
|
SYSCALL_PROCESS_REAP,
|
||
|
SYSCALL_PROCESS_WAIT,
|
||
|
SYSCALL_PROCESS_SLEEP,
|
||
|
SYSCALL_PROCESS_STATS,
|
||
|
SYSCALL_PROCESS_HEAP,
|
||
|
SYSCALL_OPEN_FILE,
|
||
|
SYSCALL_OPEN_DIR,
|
||
|
SYSCALL_OPEN_WINDOW,
|
||
|
SYSCALL_OPEN_CONSOLE,
|
||
|
SYSCALL_OPEN_PIPE,
|
||
|
SYSCALL_OBJECT_TYPE,
|
||
|
SYSCALL_OBJECT_COPY,
|
||
|
SYSCALL_OBJECT_READ,
|
||
|
SYSCALL_OBJECT_LIST,
|
||
|
SYSCALL_OBJECT_WRITE,
|
||
|
SYSCALL_OBJECT_SEEK,
|
||
|
SYSCALL_OBJECT_SIZE,
|
||
|
SYSCALL_OBJECT_REMOVE,
|
||
|
SYSCALL_OBJECT_CLOSE,
|
||
|
SYSCALL_OBJECT_STATS,
|
||
|
SYSCALL_OBJECT_SET_TAG,
|
||
|
SYSCALL_OBJECT_GET_TAG,
|
||
|
SYSCALL_OBJECT_MAX,
|
||
|
SYSCALL_SYSTEM_STATS,
|
||
|
SYSCALL_BCACHE_STATS,
|
||
|
SYSCALL_BCACHE_FLUSH,
|
||
|
SYSCALL_SYSTEM_TIME,
|
||
|
SYSCALL_SYSTEM_RTC,
|
||
|
SYSCALL_DEVICE_DRIVER_STATS,
|
||
|
MAX_SYSCALL // must be the last element in the enum
|
||
|
} syscall_t;
|
||
|
|
||
|
uint32_t syscall(syscall_t s, uint32_t a, uint32_t b, uint32_t c, uint32_t d, uint32_t e);
|
||
|
|
||
|
#endif
|