Vhex-kernel/include/kernel/syscall.h

36 lines
1.2 KiB
C
Raw Normal View History

#ifndef __SYSCALL_H__
# define __SYSCALL_H__
#include <stdint.h>
#include <stddef.h>
#include <sys/types.h>
2019-12-29 16:39:30 +01:00
// Process
2019-12-29 16:39:30 +01:00
extern pid_t sys_getpid(void);
extern pid_t sys_getppid(void);
extern pid_t sys_getpgid(void);
extern pid_t sys_wait(int *wstatus);
extern int sys_setpgid(pid_t pid, pid_t pgid);
2019-12-29 16:39:30 +01:00
extern pid_t sys_waitpid(pid_t pid, int *wstatus, int options);
extern pid_t sys_fexecve(const char *pathname, char **argv, char **envp);
extern void sys_exit(int status);
2019-12-29 16:39:30 +01:00
// File
extern int sys_open(const char *pathname, int flags, ...);
extern ssize_t sys_write(int fd, const void *buf, size_t count);
extern ssize_t sys_read(int fd, void *buf, size_t count);
extern off_t sys_lseek(int fd, off_t offset, int whence);
extern ssize_t sys_pwrite(int fd, const void *buf, size_t count, off_t offset);
extern ssize_t sys_pread(int fd, void *buf, size_t count, off_t offset);
extern int sys_close(int fd);
2019-12-29 16:39:30 +01:00
// Memory
extern void *sys_mmap(void *addr, size_t length,
int prot, int flags, int fd, off_t offset);
extern int sys_munmap(void *addr, size_t length);
extern void *sys_proc_heap_alloc(size_t size);
extern void *sys_proc_heap_realloc(void *ptr, size_t size);
extern void sys_proc_heap_free(void *ptr);
#endif /*__SYSCALL_H__*/