fxlibc/include/unistd.h

92 lines
2.3 KiB
C
Raw Permalink Normal View History

2021-05-09 23:00:11 +02:00
#ifndef __UNISTD_H__
# define __UNISTD_H__
2020-09-17 19:27:01 +02:00
2021-06-28 15:49:05 +02:00
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
2020-09-17 19:27:01 +02:00
#include <stdint.h>
2021-05-09 16:35:40 +02:00
#include <sys/types.h>
2020-09-17 19:27:01 +02:00
/* 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);
/* Kernel-style functions supported only by Vhex. */
#ifdef __SUPPORT_VHEX_KERNEL
//---
2020-09-17 19:27:01 +02:00
// Process part
///---
/* Get the process ID of the calling process. */
2020-09-17 19:27:01 +02:00
extern pid_t getpid(void);
/* Get the process group ID of the calling process. */
2020-09-17 19:27:01 +02:00
extern pid_t getpgid(void);
/* Get the process ID of the calling process's parent. */
2020-09-17 19:27:01 +02:00
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);
//---
2020-09-17 19:27:01 +02:00
// 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'.
*/
2021-05-09 16:35:40 +02:00
#include <bits/confname.h>
/* Get the value of the system variable NAME. */
extern long int sysconf(int __name);
2020-09-17 19:27:01 +02:00
#endif /*__SUPPORT_VHEX_KERNEL*/
2021-06-28 15:49:05 +02:00
#ifdef __cplusplus
}
#endif
2021-05-09 23:00:11 +02:00
#endif /*__UNISTD_H__*/