You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.2 KiB
87 lines
2.2 KiB
#ifndef __UNISTD_H__ |
|
# define __UNISTD_H__ |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
#include <stdio.h> |
|
#include <stdint.h> |
|
#include <sys/types.h> |
|
|
|
/* 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); |
|
|
|
|
|
/* 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 <bits/confname.h> |
|
|
|
/* Get the value of the system variable NAME. */ |
|
extern long int sysconf(int __name); |
|
|
|
#endif /*__SUPPORT_VHEX_KERNEL*/ |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /*__UNISTD_H__*/
|
|
|