33 lines
1.0 KiB
C
33 lines
1.0 KiB
C
#ifndef __SYSCALL_H__
|
|
# define __SYSCALL_H__
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include <kernel/util/types.h>
|
|
|
|
// Process
|
|
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);
|
|
extern pid_t sys_waitpid(pid_t pid, int *wstatus, int options);
|
|
extern pid_t sys_fexecve(const char *pathname);
|
|
extern void sys_exit(int status);
|
|
|
|
// 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);
|
|
|
|
// 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);
|
|
|
|
#endif /*__SYSCALL_H__*/
|