123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #pragma once
- extern "C" {
- namespace Unix {
- #define SEEK_SET 0
- #define SEEK_CUR 1
- #define SEEK_END 2
- #define SIGINT 2
- #define SIGKILL 9
- #define SIGSEGV 11
- #define SIGTERM 15
- typedef dword dev_t;
- typedef dword ino_t;
- typedef dword mode_t;
- typedef dword nlink_t;
- typedef dword uid_t;
- typedef dword gid_t;
- #ifdef SERENITY
- typedef void (*__sighandler_t)(int);
- typedef __sighandler_t sighandler_t;
- typedef dword sigset_t;
- typedef void siginfo_t;
- struct sigaction {
- union {
- void (*sa_handler)(int);
- void (*sa_sigaction)(int, siginfo_t*, void*);
- };
- sigset_t sa_mask;
- int sa_flags;
- void (*sa_restorer)(void);
- };
- #define SA_NOCLDSTOP 1
- #define SA_NOCLDWAIT 2
- #define SA_SIGINFO 4
- #define SIG_BLOCK 0
- #define SIG_UNBLOCK 1
- #define SIG_SETMASK 2
- #define SIGHUP 1
- #define SIGINT 2
- #define SIGQUIT 3
- #define SIGILL 4
- #define SIGTRAP 5
- #define SIGABRT 6
- #define SIGBUS 7
- #define SIGFPE 8
- #define SIGKILL 9
- #define SIGUSR1 10
- #define SIGSEGV 11
- #define SIGUSR2 12
- #define SIGPIPE 13
- #define SIGALRM 14
- #define SIGTERM 15
- #define SIGCONT 18
- #define SIGTSTP 20
- #define SIGTTIN 21
- #define SIGTTOU 22
- #endif
- #ifdef SERENITY
- // FIXME: Support 64-bit offsets!
- typedef signed_dword off_t;
- typedef unsigned int time_t;
- #else
- typedef signed_qword off_t;
- typedef ::time_t time_t;
- #endif
- typedef dword blksize_t;
- typedef dword blkcnt_t;
- typedef dword size_t;
- typedef signed_dword ssize_t;
- struct stat {
- dev_t st_dev; /* ID of device containing file */
- ino_t st_ino; /* inode number */
- mode_t st_mode; /* protection */
- nlink_t st_nlink; /* number of hard links */
- uid_t st_uid; /* user ID of owner */
- gid_t st_gid; /* group ID of owner */
- dev_t st_rdev; /* device ID (if special file) */
- off_t st_size; /* total size, in bytes */
- blksize_t st_blksize; /* blocksize for file system I/O */
- blkcnt_t st_blocks; /* number of 512B blocks allocated */
- time_t st_atime; /* time of last access */
- time_t st_mtime; /* time of last modification */
- time_t st_ctime; /* time of last status change */
- };
- }
- }
|