Vhex-kernel/include/lib/unistd.h

54 lines
1.3 KiB
C
Raw Normal View History

2019-12-29 16:39:30 +01:00
#ifndef __LIB_UNISTD_H__
# define __LIB_UNISTD_H__
#include <stddef.h>
#include <stdint.h>
2020-02-25 23:28:14 +01:00
#include <kernel/util/types.h>
2019-12-29 16:39:30 +01:00
// Define syscall LIST
2020-02-25 23:28:14 +01:00
#include <kernel/util/unistd_32.h>
2019-12-29 16:39:30 +01:00
// TODO: move me
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2
2019-12-29 16:39:30 +01:00
//TODO: move me
#define WNOHANG 0
#define WUNTRACED 1
#define WCONTINUED 2
//TODO: move me
#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
#define WEXITSTATUS(status) __WEXITSTATUS(status)
extern pid_t getpid(void);
extern pid_t getpgid(void);
extern pid_t getppid(void);
extern int setpgid(pid_t pid, pid_t pgid);
2019-12-29 16:39:30 +01:00
extern pid_t waitpid(pid_t pid, int *wstatus, int options);
extern pid_t fexecve(const char *pathname);
2019-12-29 16:39:30 +01:00
// File syscall
// TODO: move me
// FIXME: find real value
#ifndef __FILE_H__
# define O_DIRECT 0
# define O_DIRECTORY 1
# define O_RDONLY 2
# define O_WRONLY 4
# define O_RDWR 8
# define SEEK_SET 0
# define SEEK_CUR 1
# define SEEK_END 2
#endif
2020-01-10 17:21:44 +01:00
extern int open(const char *pathname, int flags, ...);
extern ssize_t write(int fd, const void *buf, size_t count);
extern ssize_t read(int fd, void *buf, size_t count);
extern off_t lseek(int fd, off_t offset, int whence);
extern int close(int fd);
2019-12-29 16:39:30 +01:00
#endif /*__LIB_UNISTD_H__*/