mirror of
https://git.planet-casio.com/Vhex-Kernel-Core/fxlibc.git
synced 2024-12-28 20:43:38 +01:00
95 lines
2.4 KiB
C
95 lines
2.4 KiB
C
#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);
|
|
|
|
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 <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__*/
|