#ifndef __UNISTD_H__ # define __UNISTD_H__ #ifdef __cplusplus extern "C" { #endif #include #include #include /* Standard file descriptors. */ #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 /* Write data to a file descriptor; returns number of bytes written or -1. */ extern ssize_t write(int __fd, const void *__buf, size_t __nbytes); /* Read data from a file descriptor; returns number of bytes read or -1. */ extern ssize_t read(int __fd, void *__buf, size_t __nbytes); /* Read at a specific position from a file descriptor. */ extern ssize_t pread(int __fd, void *__buf, size_t __nbytes, off_t __offset); /* Write at a specific position to a file descriptor. */ extern ssize_t pwrite(int __fd, const void *__buf, size_t __n, off_t __offset); /* Seek at an offset from SEEK_SET/SEEK_CUR/SEEK_END; returns new position. */ extern off_t lseek(int __fd, off_t __offset, int __whence); /* Close a file descriptor. */ extern int close(int __fd); /* Remove a file. */ extern int unlink(const char *__path); /* Create a directory. */ extern int mkdir(const char *__path, mode_t __mode); /* Remove an empty directory. */ extern int rmdir(const char *__path); extern char *getcwd(char *__buf, size_t __size); extern int chdir(char const *__path); /* Exit immediately, bypassing exit handlers or signal handlers. */ __attribute__((noreturn)) extern void _exit(int __status); /* Kernel-style functions supported only by Vhex. */ #ifdef __SUPPORT_VHEX_KERNEL //--- // Process part ///--- /* Get the process ID of the calling process. */ extern pid_t getpid(void); /* Get the process group ID of the calling process. */ extern pid_t getpgid(void); /* Get the process ID of the calling process's parent. */ extern pid_t getppid(void); /* ** Set the process group ID of the process matching PID to PGID. ** If PID is zero, the current process's process group ID is set. ** If PGID is zero, the process ID of the process is used. */ extern int setpgid(pid_t __pid, pid_t __pgid); //--- // System part //--- /* ** Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; ** the `_SC_*' symbols for the NAME argument to `sysconf'; and the `_CS_*' ** symbols for the NAME argument to `confstr'. */ #include /* Get the value of the system variable NAME. */ extern long int sysconf(int __name); #endif /*__SUPPORT_VHEX_KERNEL*/ #ifdef __cplusplus } #endif #endif /*__UNISTD_H__*/