1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- * unistd.h - standard system calls
- */
- /* $Id$ */
- #ifndef _UNISTD_H
- #define _UNISTD_H
- #include <stddef.h>
- /* Types */
- typedef int pid_t;
- typedef int mode_t;
- /* Constants for file access (open and friends) */
- enum
- {
- O_ACCMODE = 0x3,
-
- O_RDONLY = 0,
- O_WRONLY = 1,
- O_RDWR = 2,
-
- O_CREAT = 0100,
- O_TRUNC = 01000,
- O_APPEND = 02000,
- O_NONBLOCK = 04000
- };
- /* Special variables */
- extern char** environ;
- /* Implemented system calls */
- extern void _exit(int);
- extern pid_t getpid(void);
- extern void* sbrk(intptr_t increment);
- extern int isatty(int d);
- extern off_t lseek(int fildes, off_t offset, int whence);
- extern int close(int d);
- extern int open(const char* path, int access, ...);
- extern int creat(const char* path, mode_t mode);
- extern int read(int fd, void* buffer, size_t count);
- extern int write(int fd, void* buffer, size_t count);
- /* Unimplemented system calls (these are just prototypes to let the library
- * compile). */
- extern int fcntl(int fd, int op, ...);
- /* Signal handling */
- typedef int sig_atomic_t;
- #define SIG_ERR ((sighandler_t) -1) /* Error return. */
- #define SIG_DFL ((sighandler_t) 0) /* Default action. */
- #define SIG_IGN ((sighandler_t) 1) /* Ignore signal. */
- #define SIGABRT 6 /* Abort (ANSI) */
- #define SIGILL 11 /* Illegal instruction */
- #define _NSIG 32 /* Biggest signal number + 1
- (not including real-time signals). */
- typedef void (*sighandler_t)(int);
- extern sighandler_t signal(int signum, sighandler_t handler);
- extern int raise(int signum);
- #endif
|