#ifndef _LIBC_UNISTD_H #define _LIBC_UNISTD_H #pragma once #include #include #ifdef __cplusplus extern "C" { #endif #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 #define F_OK 0 #define X_OK 1 #define W_OK 2 #define R_OK 4 int read(int fd, void *buf, size_t count); int write(int fd, const void *buf, size_t count); int close(int fd); long lseek(int fd, long offset, int whence); int chdir(const char *path); char *getcwd(char *buf, size_t size); int access(const char *path, int mode); int isatty(int fd); int unlink(const char *path); int rmdir(const char *path); int dup(int fd); int dup2(int oldfd, int newfd); pid_t getpid(void); void _exit(int status) __attribute__((noreturn)); pid_t fork(void); int execv(const char *path, char *const argv[]); int execve(const char *path, char *const argv[], char *const envp[]); int execvp(const char *file, char *const argv[]); int pipe(int fds[2]); long pathconf(const char *path, int name); /* pathconf() names (Linux numbering). */ #define _PC_LINK_MAX 0 #define _PC_MAX_CANON 1 #define _PC_MAX_INPUT 2 #define _PC_NAME_MAX 3 #define _PC_PATH_MAX 4 #define _PC_PIPE_BUF 5 extern char **environ; unsigned int sleep(unsigned int seconds); #ifdef __cplusplus } #endif #endif /* _LIBC_UNISTD_H */