/* ==================================== */ /* */ typedef int error_t; /* */ /* To be thread-safe, this is often defined as a macro which calls a function * to return the current thread's error status. */ int errno; /* */ #define EPERM 1 /* Operation not permitted */ /* */ #define ENOENT 2 /* No such file or directory */ /* */ #define ESRCH 3 /* No such process */ /* */ #define EINTR 4 /* Interrupted system call */ /* */ #define EIO 5 /* I/O error */ /* */ #define ENXIO 6 /* No such device or address */ /* */ #define E2BIG 7 /* Argument list too long */ /* */ #define ENOEXEC 8 /* Exec format error */ /* */ #define EBADF 9 /* Bad file number */ /* */ #define ECHILD 10 /* No child processes */ /* */ #define EAGAIN 11 /* Try again */ /* */ #define EWOULDBLOCK EAGAIN /* Operation would block */ /* */ #define ENOMEM 12 /* Out of memory */ /* */ #define EACCES 13 /* Permission denied */ /* */ #define EFAULT 14 /* Bad address */ /* */ #define ENOTBLK 15 /* Block device required */ /* */ #define EBUSY 16 /* Device or resource busy */ /* */ #define EEXIST 17 /* File exists */ /* */ #define EXDEV 18 /* Cross-device link */ /* */ #define ENODEV 19 /* No such device */ /* */ #define ENOTDIR 20 /* Not a directory */ /* */ #define EISDIR 21 /* Is a directory */ /* */ #define EINVAL 22 /* Invalid argument */ /* */ #define ENFILE 23 /* File table overflow */ /* */ #define EMFILE 24 /* Too many open files */ /* */ #define ENOTTY 25 /* Not a typewriter */ /* */ #define ETXTBSY 26 /* Text file busy */ /* */ #define EFBIG 27 /* File too large */ /* */ #define ENOSPC 28 /* No space left on device */ /* */ #define ESPIPE 29 /* Illegal seek */ /* */ #define EROFS 30 /* Read-only file system */ /* */ #define EMLINK 31 /* Too many links */ /* */ #define EPIPE 32 /* Broken pipe */ /* */ #define EDOM 33 /* Math argument out of domain of func */ /* */ #define ERANGE 34 /* Math result not representable */ /* */ #define EDEADLK 35 /* Resource deadlock would occur */ /* */ #define EDEADLOCK 35 /* Resource deadlock would occur */ /* */ #define ENAMETOOLONG 36 /* File name too long */ /* */ #define ENOLCK 37 /* No record locks available */ /* */ #define ENOSYS 38 /* Function not implemented */ /* */ #define ENOTEMPTY 39 /* Directory not empty */ /* */ #define ELOOP 40 /* Too many symbolic links encountered */ /* */ #define ENOMSG 42 /* No message of desired type */ /* */ #define EIDRM 43 /* Identifier removed */ /* */ #define ECHRNG 44 /* Channel number out of range */ /* */ #define EL2NSYNC 45 /* Level 2 not synchronized */ /* */ #define EL3HLT 46 /* Level 3 halted */ /* */ #define EL3RST 47 /* Level 3 reset */ /* */ #define ELNRNG 48 /* Link number out of range */ /* */ #define EUNATCH 49 /* Protocol driver not attached */ /* */ #define ENOCSI 50 /* No CSI structure available */ /* */ #define EL2HLT 51 /* Level 2 halted */ /* */ #define EBADE 52 /* Invalid exchange */ /* */ #define EBADR 53 /* Invalid request descriptor */ /* */ #define EXFULL 54 /* Exchange full */ /* */ #define ENOANO 55 /* No anode */ /* */ #define EBADRQC 56 /* Invalid request code */ /* */ #define EBADSLT 57 /* Invalid slot */ /* */ #define EBFONT 59 /* Bad font file format */ /* */ #define ENOSTR 60 /* Device not a stream */ /* */ #define ENODATA 61 /* No data available */ /* */ #define ETIME 62 /* Timer expired */ /* */ #define ENOSR 63 /* Out of streams resources */ /* */ #define ENONET 64 /* Machine is not on the network */ /* */ #define ENOPKG 65 /* Package not installed */ /* */ #define EREMOTE 66 /* Object is remote */ /* */ #define ENOLINK 67 /* Link has been severed */ /* */ #define EADV 68 /* Advertise error */ /* */ #define ESRMNT 69 /* Srmount error */ /* */ #define ECOMM 70 /* Communication error on send */ /* */ #define EPROTO 71 /* Protocol error */ /* */ #define EMULTIHOP 72 /* Multihop attempted */ /* */ #define EDOTDOT 73 /* RFS specific error */ /* */ #define EBADMSG 74 /* Not a data message */ /* */ #define EOVERFLOW 75 /* Value too large for defined data type */ /* */ #define ENOTUNIQ 76 /* Name not unique on network */ /* */ #define EBADFD 77 /* File descriptor in bad state */ /* */ #define EREMCHG 78 /* Remote address changed */ /* */ #define ELIBACC 79 /* Can not access a needed shared library */ /* */ #define ELIBBAD 80 /* Accessing a corrupted shared library */ /* */ #define ELIBSCN 81 /* .lib section in a.out corrupted */ /* */ #define ELIBMAX 82 /* Attempting to link in too many shared libraries */ /* */ #define ELIBEXEC 83 /* Cannot exec a shared library directly */ /* */ #define EILSEQ 84 /* Illegal byte sequence */ /* */ #define ERESTART 85 /* Interrupted system call should be restarted */ /* */ #define ESTRPIPE 86 /* Streams pipe error */ /* */ #define EUSERS 87 /* Too many users */ /* */ #define ENOTSOCK 88 /* Socket operation on non-socket */ /* */ #define EDESTADDRREQ 89 /* Destination address required */ /* */ #define EMSGSIZE 90 /* Message too long */ /* */ #define EPROTOTYPE 91 /* Protocol wrong type for socket */ /* */ #define ENOPROTOOPT 92 /* Protocol not available */ /* */ #define EPROTONOSUPPORT 93 /* Protocol not supported */ /* */ #define ESOCKTNOSUPPORT 94 /* Socket type not supported */ /* */ #define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ /* */ #define EPFNOSUPPORT 96 /* Protocol family not supported */ /* */ #define EAFNOSUPPORT 97 /* Address family not supported by protocol */ /* */ #define EADDRINUSE 98 /* Address already in use */ /* */ #define EADDRNOTAVAIL 99 /* Cannot assign requested address */ /* */ #define ENETDOWN 100 /* Network is down */ /* */ #define ENETUNREACH 101 /* Network is unreachable */ /* */ #define ENETRESET 102 /* Network dropped connection because of reset */ /* */ #define ECONNABORTED 103 /* Software caused connection abort */ /* */ #define ECONNRESET 104 /* Connection reset by peer */ /* */ #define ENOBUFS 105 /* No buffer space available */ /* */ #define EISCONN 106 /* Transport endpoint is already connected */ /* */ #define ENOTCONN 107 /* Transport endpoint is not connected */ /* */ #define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ /* */ #define ETOOMANYREFS 109 /* Too many references: cannot splice */ /* */ #define ETIMEDOUT 110 /* Connection timed out */ /* */ #define ECONNREFUSED 111 /* Connection refused */ /* */ #define EHOSTDOWN 112 /* Host is down */ /* */ #define EHOSTUNREACH 113 /* No route to host */ /* */ #define EALREADY 114 /* Operation already in progress */ /* */ #define EINPROGRESS 115 /* Operation now in progress */ /* */ #define ESTALE 116 /* Stale NFS file handle */ /* */ #define EUCLEAN 117 /* Structure needs cleaning */ /* */ #define ENOTNAM 118 /* Not a XENIX named type file */ /* */ #define ENAVAIL 119 /* No XENIX semaphores available */ /* */ #define EISNAM 120 /* Is a named type file */ /* */ #define EREMOTEIO 121 /* Remote I/O error */ /* */ #define EDQUOT 122 /* Quota exceeded */ /* */ #define ENOMEDIUM 123 /* No medium found */ /* */ #define EMEDIUMTYPE 124 /* Wrong medium type */ /* ==================================== */ /* (really ) */ #define O_ACCMODE 0003 /* mask for the read/write bitfield */ /* (really ) */ #define O_RDONLY 00 /* (really ) */ #define O_WRONLY 01 /* (really ) */ #define O_RDWR 02 /* (really ) */ #define O_CREAT 0100 /* not fcntl */ /* (really ) */ #define O_EXCL 0200 /* not fcntl */ /* (really ) */ #define O_NOCTTY 0400 /* not fcntl */ /* (really ) */ #define O_TRUNC 01000 /* not fcntl */ /* (really ) */ #define O_APPEND 02000 /* (really ) */ #define O_NONBLOCK 04000 /* (really ) */ #define O_NDELAY O_NONBLOCK /* (really ) */ #define O_SYNC 010000 /* (really ) */ #define O_FSYNC O_SYNC /* (really ) */ #define O_ASYNC 020000 /* (really ) */ #define O_DIRECT 040000 /* Direct disk access. (GNU only) */ /* (really ) */ #define O_LARGEFILE 0100000 /* 64-bit offsets (not portable) */ /* (really ) */ #define O_DIRECTORY 0200000 /* Must be a directory. (GNU only)*/ /* (really ) */ #define O_NOFOLLOW 0400000 /* Do not follow links. (GNU only)*/ /* (really ) */ #define F_DUPFD 0 /* Duplicate file descriptor. */ /* (really ) */ #define F_GETFD 1 /* Get file descriptor flags. */ /* (really ) */ #define F_SETFD 2 /* Set file descriptor flags. */ /* (really ) */ #define F_GETFL 3 /* Get file status flags. */ /* (really ) */ #define F_SETFL 4 /* Set file status flags. */ /* (really ) */ #define F_GETLK 5 /* Get record locking info. */ /* (really ) */ #define F_SETLK 6 /* Set record locking info (non-blocking). */ /* (really ) */ #define F_SETLKW 7 /* Set record locking info (blocking). */ /* (really ) */ #define F_GETLK64 12 /* Get record locking info. */ /* (really ) */ #define F_SETLK64 13 /* Set record locking info (non-blocking). */ /* (really ) */ #define F_SETLKW64 14 /* Set record locking info (blocking). */ /* (really ) */ #define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */ /* (really ) */ #define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */ /* (really ) */ #define F_SETSIG 10 /* Set number of signal to be sent. (GNU only) */ /* (really ) */ #define F_GETSIG 11 /* Get number of signal to be sent. (GNU only) */ /* (really ) */ #define F_SETLEASE 1024 /* Set a lease. (GNU only) */ /* (really ) */ #define F_GETLEASE 1025 /* Enquire what lease is active. (GNU only) */ /* (really ) */ #define F_NOTIFY 1026 /* Request notfications on a directory. (GNU only) */ /* (really ) */ #define FD_CLOEXEC 1 /* For F_[GET|SET]FL. */ /* (really ) */ #define F_RDLCK 0 /* Read lock. */ /* (really ) */ #define F_WRLCK 1 /* Write lock. */ /* (really ) */ #define F_UNLCK 2 /* Remove lock. */ /* (really ) */ #define F_EXLCK 4 /* or 3... either way, this is obsolete */ /* (really ) */ #define F_SHLCK 8 /* or 4... either way, this is obsolete */ /* (really ) */ #define DN_ACCESS 0x00000001 /* Notify when File accessed. */ /* (really ) */ #define DN_MODIFY 0x00000002 /* Notify when File modified. */ /* (really ) */ #define DN_CREATE 0x00000004 /* Notify when File created. */ /* (really ) */ #define DN_DELETE 0x00000008 /* Notify when File removed. */ /* (really ) */ #define DN_RENAME 0x00000010 /* Notify when File renamed. */ /* (really ) */ #define DN_ATTRIB 0x00000020 /* Notify when File changed attibutes. */ /* (really ) */ #define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */ /* (really ) arg to posix_fadvise() */ #define POSIX_FADV_NORMAL 0 /* No further special treatment. */ /* (really ) arg to posix_fadvise() */ #define POSIX_FADV_RANDOM 1 /* Expect random page references. */ /* (really ) arg to posix_fadvise() */ #define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ /* (really ) arg to posix_fadvise() */ #define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ /* (really ) arg to posix_fadvise() */ #define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ /* (really ) arg to posix_fadvise() */ #define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ /* (really ) */ /* if __USE_FILE_OFFSET64 is defined, then off_t becomes off64_t */ struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ off_t l_start; /* Offset where the lock begins. */ off_t l_len; /* Size of the locked area; zero means until EOF. */ pid_t l_pid; /* Process holding the lock. */ }; /* (really ) */ struct flock64 { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ __off64_t l_start; /* Offset where the lock begins. */ __off64_t l_len; /* Size of the locked area; zero means until EOF. */ __pid_t l_pid; /* Process holding the lock. */ }; /* */ int fcntl(int fd, int cmd, ...) { } /* */ /* When oflag includes O_CREAT, a third arg gives the file's permissions */ int open(const char *filename, int oflag, ...) { } /* */ int open64(const char *filename, int oflag, ...) { } /* */ int creat(const char *filename, int mode) { } /* */ int creat64(const char *filename, int mode) { } /* */ int lockf(int fd, int cmd, off_t len); { } /* */ int lockf64(int fd, int cmd, off64_t len); { } /* */ int posix_fadvise(int fd, off_t offset, size_t len, int advise) { } /* */ int posix_fadvise64(int fd, off_t offset, size_t len, int advise) { } /* */ int posix_fallocate(int fd, off_t offset, size_t len) { } /* */ int posix_fallocate64(int fd, off64_t offset, size_t len) { } /* ==================================== */ /* ==================================== */ /* */ # define F_LOCK 1 /* Lock a region for exclusive use. */ /* */ #define F_OK 0 /* access() - Test for existence. */ /* */ # define F_TEST 3 /* Test a region for other processes locks. */ /* */ # define F_TLOCK 2 /* Test and lock a region for exclusive use. */ /* */ # define F_ULOCK 0 /* Unlock a previously locked region. */ /* */ # define L_INCR SEEK_CUR /* */ /* Old BSD names for the same constants; just for compatibility. */ # define L_SET SEEK_SET /* */ # define L_XTND SEEK_END /* */ #define R_OK 4 /* access() - Test for read permission. */ /* */ # define SEEK_CUR 1 /* Seek from current position. */ /* */ # define SEEK_END 2 /* Seek from end of file. */ /* */ # define SEEK_SET 0 /* Seek from beginning of file. */ /* */ #define STDERR_FILENO 2 /* Standard error output. */ /* */ /* Standard file descriptors. */ #define STDIN_FILENO 0 /* Standard input. */ /* */ #define STDOUT_FILENO 1 /* Standard output. */ /* */ # define TEMP_FAILURE_RETRY(expression) ... /* */ #define W_OK 2 /* access() - Test for write permission. */ /* */ #define X_OK 1 /* access() - Test for execute permission. */ /* */ /* If defined, the implementation supports the C Language Bindings Option. */ #define _POSIX2_C_BIND 1 /* */ /* If defined, the implementation supports the C Language Development Utilities Option. */ #define _POSIX2_C_DEV 1 /* */ /* POSIX Standard approved as ISO/IEC 9945-2 as of December, 1993. */ #define _POSIX2_C_VERSION 199209L /* */ /* If defined, the implementation supports the creation of locales with the localedef utility. */ #define _POSIX2_LOCALEDEF 1 /* */ /* If defined, the implementation supports the Software Development Utilities Option. */ #define _POSIX2_SW_DEV 1 /* */ /* The utilities on GNU systems also correspond to this version. */ #define _POSIX2_VERSION 199209L /* */ /* POSIX Standard approved as ISO/IEC 9945-1 as of August, 1988 and extended by POSIX-1b (aka POSIX-4) and POSIX-1c (aka POSIX threads). */ #define _POSIX_VERSION 199506L /* */ #define _UNISTD_H 1 /* */ /* Encryption is present. */ #define _XOPEN_CRYPT 1 /* */ /* The enhanced internationalization capabilities according to XPG4.2 are present. */ #define _XOPEN_ENH_I18N 1 /* */ /* The legacy interfaces are also available. */ #define _XOPEN_LEGACY 1 /* */ /* The X/Open Unix extensions are available. */ #define _XOPEN_UNIX 1 /* */ # define _XOPEN_VERSION 500 /* */ # define _XOPEN_VERSION 4 /* */ /* Commands and utilities from XPG4 are available. */ #define _XOPEN_XCU_VERSION 4 /* */ /* We are compatible with the old published standards as well. */ #define _XOPEN_XPG2 1 /* */ #define _XOPEN_XPG3 1 /* */ #define _XOPEN_XPG4 1 /* */ typedef __gid_t gid_t; /* */ typedef __intptr_t intptr_t; /* */ typedef __off64_t off64_t; /* */ typedef __off_t off_t; /* */ typedef __off64_t off_t; /* */ typedef __pid_t pid_t; /* */ typedef __socklen_t socklen_t; /* */ typedef __ssize_t ssize_t; /* */ typedef __uid_t uid_t; /* */ typedef __useconds_t useconds_t; /* */ /* whence is one of SEEK_SET, SEEK_CUR, or SEEK_END */ off_t lseek(int fd, off_t offset, int whence) { } /* */ /* whence is one of SEEK_SET, SEEK_CUR, or SEEK_END */ off64_t lseek64(int fd, off64_t offset, int whence) { } /* */ /* type is a bitwise-OR of R_OK, W_OK, X_OK, or simply F_OK to test existence */ int access(const char *name, int type) { } /* */ /* type is a bitwise-OR of R_OK, W_OK, X_OK, or simply F_OK to test existence */ /* This uses effective user id, not real user id like access(). (GNU only) */ int euidaccess(const char *name, int type) { } /* */ int close(int fd) { } /* */ ssize_t read(int fd, void *buf, size_t nbytes) { } /* */ ssize_t write(int fd, void *buf, size_t nbytes) { } /* */ ssize_t pread(int fd, void *buf, size_t nbytes, off_t offset) { } /* */ ssize_t pwrite(int fd, void *buf, size_t nbytes, off_t offset) { } /* */ ssize_t pread64(int fd, void *buf, size_t nbytes, off64_t offset) { } /* */ ssize_t pwrite64(int fd, void *buf, size_t nbytes, off64_t offset) { } /* */ /* read from filedes[0], write to filedes[1] */ int pipe(int filedes[2]) { } /* */ unsigned int alarm(unsigned int seconds) { } /* */ unsigned int sleep(unsigned int seconds) { } /* microsecond alarm -- not portable */ __useconds_t ualarm(__useconds_t value, __useconds_t interval) { } /* microsecond sleep -- not portable */ int usleep(__useconds_t value) { } /* */ /* sleep until next signal */ int pause(void) { } /* */ int chown(const char *file, uid_t owner, gid_t group) { } /* */ int fchown(int fd, uid_t owner, gid_t group) { } /* */ /* change ownership of a symbolic link */ int lchown(const char *file, uid_t owner, gid_t group) { } /* */ int chdir(const char *path) { } /* */ int fchdir(int fd) { } /* */ /* GNU allows getcwd(NULL,0) to allocate a buffer via malloc() */ char *getcwd(char *buf, size_t size) { } /* */ /* OBSOLETE! Use getcwd() instead */ char *getwd(char *buf) { } /* */ int dup(int fd) { } /* */ /* duplicate fd into newfd. If newfd was already used, close it first */ int dup2(int fd, int newfd) { } /* */ int execve(const char *path, char const *argv[], char const *envp[]) { } /* */ int execv(const char *path, char const *argv[]) { } /* */ /* search for "file" in $PATH */ int execvp(const char *file, char const *argv[]) { } /* */ /* arg0 is followed by other args, then NULL, and then envp[] */ int execle(const char *path, const char *arg0, ...) { } /* */ /* arg0 is followed by other args, then NULL */ int execl(const char *path, char const *arg0, ...) { } /* */ /* search for "file" in $PATH */ /* arg0 is followed by other args, then NULL */ int execlp(const char *file, char const *arg0, ...) { } /* */ int nice(int inc) { } /* */ void _exit(int status) { } enum { _PC_LINK_MAX, /* maximum links to a file */ _PC_MAX_CANON, /* maximum length of formatted input line */ _PC_MAX_INPUT, /* maximum length of input line */ _PC_NAME_MAX, /* maximum file name length */ _PC_PATH_MAX, /* maximum length of relative path name */ _PC_PIPE_BUF, /* size of the pipe buffer */ _PC_CHOWN_RESTRICTED, /* predicts permissions failure for chown() */ _PC_NO_TRUNC, /* non-zero if long names aren't an error */ _PC_VDISABLE, /* non-zero if raw-mode tty is possible */ _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX }; /* */ /* pcname is one of _PC_LINK_MAX, _PC_MAX_CANNON, etc. */ long int pathconf(char *path, int pcname) { } /* */ /* pcname is one of _PC_LINK_MAX, _PC_MAX_CANNON, etc. */ long int fpathconf(int fd, int pcname) { } enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, /* Values for the argument to `sysconf' corresponding to _POSIX2_* symbols. */ _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, /* Values according to POSIX 1003.1c (POSIX threads). */ _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG }; /* */ /* name is one of _SC_ARG_MAX, SC_TRACE_LOG, etc. */ long int sysconf(int name); /* */ /* Values for the NAME argument to `confstr'. */ enum { _CS_PATH, /* The default search path. */ _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }; /* */ /* name is one of _CS_PATH, etc. */ size_t confstr(int name, char *buf, size_t len) { } /* */ pid_t getpid(void) { } /* */ pid_t getppid(void) { } /* */ /* Old BSD version takes a pid_t argument */ pid_t getpgrp(void) { } /* */ pid_t getpgid(void) { } /* */ int setpgid(pid_t pid, pid_t pgif) { } /* */ int setpgrp(void) { } /* */ pid_t setsid(void) { } /* */ pid_t getsid(pid_t pid) { } /* */ uid_t getuid(void) { } /* */ uid_t geteuid(void) { } /* */ gid_t getgid(void) { } /* */ gid_t getegid(void) { } /* */ /* if size=0 then return the number of groups; else fill list and return number * filled. */ int getgroups(int size, gid_t list[]) { } /* */ int setuid(uid_t uid) { } /* */ int seteuid(uid_t uid) { } /* */ int setreuid(uid_t ruid, uid_t euid) { } /* */ int setgid(gid_t gid) { } /* */ int setegid(gid_t gid) { } /* */ int setregid(gid_t rgid, gid_t egid) { } /* */ /* returns -1 if error, 0 to child, or child's pid to the parent */ pid_t fork(void) { } /* */ char *ttyname(int fd) { } /* */ /* thread-safe, reentrant version of ttyname() */ char *ttyname_r(int fd, char *buf, size_t buflen) { } /* */ int isatty(int fd) { } /* */ int link(const char *from, const chr *to) { } /* */ int symlink(const char *from, const chr *to) { } /* */ int readlink(const char *path, char *buf, size_t len) { } /* */ int unlink(const char *name) { } /* */ int rmdir(const char *dirname) { } /* */ pid_t tcgetpgrp(int fd) { } /* */ pid_t tcsetpgrp(int fd, pid_t pgrpid) { } /* */ char *getlogin(void) { } /* */ /* thread-safe, reentrant version of getlogin() */ int getlogin_r(char *name, size_t namelen) { } /* */ int gethostname(char *name, size_t namelen) { } /* */ int sethostname(char *name, size_t namelen) { } /* */ int sethostid(long id) { } /* */ int getdomainname(char *name, size_t namelen) { } /* */ int setdomainname(const char *name, size_t namelen) { } /* */ int vhangup(void) { } /* */ int revoke(const char *filename) { } /* */ int profil(unsigned short *sample_buffer, size_t size, size_t offset, unsigned scale) { } /* */ int acct(const char *name) { } /* */ char *getusershell(void) { } /* */ void endusershell(void) { } /* */ void setusershell(void) { } /* */ int daemon(int nochdir, int noclose) { } /* */ int chroot(const char *path) { } /* */ char *getpass(const char *prompt) { } /* */ void sync(void) { } /* */ int getpagesize(void) { } /* */ int truncate(const char *file, off_t length) { } /* */ int truncate64(const char *file, off64_t length) { } /* */ int ftruncate(int fd, off_t length) { } /* */ int ftruncate64(int fd, off64_t length) { } /* */ int getdtablesize(void) { } /* */ int brk(void *addr) { } /* */ int sbrk(int *delta) { } /* */ #define TEMP_FAILURE_RETRY(expr) /* retry expr until not EINTR */ /* */ int fdatasync(int fd) { } /* */ char *crypt(const char *key, const char *salt) { } /* */ void encrypt(char *block, int edflag) { } /* */ void swab(const void *from, void *to, ssize_t nbytes) { } /* */ char *ctermid(char *buf) { } /* */ int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) { } /* or ==================================== */ /* or */ char *optarg; /* or */ int optind; /* or */ int opterr; /* or */ int optopt; /* or */ struct option { const char *name; /* name of long option */ int has_arg; /* 0=no arg, 1=mandatory, 2=optional */ int *flag; /* where to store "val" if --name is given */ int val; /* value to store at *flag */ }; /* or */ int getopt(int argc, char * const argv[], const char *letters) { } /* */ int getopt_long(int argc, char * const argv[], const char *letters, const struct option *longopts, int *longind) { } /* */ /* like getopt_long(), but allow -name in addition to --name */ int getopt_long_only(int argc, char * const argv[], const char *letters, const struct option *longopts, int *longind) { } /* ==================================== */ /* */ #define ACCT_COMM 16 /* */ #define AHZ 100 /* */ #define _SYS_ACCT_H 1 /* */ #define __need_time_t /* */ struct acct { char ac_flag; /* Accounting flags. */ u_int16_t ac_uid; /* Accounting user ID. */ u_int16_t ac_gid; /* Accounting group ID. */ u_int16_t ac_tty; /* Controlling tty. */ u_int32_t ac_btime; /* Beginning time. */ comp_t ac_utime; /* Accounting user time. */ comp_t ac_stime; /* Accounting system time. */ comp_t ac_etime; /* Accounting elapsed time. */ comp_t ac_mem; /* Accounting average memory usage. */ comp_t ac_io; /* Accounting chars transferred. */ comp_t ac_rw; /* Accounting blocks read or written. */ comp_t ac_minflt; /* Accounting minor pagefaults. */ comp_t ac_majflt; /* Accounting major pagefaults. */ comp_t ac_swaps; /* Accounting number of swaps. */ u_int32_t ac_exitcode; /* Accounting process exitcode. */ char ac_comm[ACCT_COMM+1]; /* Accounting command name. */ char ac_pad[10]; /* Accounting padding bytes. */ }; /* */ typedef u_int16_t comp_t; /* ==================================== */ /* */ #define SND_LIB_MAJOR 0 /* */ #define SND_LIB_MINOR 5 /* */ #define SND_LIB_SUBMINOR 10 /* */ #define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|(SND_LIB_MINOR<<8)|SND_LIB_SUBMINOR) /* */ #define SND_LIB_VERSION_STR "0.5.10b" /* */ #define SND_ERROR_BEGIN 500000 /* */ #define SND_ERROR_INCOMPATIBLE_VERSION (SND_ERROR_BEGIN+0) /* */ const char *snd_strerror( int errnum ) { } /* */ typedef struct snd_ctl_callbacks { void *private_data; /* should be used by an application */ void (*rebuild) (void *private_data) void (*xswitch) (void *private_data, int cmd, int iface, int device, int channel, snd_switch_list_item_t *item) void *reserved[29]; /* reserved for the future use - must be NULL!!! */ } snd_ctl_callbacks_t; /* */ typedef struct snd_ctl snd_ctl_t; /* */ int snd_card_load(int card) { } /* */ int snd_cards(void) { } /* */ unsigned int snd_cards_mask(void) { } /* */ int snd_card_name(const char *name) { } /* */ int snd_card_get_name(int card, char **name) { } /* */ int snd_card_get_longname(int card, char **name) { } /* */ int snd_defaults_card(void) { } /* */ int snd_defaults_mixer_card(void) { } /* */ int snd_defaults_mixer_device(void) { } /* */ int snd_defaults_pcm_card(void) { } /* */ int snd_defaults_pcm_device(void) { } /* */ int snd_defaults_rawmidi_card(void) { } /* */ int snd_defaults_rawmidi_device(void) { } /* */ int snd_ctl_open(snd_ctl_t **handle, int card) { } /* */ int snd_ctl_close(snd_ctl_t *handle) { } /* */ int snd_ctl_file_descriptor(snd_ctl_t *handle) { } /* */ int snd_ctl_hw_info(snd_ctl_t *handle, struct snd_ctl_hw_info *info) { } /* */ int snd_ctl_switch_list(snd_ctl_t *handle, snd_switch_list_t * list) { } /* */ int snd_ctl_switch_read(snd_ctl_t *handle, snd_switch_t * sw) { } /* */ int snd_ctl_switch_write(snd_ctl_t *handle, snd_switch_t * sw) { } /* */ int snd_ctl_hwdep_info(snd_ctl_t *handle, int dev, snd_hwdep_info_t * info) { } /* */ int snd_ctl_pcm_info(snd_ctl_t *handle, int dev, snd_pcm_info_t * info) { } /* */ int snd_ctl_pcm_channel_info(snd_ctl_t *handle, int dev, int channel, int subdev, snd_pcm_channel_info_t * info) { } /* */ int snd_ctl_pcm_channel_prefer_subdevice(snd_ctl_t *handle, int dev, int channel, int subdev) { } /* */ int snd_ctl_mixer_info(snd_ctl_t *handle, int dev, snd_mixer_info_t * info) { } /* */ int snd_ctl_rawmidi_info(snd_ctl_t *handle, int dev, snd_rawmidi_info_t * info) { } /* */ int snd_ctl_read(snd_ctl_t *handle, snd_ctl_callbacks_t * callbacks) { } /* */ typedef struct snd_mixer_callbacks { void *private_data; /* should be used with an application */ void (*rebuild) (void *private_data) void (*element) (void *private_data, int cmd, snd_mixer_eid_t *eid) void (*group) (void *private_data, int cmd, snd_mixer_gid_t *gid) void *reserved[28]; /* reserved for the future use - must be NULL!!! */ } snd_mixer_callbacks_t; /* */ typedef struct { char *name; int weight; } snd_mixer_weight_entry_t; /* */ typedef struct snd_mixer snd_mixer_t; /* */ int snd_mixer_open(snd_mixer_t **handle, int card, int device) { } /* */ int snd_mixer_close(snd_mixer_t *handle) { } /* */ int snd_mixer_file_descriptor(snd_mixer_t *handle) { } /* */ int snd_mixer_info(snd_mixer_t *handle, snd_mixer_info_t * info) { } /* */ int snd_mixer_elements(snd_mixer_t *handle, snd_mixer_elements_t * elements) { } /* */ int snd_mixer_routes(snd_mixer_t *handle, snd_mixer_routes_t * routes) { } /* */ int snd_mixer_groups(snd_mixer_t *handle, snd_mixer_groups_t * groups) { } /* */ int snd_mixer_group_read(snd_mixer_t *handle, snd_mixer_group_t * group) { } /* */ int snd_mixer_group_write(snd_mixer_t *handle, snd_mixer_group_t * group) { } /* */ int snd_mixer_element_info(snd_mixer_t *handle, snd_mixer_element_info_t * info) { } /* */ int snd_mixer_element_read(snd_mixer_t *handle, snd_mixer_element_t * element) { } /* */ int snd_mixer_element_write(snd_mixer_t *handle, snd_mixer_element_t * element) { } /* */ int snd_mixer_get_filter(snd_mixer_t *handle, snd_mixer_filter_t * filter) { } /* */ int snd_mixer_put_filter(snd_mixer_t *handle, snd_mixer_filter_t * filter) { } /* */ int snd_mixer_read(snd_mixer_t *handle, snd_mixer_callbacks_t * callbacks) { } /* */ void snd_mixer_set_bit(unsigned int *bitmap, int bit, int val) { } /* */ int snd_mixer_get_bit(unsigned int *bitmap, int bit) { } /* */ const char *snd_mixer_channel_name(int channel) { } /* */ int snd_mixer_element_has_info(snd_mixer_eid_t *eid) { } /* */ int snd_mixer_element_info_build(snd_mixer_t *handle, snd_mixer_element_info_t * info) { } /* */ int snd_mixer_element_info_free(snd_mixer_element_info_t * info) { } /* */ int snd_mixer_element_has_control(snd_mixer_eid_t *eid) { } /* */ int snd_mixer_element_build(snd_mixer_t *handle, snd_mixer_element_t * element) { } /* */ int snd_mixer_element_free(snd_mixer_element_t * element) { } /* */ void snd_mixer_sort_eid_name_index(snd_mixer_eid_t *list, int count) { } /* */ void snd_mixer_sort_eid_table(snd_mixer_eid_t *list, int count, snd_mixer_weight_entry_t *table) { } /* */ void snd_mixer_sort_gid_name_index(snd_mixer_gid_t *list, int count) { } /* */ void snd_mixer_sort_gid_table(snd_mixer_gid_t *list, int count, snd_mixer_weight_entry_t *table) { } /* */ extern snd_mixer_weight_entry_t *snd_mixer_default_weights; /* */ #define SND_PCM_OPEN_PLAYBACK 0x0001 /* */ #define SND_PCM_OPEN_CAPTURE 0x0002 /* */ #define SND_PCM_OPEN_DUPLEX 0x0003 /* */ #define SND_PCM_OPEN_NONBLOCK 0x1000 /* */ typedef struct snd_pcm snd_pcm_t; /* */ typedef struct snd_pcm_loopback snd_pcm_loopback_t; /* */ int snd_pcm_open(snd_pcm_t **handle, int card, int device, int mode) { } /* */ int snd_pcm_open_subdevice(snd_pcm_t **handle, int card, int device, int subdevice, int mode) { } /* */ int snd_pcm_close(snd_pcm_t *handle) { } /* */ int snd_pcm_file_descriptor(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_nonblock_mode(snd_pcm_t *handle, int nonblock) { } /* */ int snd_pcm_info(snd_pcm_t *handle, snd_pcm_info_t * info) { } /* */ int snd_pcm_channel_info(snd_pcm_t *handle, snd_pcm_channel_info_t * info) { } /* */ int snd_pcm_channel_params(snd_pcm_t *handle, snd_pcm_channel_params_t * params) { } /* */ int snd_pcm_channel_setup(snd_pcm_t *handle, snd_pcm_channel_setup_t * setup) { } /* */ int snd_pcm_channel_status(snd_pcm_t *handle, snd_pcm_channel_status_t * status) { } /* */ int snd_pcm_playback_prepare(snd_pcm_t *handle) { } /* */ int snd_pcm_capture_prepare(snd_pcm_t *handle) { } /* */ int snd_pcm_channel_prepare(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_playback_go(snd_pcm_t *handle) { } /* */ int snd_pcm_capture_go(snd_pcm_t *handle) { } /* */ int snd_pcm_channel_go(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_sync_go(snd_pcm_t *handle, snd_pcm_sync_t *sync) { } /* */ int snd_pcm_playback_drain(snd_pcm_t *handle) { } /* */ int snd_pcm_playback_flush(snd_pcm_t *handle) { } /* */ int snd_pcm_capture_flush(snd_pcm_t *handle) { } /* */ int snd_pcm_channel_flush(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_playback_pause(snd_pcm_t *handle, int enable) { } /* */ ssize_t snd_pcm_transfer_size(snd_pcm_t *handle, int channel) { } /* */ ssize_t snd_pcm_write(snd_pcm_t *handle, const void *buffer, size_t size) { } /* */ ssize_t snd_pcm_read(snd_pcm_t *handle, void *buffer, size_t size) { } /* */ ssize_t snd_pcm_writev(snd_pcm_t *pcm, const struct iovec *vector, int count) { } /* */ ssize_t snd_pcm_readv(snd_pcm_t *pcm, const struct iovec *vector, int count) { } /* */ int snd_pcm_mmap(snd_pcm_t *handle, int channel, snd_pcm_mmap_control_t **control, void **buffer) { } /* */ int snd_pcm_munmap(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_format_signed(int format) { } /* */ int snd_pcm_format_unsigned(int format) { } /* */ int snd_pcm_format_linear(int format) { } /* */ int snd_pcm_format_little_endian(int format) { } /* */ int snd_pcm_format_big_endian(int format) { } /* */ int snd_pcm_format_width(int format); /* in bits */ /* */ int snd_pcm_format_physical_width(int format); /* in bits */ /* */ int snd_pcm_build_linear_format(int width, int unsignd, int big_endian) { } /* */ ssize_t snd_pcm_format_size(int format, size_t samples) { } /* */ unsigned char snd_pcm_format_silence(int format) { } /* */ const char *snd_pcm_get_format_name(int format) { } /* */ typedef struct snd_stru_pcm_plugin snd_pcm_plugin_t; /* */ typedef enum { INIT = 0, PREPARE = 1, DRAIN = 2, FLUSH = 3 } snd_pcm_plugin_action_t; /* */ #define snd_pcm_plugin_extra_data(plugin) (((char *)plugin) + sizeof(*plugin)) /* */ struct snd_stru_pcm_plugin { char *name; /* plug-in name */ int (*transfer_src_ptr)(snd_pcm_plugin_t *plugin, char **src_ptr, size_t *src_size) ssize_t (*transfer)(snd_pcm_plugin_t *plugin, char *src_ptr, size_t src_size, char *dst_ptr, size_t dst_size) ssize_t (*src_size)(snd_pcm_plugin_t *plugin, size_t dst_size) ssize_t (*dst_size)(snd_pcm_plugin_t *plugin, size_t src_size) int (*action)(snd_pcm_plugin_t *plugin, snd_pcm_plugin_action_t action) snd_pcm_plugin_t *prev; snd_pcm_plugin_t *next; void *private_data; void (*private_free)(snd_pcm_plugin_t *plugin, void *private_data) }; /* */ snd_pcm_plugin_t *snd_pcm_plugin_build(const char *name, int extra) { } /* */ int snd_pcm_plugin_free(snd_pcm_plugin_t *plugin) { } /* */ int snd_pcm_plugin_clear(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_plugin_insert(snd_pcm_t *handle, int channel, snd_pcm_plugin_t *plugin) { } /* */ int snd_pcm_plugin_append(snd_pcm_t *handle, int channel, snd_pcm_plugin_t *plugin) { } /* */ int snd_pcm_plugin_remove_to(snd_pcm_t *handle, int channel, snd_pcm_plugin_t *plugin) { } /* */ int snd_pcm_plugin_remove_first(snd_pcm_t *handle, int channel) { } /* */ snd_pcm_plugin_t *snd_pcm_plugin_first(snd_pcm_t *handle, int channel) { } /* */ snd_pcm_plugin_t *snd_pcm_plugin_last(snd_pcm_t *handle, int channel) { } /* */ ssize_t snd_pcm_plugin_transfer_size(snd_pcm_t *handle, int channel, size_t drv_size) { } /* */ ssize_t snd_pcm_plugin_hardware_size(snd_pcm_t *handle, int channel, size_t trf_size) { } /* */ int snd_pcm_plugin_info(snd_pcm_t *handle, snd_pcm_channel_info_t *info) { } /* */ int snd_pcm_plugin_params(snd_pcm_t *handle, snd_pcm_channel_params_t *params) { } /* */ int snd_pcm_plugin_setup(snd_pcm_t *handle, snd_pcm_channel_setup_t *setup) { } /* */ int snd_pcm_plugin_status(snd_pcm_t *handle, snd_pcm_channel_status_t *status) { } /* */ int snd_pcm_plugin_prepare(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_plugin_playback_drain(snd_pcm_t *handle) { } /* */ int snd_pcm_plugin_flush(snd_pcm_t *handle, int channel) { } /* */ int snd_pcm_plugin_pointer(snd_pcm_t *pcm, int channel, void **ptr, size_t *size) { } /* */ ssize_t snd_pcm_plugin_write(snd_pcm_t *handle, const void *buffer, size_t size) { } /* */ ssize_t snd_pcm_plugin_read(snd_pcm_t *handle, void *bufer, size_t size) { } /* */ int snd_pcm_plugin_build_stream(snd_pcm_t *handle, int channel, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_block(snd_pcm_t *handle, int channel, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_mmap(snd_pcm_t *handle, int channel, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_interleave(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_linear(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_mulaw(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_alaw(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_adpcm(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_rate(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_voices(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, snd_pcm_plugin_t **r_plugin) { } /* */ int snd_pcm_plugin_build_volbal(snd_pcm_format_t *src_format, snd_pcm_format_t *dst_format, int *ttable, snd_pcm_plugin_t **r_plugin) { } /* */ #define SND_PCM_LB_OPEN_PLAYBACK 0 /* */ #define SND_PCM_LB_OPEN_CAPTURE 1 /* */ typedef struct snd_pcm_loopback_callbacks { void *private_data; /* should be used with an application */ size_t max_buffer_size; /* zero = default (64kB) */ void (*data) (void *private_data, char *buffer, size_t count) void (*position_change) (void *private_data, unsigned int pos) void (*format_change) (void *private_data, snd_pcm_format_t *format) void (*silence) (void *private_data, size_t count) void *reserved[31]; /* reserved for the future use - must be NULL!!! */ } snd_pcm_loopback_callbacks_t; /* */ int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int subdev, int mode) { } /* */ int snd_pcm_loopback_close(snd_pcm_loopback_t *handle) { } /* */ int snd_pcm_loopback_file_descriptor(snd_pcm_loopback_t *handle) { } /* */ int snd_pcm_loopback_block_mode(snd_pcm_loopback_t *handle, int enable) { } /* */ int snd_pcm_loopback_stream_mode(snd_pcm_loopback_t *handle, int mode) { } /* */ int snd_pcm_loopback_format(snd_pcm_loopback_t *handle, snd_pcm_format_t * format) { } /* */ int snd_pcm_loopback_status(snd_pcm_loopback_t *handle, snd_pcm_loopback_status_t * status) { } /* */ ssize_t snd_pcm_loopback_read(snd_pcm_loopback_t *handle, snd_pcm_loopback_callbacks_t * callbacks) { } /* */ #define SND_RAWMIDI_OPEN_OUTPUT (O_WRONLY) /* */ #define SND_RAWMIDI_OPEN_OUTPUT_APPEND (O_WRONLY|O_APPEND|O_NONBLOCK) /* */ #define SND_RAWMIDI_OPEN_INPUT (O_RDONLY) /* */ #define SND_RAWMIDI_OPEN_DUPLEX (O_RDWR) /* */ #define SND_RAWMIDI_OPEN_DUPLEX_APPEND (O_RDWR|O_APPEND|O_NONBLOCK) /* */ #define SND_RAWMIDI_OPEN_NONBLOCK (O_NONBLOCK) /* */ typedef struct snd_rawmidi snd_rawmidi_t; /* */ int snd_rawmidi_open(snd_rawmidi_t **handle, int card, int device, int mode) { } /* */ int snd_rawmidi_close(snd_rawmidi_t *handle) { } /* */ int snd_rawmidi_file_descriptor(snd_rawmidi_t *handle) { } /* */ int snd_rawmidi_block_mode(snd_rawmidi_t *handle, int enable) { } /* */ int snd_rawmidi_info(snd_rawmidi_t *handle, snd_rawmidi_info_t * info) { } /* */ int snd_rawmidi_channel_params(snd_rawmidi_t *handle, snd_rawmidi_params_t * params) { } /* */ int snd_rawmidi_channel_status(snd_rawmidi_t *handle, snd_rawmidi_status_t * status) { } /* */ int snd_rawmidi_output_drain(snd_rawmidi_t *handle) { } /* */ int snd_rawmidi_output_flush(snd_rawmidi_t *handle) { } /* */ int snd_rawmidi_input_flush(snd_rawmidi_t *handle) { } /* */ int snd_rawmidi_channel_flush(snd_rawmidi_t *handle, int channel) { } /* */ ssize_t snd_rawmidi_write(snd_rawmidi_t *handle, const void *buffer, size_t size) { } /* */ ssize_t snd_rawmidi_read(snd_rawmidi_t *handle, void *buffer, size_t size) { } /* */ typedef struct snd_timer snd_timer_t; /* */ int snd_timer_open(snd_timer_t **handle) { } /* */ int snd_timer_close(snd_timer_t *handle) { } /* */ int snd_timer_file_descriptor(snd_timer_t *handle) { } /* */ int snd_timer_general_info(snd_timer_t *handle, snd_timer_general_info_t * info) { } /* */ int snd_timer_select(snd_timer_t *handle, snd_timer_select_t *tselect) { } /* */ int snd_timer_info(snd_timer_t *handle, snd_timer_info_t *timer) { } /* */ int snd_timer_params(snd_timer_t *handle, snd_timer_params_t *params) { } /* */ int snd_timer_status(snd_timer_t *handle, snd_timer_status_t *status) { } /* */ int snd_timer_start(snd_timer_t *handle) { } /* */ int snd_timer_stop(snd_timer_t *handle) { } /* */ int snd_timer_continue(snd_timer_t *handle) { } /* */ ssize_t snd_timer_read(snd_timer_t *handle, void *buffer, size_t size) { } /* */ #define SND_HWDEP_OPEN_READ (O_RDONLY) /* */ #define SND_HWDEP_OPEN_WRITE (O_WRONLY) /* */ #define SND_HWDEP_OPEN_DUPLEX (O_RDWR) /* */ #define SND_HWDEP_OPEN_NONBLOCK (O_NONBLOCK) /* */ typedef struct snd_hwdep snd_hwdep_t; /* */ int snd_hwdep_open(snd_hwdep_t **handle, int card, int device, int mode) { } /* */ int snd_hwdep_close(snd_hwdep_t *handle) { } /* */ int snd_hwdep_file_descriptor(snd_hwdep_t *handle) { } /* */ int snd_hwdep_block_mode(snd_hwdep_t *handle, int enable) { } /* */ int snd_hwdep_info(snd_hwdep_t *handle, snd_hwdep_info_t * info) { } /* */ int snd_hwdep_ioctl(snd_hwdep_t *handle, int request, void * arg) { } /* */ ssize_t snd_hwdep_write(snd_hwdep_t *handle, const void *buffer, size_t size) { } /* */ ssize_t snd_hwdep_read(snd_hwdep_t *handle, void *buffer, size_t size) { } /* */ #define SND_SEQ_OPEN_OUT (O_WRONLY) /* */ #define SND_SEQ_OPEN_IN (O_RDONLY) /* */ #define SND_SEQ_OPEN (O_RDWR) /* */ typedef struct snd_seq snd_seq_t; /* */ int snd_seq_open(snd_seq_t **handle, int mode) { } /* */ int snd_seq_close(snd_seq_t *handle) { } /* */ int snd_seq_file_descriptor(snd_seq_t *handle) { } /* */ int snd_seq_block_mode(snd_seq_t *handle, int enable) { } /* */ int snd_seq_client_id(snd_seq_t *handle) { } /* */ int snd_seq_output_buffer_size(snd_seq_t *handle) { } /* */ int snd_seq_input_buffer_size(snd_seq_t *handle) { } /* */ int snd_seq_resize_output_buffer(snd_seq_t *handle, int size) { } /* */ int snd_seq_resize_input_buffer(snd_seq_t *handle, int size) { } /* */ int snd_seq_system_info(snd_seq_t *handle, snd_seq_system_info_t *info) { } /* */ int snd_seq_get_client_info(snd_seq_t *handle, snd_seq_client_info_t *info) { } /* */ int snd_seq_get_any_client_info(snd_seq_t *handle, int client, snd_seq_client_info_t *info) { } /* */ int snd_seq_set_client_info(snd_seq_t *handle, snd_seq_client_info_t *info) { } /* */ int snd_seq_create_port(snd_seq_t *handle, snd_seq_port_info_t *info) { } /* */ int snd_seq_delete_port(snd_seq_t *handle, snd_seq_port_info_t *info) { } /* */ int snd_seq_get_port_info(snd_seq_t *handle, int port, snd_seq_port_info_t *info) { } /* */ int snd_seq_get_any_port_info(snd_seq_t *handle, int client, int port, snd_seq_port_info_t *info) { } /* */ int snd_seq_set_port_info(snd_seq_t *handle, int port, snd_seq_port_info_t *info) { } /* */ int snd_seq_get_port_subscription(snd_seq_t *handle, snd_seq_port_subscribe_t *sub) { } /* */ int snd_seq_subscribe_port(snd_seq_t *handle, snd_seq_port_subscribe_t *sub) { } /* */ int snd_seq_unsubscribe_port(snd_seq_t *handle, snd_seq_port_subscribe_t *sub) { } /* */ int snd_seq_query_port_subscribers(snd_seq_t *seq, snd_seq_query_subs_t * subs) { } /* */ int snd_seq_get_queue_status(snd_seq_t *handle, int q, snd_seq_queue_status_t *status) { } /* */ int snd_seq_get_queue_tempo(snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo) { } /* */ int snd_seq_set_queue_tempo(snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo) { } /* */ int snd_seq_get_queue_owner(snd_seq_t *handle, int q, snd_seq_queue_owner_t *owner) { } /* */ int snd_seq_set_queue_owner(snd_seq_t *handle, int q, snd_seq_queue_owner_t *owner) { } /* */ int snd_seq_get_queue_timer(snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer) { } /* */ int snd_seq_set_queue_timer(snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer) { } /* */ int snd_seq_get_queue_sync(snd_seq_t *handle, int q, snd_seq_queue_sync_t *sync) { } /* */ int snd_seq_set_queue_sync(snd_seq_t *handle, int q, snd_seq_queue_sync_t *sync) { } /* */ int snd_seq_get_queue_client(snd_seq_t *handle, int q, snd_seq_queue_client_t *queue) { } /* */ int snd_seq_set_queue_client(snd_seq_t *handle, int q, snd_seq_queue_client_t *queue) { } /* */ int snd_seq_alloc_named_queue(snd_seq_t *seq, char *name) { } /* */ int snd_seq_alloc_queue(snd_seq_t *handle) { } /* */ int snd_seq_free_queue(snd_seq_t *handle, int q) { } /* */ int snd_seq_get_queue_info(snd_seq_t *seq, int q, snd_seq_queue_info_t *info) { } /* */ int snd_seq_set_queue_info(snd_seq_t *seq, int q, snd_seq_queue_info_t *info) { } /* */ int snd_seq_get_named_queue(snd_seq_t *seq, char *name) { } /* */ int snd_seq_get_client_pool(snd_seq_t *handle, snd_seq_client_pool_t * info) { } /* */ int snd_seq_set_client_pool(snd_seq_t *handle, snd_seq_client_pool_t * info) { } /* */ int snd_seq_query_next_client(snd_seq_t *handle, snd_seq_client_info_t * info) { } /* */ int snd_seq_query_next_port(snd_seq_t *handle, snd_seq_port_info_t * info) { } /* */ snd_seq_event_t *snd_seq_create_event(void) { } /* */ int snd_seq_free_event(snd_seq_event_t *ev) { } /* */ int snd_seq_event_length(snd_seq_event_t *ev) { } /* */ int snd_seq_event_output(snd_seq_t *handle, snd_seq_event_t *ev) { } /* */ int snd_seq_event_output(snd_seq_t *handle, snd_seq_event_t *ev) { } /* */ int snd_seq_event_output_buffer(snd_seq_t *handle, snd_seq_event_t *ev) { } /* */ int snd_seq_event_output_direct(snd_seq_t *handle, snd_seq_event_t *ev) { } /* */ int snd_seq_event_input(snd_seq_t *handle, snd_seq_event_t **ev) { } /* */ int snd_seq_event_input_pending(snd_seq_t *seq, int fetch_sequencer) { } /* */ int snd_seq_event_input_selective(snd_seq_t *seq, snd_seq_event_t **ev, int type, int blocking) { } /* */ int snd_seq_flush_output(snd_seq_t *handle) { } /* */ int snd_seq_event_output_pending(snd_seq_t *seq) { } /* */ int snd_seq_extract_output(snd_seq_t *handle, snd_seq_event_t **ev) { } /* */ int snd_seq_drain_output(snd_seq_t *handle) { } /* */ int snd_seq_drain_output_buffer(snd_seq_t *handle) { } /* */ int snd_seq_drain_input(snd_seq_t *handle) { } /* */ int snd_seq_drain_input_buffer(snd_seq_t *handle) { } /* */ int snd_seq_remove_events(snd_seq_t *handle, snd_seq_remove_events_t *info) { } /* */ void snd_seq_set_bit(int nr, void *array) { } /* */ int snd_seq_change_bit(int nr, void *array) { } /* */ int snd_seq_get_bit(int nr, void *array) { } /* */ void snd_seq_ev_clear(snd_seq_event_t *ev) { } /* */ void snd_seq_ev_set_dest(snd_seq_event_t *ev, int client, int port) { } /* */ void snd_seq_ev_set_subs(snd_seq_event_t *ev) { } /* */ void snd_seq_ev_set_broadcast(snd_seq_event_t *ev) { } /* */ void snd_seq_ev_set_source(snd_seq_event_t *ev, int port) { } /* */ void snd_seq_ev_set_direct(snd_seq_event_t *ev) { } /* */ void snd_seq_ev_schedule_tick(snd_seq_event_t *ev, int q, int relative, snd_seq_tick_time_t tick) { } /* */ void snd_seq_ev_schedule_real(snd_seq_event_t *ev, int q, int relative, snd_seq_real_time_t *time) { } /* */ void snd_seq_ev_set_priority(snd_seq_event_t *ev, int high_prior) { } /* */ void snd_seq_ev_set_fixed(snd_seq_event_t *ev) { } /* */ void snd_seq_ev_set_variable(snd_seq_event_t *ev, int len, void *ptr) { } /* */ void snd_seq_ev_set_varusr(snd_seq_event_t *ev, int len, void *ptr) { } /* */ int snd_seq_ev_set_queue_start(snd_seq_event_t *ev, int q) { } /* */ int snd_seq_ev_set_queue_stop(snd_seq_event_t *ev, int q) { } /* */ int snd_seq_ev_set_queue_continue(snd_seq_event_t *ev, int q) { } /* */ int snd_seq_ev_set_queue_tempo(snd_seq_event_t *ev, int q, int tempo) { } /* */ int snd_seq_ev_set_queue_control(snd_seq_event_t *ev, int type, int q, int value) { } /* */ int snd_seq_ev_set_queue_pos_real(snd_seq_event_t *ev, int q, snd_seq_real_time_t *rtime) { } /* */ int snd_seq_ev_set_queue_pos_tick(snd_seq_event_t *ev, int q, snd_seq_tick_time_t tick) { } /* */ int snd_seq_use_queue(snd_seq_t *seq, int q, int use) { } /* */ int snd_seq_control_queue(snd_seq_t *seq, int q, int type, int value, snd_seq_event_t *ev) { } /* */ int snd_seq_start_queue(snd_seq_t *seq, int q, snd_seq_event_t *ev) { } /* */ int snd_seq_stop_queue(snd_seq_t *seq, int q, snd_seq_event_t *ev) { } /* */ int snd_seq_continue_queue(snd_seq_t *seq, int q, snd_seq_event_t *ev) { } /* */ int snd_seq_change_queue_tempo(snd_seq_t *seq, int q, int tempo, snd_seq_event_t *ev) { } /* */ int snd_seq_setpos_queue(snd_seq_t *seq, int q, snd_seq_timestamp_t *rtime, snd_seq_event_t *ev) { } /* */ int snd_seq_create_simple_port(snd_seq_t *seq, char *name, unsigned int caps, unsigned int type) { } /* */ int snd_seq_delete_simple_port(snd_seq_t *seq, int port) { } /* */ int snd_seq_connect_from(snd_seq_t *seq, int my_port, int src_client, int src_port) { } /* */ int snd_seq_connect_to(snd_seq_t *seq, int my_port, int dest_client, int dest_port) { } /* */ int snd_seq_disconnect_from(snd_seq_t *seq, int my_port, int src_client, int src_port) { } /* */ int snd_seq_disconnect_to(snd_seq_t *seq, int my_port, int dest_client, int dest_port) { } /* */ int snd_seq_set_client_name(snd_seq_t *seq, char *name) { } /* */ int snd_seq_set_client_group(snd_seq_t *seq, char *name) { } /* */ int snd_seq_set_client_filter(snd_seq_t *seq, unsigned int filter) { } /* */ int snd_seq_set_client_event_filter(snd_seq_t *seq, int event_type) { } /* */ int snd_seq_set_client_pool_output(snd_seq_t *seq, int size) { } /* */ int snd_seq_set_client_pool_output_room(snd_seq_t *seq, int size) { } /* */ int snd_seq_set_client_pool_input(snd_seq_t *seq, int size) { } /* */ int snd_seq_reset_pool_output(snd_seq_t *seq) { } /* */ int snd_seq_reset_pool_input(snd_seq_t *seq) { } /* */ #define snd_seq_ev_clear(ev) memset(ev, 0, sizeof(snd_seq_event_t)) /* */ #define snd_seq_ev_set_dest(ev,c,p) ... /* */ #define snd_seq_ev_set_subs(ev) ... /* */ #define snd_seq_ev_set_broadcast(ev) ... /* */ #define snd_seq_ev_set_source(ev,p) ((ev)->source.port = (p)) /* */ #define snd_seq_ev_set_queue_control(ev,t,q,val) ... /* */ #define snd_seq_ev_set_queue_start(ev,q) ... /* */ #define snd_seq_ev_set_queue_stop(ev,q) ... /* */ #define snd_seq_ev_set_queue_continue(ev,q) ... /* */ #define snd_seq_ev_set_queue_tempo(ev,q,val) ... /* */ #define snd_seq_ev_set_queue_pos_real(ev,q,rtime) ... /* */ #define snd_seq_ev_set_queue_pos_tick(ev,q,ttime) ... /* */ #define snd_seq_start_queue(seq,q,ev) ... /* */ #define snd_seq_stop_queue(seq,q,ev) ... /* */ #define snd_seq_continue_queue(seq,q,ev) ... /* */ #define snd_seq_change_queue_tempo(seq,q,tempo,ev) ... /* */ #define snd_seq_ev_set_note(ev,ch,key,vel,dur) ... /* */ #define snd_seq_ev_set_noteon(ev,ch,key,vel) ... /* */ #define snd_seq_ev_set_noteoff(ev,ch,key,vel) ... /* */ #define snd_seq_ev_set_keypress(ev,ch,key,vel) ... /* */ #define snd_seq_ev_set_controller(ev,ch,cc,val) ... /* */ #define snd_seq_ev_set_pgmchange(ev,ch,val) ... /* */ #define snd_seq_ev_set_pitchbend(ev,ch,val) ... /* */ #define snd_seq_ev_set_chanpress(ev,ch,val) ... /* */ #define snd_seq_ev_set_sysex(ev,datalen,dataptr) ... /* */ #define snd_host_to_LE_16(val) ... /* */ #define snd_LE_to_host_16(val) ... /* */ #define snd_host_to_LE_32(val) ... /* */ #define snd_LE_to_host_32(val) ... /* */ #define snd_host_to_BE_16(val) ... /* */ #define snd_BE_to_host_16(val) ... /* */ #define snd_host_to_BE_32(val) ... /* */ #define snd_BE_to_host_32(val) ... /* */ typedef void snd_instr_simple_t; /* */ int snd_instr_simple_convert_to_stream(snd_instr_simple_t *simple, const char *name, snd_seq_instr_put_t **put, long *size) { } /* */ int snd_instr_simple_convert_from_stream(snd_seq_instr_get_t *data, long size, snd_instr_simple_t **simple) { } /* */ int snd_instr_simple_free(snd_instr_simple_t *simple) { } /* */ typedef void snd_instr_iwffff_t; /* */ typedef struct snd_iwffff_handle snd_iwffff_handle_t; /* */ int snd_instr_iwffff_open(snd_iwffff_handle_t **handle, const char *name_fff, const char *name_dta) { } /* */ int snd_instr_iwffff_open_rom(snd_iwffff_handle_t **handle, int card, int bank, int file) { } /* */ int snd_instr_iwffff_open_rom_file(snd_iwffff_handle_t **handle, const char *name, int bank, int file) { } /* */ int snd_instr_iwffff_close(snd_iwffff_handle_t *handle) { } /* */ int snd_instr_iwffff_load(snd_iwffff_handle_t *handle, int bank, int prg, snd_instr_iwffff_t **iwffff) { } /* */ int snd_instr_iwffff_convert_to_stream(snd_instr_iwffff_t *iwffff, const char *name, snd_seq_instr_put_t **data, long *size) { } /* */ int snd_instr_iwffff_convert_from_stream(snd_seq_instr_get_t *data, long size, snd_instr_iwffff_t **iwffff) { } /* */ int snd_instr_iwffff_free(snd_instr_iwffff_t *iwffff) { } /* ==================================== */ /* */ # define __BEGIN_DECLS extern "C" { /* */ #define __CONCAT(x,y) x ## y /* */ # define __END_DECLS } /* */ # define __END_DECLS /* */ # define __P(args) args /* */ # define __PMT(args) args /* */ #define __STRING(x) #x /* */ # define __bounded /* nothing */ /* */ # define __const const /* */ # define __extension__ /* Ignore */ /* */ /* GCC 2.97 supports C99 flexible array members. */ # define __flexarr [] /* */ # define __flexarr [0] /* */ # define __flexarr [] /* */ /* Some other non-C99 compiler. Approximate with [1]. */ # define __flexarr [1] /* */ # define __inline /* No inline functions. */ /* */ #define __long_double_t long double /* */ /* This is not a typedef so `const __ptr_t' does the right thing. */ #define __ptr_t void * /* */ # define __ptrvalue /* nothing */ /* */ # define __restrict /* Ignore */ /* */ # define __restrict_arr __restrict /* */ # define __restrict_arr /* Not supported in old GCC. */ /* */ # define __restrict_arr restrict /* */ /* Some other non-C99 compiler. */ # define __restrict_arr /* Not supported. */ /* */ # define __signed signed /* */ # define __unbounded /* nothing */ /* */ # define __volatile volatile /* ==================================== */ /* */ #define DR_CONTROL 7 /* u_debugreg[DR_CONTROL] */ /* */ #define DR_CONTROL_RESERVED (0xFC00) /* Reserved by Intel */ /* */ #define DR_CONTROL_SHIFT 16 /* Skip this many bits in ctl register */ /* */ #define DR_CONTROL_SIZE 4 /* 4 control bits per register */ /* */ #define DR_ENABLE_SIZE 2 /* 2 enable bits per register */ /* */ /* Indicate the register numbers for a number of the specific debug registers. Registers 0-3 contain the addresses we wish to trap on */ #define DR_FIRSTADDR 0 /* u_debugreg[DR_FIRSTADDR] */ /* */ #define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */ /* */ #define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit */ /* */ #define DR_GLOBAL_SLOWDOWN (0x200) /* Global slow the pipeline */ /* */ #define DR_LASTADDR 3 /* u_debugreg[DR_LASTADDR] */ /* */ #define DR_LEN_1 (0x0) /* Settings for data length to trap on */ /* */ #define DR_LEN_2 (0x4) /* */ #define DR_LEN_4 (0xC) /* */ #define DR_LOCAL_ENABLE_MASK (0x55) /* Set local bits for all 4 regs */ /* */ #define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit */ /* */ #define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */ /* */ #define DR_RW_EXECUTE (0x0) /* Settings for the access types to trap on */ /* */ #define DR_RW_READ (0x3) /* */ #define DR_RW_WRITE (0x1) /* */ #define DR_STATUS 6 /* u_debugreg[DR_STATUS] */ /* */ #define DR_STEP (0x4000) /* single-step */ /* */ #define DR_SWITCH (0x8000) /* task switch */ /* */ #define DR_TRAP0 (0x1) /* db0 */ /* */ #define DR_TRAP1 (0x2) /* db1 */ /* */ #define DR_TRAP2 (0x4) /* db2 */ /* */ #define DR_TRAP3 (0x8) /* db3 */ /* */ #define _SYS_DEBUGREG_H 1 /* ==================================== */ /* */ #define _SYS_DIR_H 1 /* */ #define direct dirent /* ==================================== */ /* */ #define _SYS_ELF_H 1 /* ==================================== */ /* */ #define LOCK_EX 2 /* Exclusive lock. */ /* */ #define LOCK_NB 4 /* Don't block when locking. */ /* */ #define LOCK_SH 1 /* Shared lock. */ /* */ #define LOCK_UN 8 /* Unlock. */ /* */ # define L_INCR 1 /* Seek from current position. */ /* */ # define L_SET 0 /* Seek from beginning of file. */ /* */ # define L_XTND 2 /* Seek from end of file. */ /* ==================================== */ /* */ /* * percent of text space to allocate for tostructs with a minimum. */ #define ARCDENSITY 2 /* */ #define GMON_PROF_BUSY 1 /* */ #define GMON_PROF_ERROR 2 /* */ #define GMON_PROF_OFF 3 /* */ /* * Possible states of profiling. */ #define GMON_PROF_ON 0 /* */ #define GPROF_COUNT 1 /* struct: profile tick count buffer */ /* */ #define GPROF_FROMS 2 /* struct: from location hash bucket */ /* */ #define GPROF_GMONPARAM 4 /* struct: profiling parameters (see above) */ /* */ /* * Sysctl definitions for extracting profiling information from the kernel. */ #define GPROF_STATE 0 /* int: profiling enabling variable */ /* */ #define GPROF_TOS 3 /* struct: destination/count structure */ /* */ /* * histogram counters are unsigned shorts (according to the kernel). */ #define HISTCOUNTER unsigned short /* */ /* * fraction of text space to allocate for histogram counters here, 1/2 */ #define HISTFRACTION 2 /* */ #define MAXARCS ((1 << (8 * sizeof(HISTCOUNTER))) - 2) /* */ #define MINARCS 50 /* */ /* * general rounding functions. */ #define ROUNDDOWN(x,y) (((x)/(y))*(y)) /* */ #define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*(y)) /* */ #define _SYS_GMON_H 1 /* */ /* structure emitted by "gcc -a". This must match struct bb in gcc/libgcc2.c. It is OK for gcc to declare a longer structure as long as the members below are present. */ struct __bb { long zero_word; const char *filename; long *counts; long ncounts; struct __bb *next; const unsigned long *addresses; }; /* */ extern struct __bb *__bb_head; /* */ extern struct gmonparam _gmonparam; /* */ /* * The profiling data structures are housed in this structure. */ struct gmonparam { long state; u_short *kcount; u_long kcountsize; u_short *froms; u_long fromssize; struct tostruct *tos; u_long tossize; long tolimit; u_long lowpc; u_long highpc; u_long textsize; u_long hashfraction; long log_hashfraction; }; /* */ /* * a raw arc, with pointers to the calling site and * the called site and a count. */ struct rawarc { u_long raw_frompc; u_long raw_selfpc; long raw_count; }; /* */ struct tostruct { u_long selfpc; long count; u_short link; u_short pad; }; /* ==================================== */ /* */ #define GMON_MAGIC "gmon" /* magic cookie */ /* */ /* types of records in this file: */ typedef enum { GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2 } GMON_Record_Tag; /* */ /* For profiling shared object we need a new format. */ #define GMON_SHOBJ_VERSION 0x1ffff /* */ /* types of records in this file: */ typedef enum { GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2 } GMON_Record_Tag; /* */ /* types of records in this file: */ typedef enum { GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2 } GMON_Record_Tag; /* */ /* types of records in this file: */ typedef enum { GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2 } GMON_Record_Tag; /* */ #define GMON_VERSION 1 /* version number */ /* */ #define _SYS_GMON_OUT_H 1 /* */ struct gmon_cg_arc_record { char from_pc[sizeof (char *)]; /* address within caller's body */ char self_pc[sizeof (char *)]; /* address within callee's body */ char count[4]; /* number of arc traversals */ }; /* */ /* * Raw header as it appears on file (without padding). This header * always comes first in gmon.out and is then followed by a series * records defined below. */ struct gmon_hdr { char cookie[4]; char version[4]; char spare[3 * 4]; }; /* */ struct gmon_hist_hdr { char low_pc[sizeof (char *)]; /* base pc address of sample buffer */ char high_pc[sizeof (char *)]; /* max pc address of sampled buffer */ char hist_size[4]; /* size of sample buffer */ char prof_rate[4]; /* profiling clock rate */ char dimen[15]; /* phys. dim., usually "seconds" */ char dimen_abbrev; /* usually 's' for "seconds" */ }; /* ==================================== */ /* */ #define _SYS_IO_H 1 /* */ static __inline unsigned char inb_p (unsigned short port) { } /* */ static __inline unsigned int inl (unsigned short port) { } /* */ static __inline unsigned int inl_p (unsigned short port) { } /* */ static __inline void insb (unsigned short port, void *addr, unsigned long count) { } /* */ static __inline void insl (unsigned short port, void *addr, unsigned long count) { } /* */ static __inline void insw (unsigned short port, void *addr, unsigned long count) { } /* */ static __inline unsigned short inw (unsigned short port) { } /* */ static __inline unsigned short inw_p (unsigned short port) { } /* * Portability note: not all Linux platforms support this call. Most * platforms based on the PC I/O architecture probably will, however. * E.g., Linux/Alpha for Alpha PCs supports this. */ int ioperm (unsigned long __from, unsigned long __num, int __turn_on) { } /* */ static __inline void outb (unsigned char value, unsigned short port) { } /* */ static __inline void outb_p (unsigned char value, unsigned short port) { } /* */ static __inline void outl (unsigned int value, unsigned short port) { } /* */ static __inline void outl_p (unsigned int value, unsigned short port) { } /* */ static __inline void outsb (unsigned short port, const void *addr, unsigned long count) { } /* */ static __inline void outsl (unsigned short port, const void *addr, unsigned long count) { } /* */ static __inline void outsw (unsigned short port, const void *addr, unsigned long count) { } /* */ static __inline void outw (unsigned short value, unsigned short port) { } /* */ static __inline void outw_p (unsigned short value, unsigned short port) { } /* ==================================== */ /* */ #define _SYS_IPC_H 1 /* */ # define __gid_t_defined /* */ # define __key_t_defined /* */ # define __mode_t_defined /* */ # define __uid_t_defined /* */ typedef __gid_t gid_t; /* */ typedef __key_t key_t; /* */ typedef __mode_t mode_t; /* */ typedef __uid_t uid_t; /* ==================================== */ /* */ /* Return value of `mmap' in case of an error. */ #define MAP_FAILED ((void *) -1) /* */ #define _SYS_MMAN_H 1 /* */ # define __mode_t_defined /* */ #define __need_size_t /* */ # define __off_t_defined /* */ # define mmap mmap64 /* */ typedef __mode_t mode_t; /* */ typedef __off_t off_t; /* */ typedef __off64_t off_t; /* ==================================== */ /* */ #define BLKFLSBUF _IO(0x12, 97) /* Flush buffer cache. */ /* */ #define BLKGETSIZE _IO(0x12, 96) /* Return device size. */ /* */ #define BLKRAGET _IO(0x12, 99) /* Get current read ahead setting. */ /* */ #define BLKRASET _IO(0x12, 98) /* Set read ahead for block device. */ /* */ #define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */ /* */ #define BLKROSET _IO(0x12, 93) /* Set device read-only (0 = read-write). */ /* */ #define BLKRRPART _IO(0x12, 95) /* Re-read partition table. */ /* */ #define BLOCK_SIZE 1024 /* */ #define BLOCK_SIZE_BITS 10 /* */ enum MS_RDONLY = 1, /* Mount read-only. */ MS_NOSUID = 2, /* Ignore suid and sgid bits. */ MS_NODEV = 4, /* Disallow access to device special files. */ MS_NOEXEC = 8, /* Disallow program execution. */ MS_SYNCHRONOUS = 16, /* Writes are synced at once. */ MS_REMOUNT = 32, /* Alter flags of a mounted FS. */ MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */ S_WRITE = 128, /* Write on file/directory/symlink. */ S_APPEND = 256, /* Append-only file. */ S_IMMUTABLE = 512, /* Immutable file. */ MS_NOATIME = 1024, /* Do not update access times. */ MS_NODIRATIME = 2048, /* Do not update directory access times. */ MS_BIND = 4096, /* Bind directory at different place. */ }; /* Possible value for FLAGS parameter of `umount2'. */ enum MNT_FORCE = 1 /* Force unmounting. */ }; /* */ #define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */ /* */ #define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */ /* */ /* Flags that can be altered by MS_REMOUNT */ #define MS_RMT_MASK (MS_RDONLY | MS_MANDLOCK) /* ==================================== */ /* */ /* Template for struct to be used as argument for `msgsnd' and `msgrcv'. */ struct msgbuf { long mtype; /* type of received/sent message */ char mtext[1]; /* text of the message */ }; /* ==================================== */ /* */ # define DEFTAPE "/dev/tape" /* */ MTEOM positions after the last FM, ready for appending another file. */ #define MTERASE 13 /* Erase tape -- be careful! */ /* */ #define GMT_BOT(x) ((x) & 0x40000000) /* */ /* #define GMT_ ? ((x) & 0x00100000) */ /* #define GMT_ ? ((x) & 0x00080000) */ #define GMT_DR_OPEN(x) ((x) & 0x00040000) /* Door open (no tape). */ /* #define GMT_ ? ((x) & 0x00020000) */ /* */ #define GMT_D_1600(x) ((x) & 0x00400000) /* */ #define GMT_D_6250(x) ((x) & 0x00800000) /* */ #define GMT_D_800(x) ((x) & 0x00200000) /* #define GMT_ ? ((x) & 0x00100000) */ /* #define GMT_ ? ((x) & 0x00080000) */ /* */ #define GMT_EOD(x) ((x) & 0x08000000) /* DDS EOD */ /* */ /* Generic Mag Tape (device independent) status macros for examining mt_gstat -- HP-UX compatible. There is room for more generic status bits here, but I don't know which of them are reserved. At least three or so should be added to make this really useful. */ #define GMT_EOF(x) ((x) & 0x80000000) /* */ #define GMT_EOT(x) ((x) & 0x20000000) /* */ /* #define GMT_ ? ((x) & 0x00020000) */ #define GMT_IM_REP_EN(x) ((x) & 0x00010000) /* Immediate report mode.*/ /* 16 generic status bits unused. */ /* */ /* #define GMT_ ? ((x) & 0x02000000) */ #define GMT_ONLINE(x) ((x) & 0x01000000) /* */ #define GMT_SM(x) ((x) & 0x10000000) /* DDS setmark */ /* */ #define GMT_WR_PROT(x) ((x) & 0x04000000) /* #define GMT_ ? ((x) & 0x02000000) */ /* */ * position at first record of next file. */ #define MTBSF 2 /* Backward space FileMark (position before FM). */ /* */ #define MTBSFM 10 /* +backward space FileMark, position at FM. */ /* */ #define MTBSR 4 /* Backward space record. */ /* */ #define MTBSS 26 /* Space backward over setmarks. */ /* */ #define MTCOMPRESSION 32/* Control compression with SCSI mode page 15. */ /* */ #define MTEOM 12 /* Goto end of recorded media (for appending files). MTEOM positions after the last FM, ready for appending another file. */ /* */ MTEOM positions after the last FM, ready for appending another file. */ #define MTERASE 13 /* Erase tape -- be careful! */ /* */ #define MTFSF 1 /* Forward space over FileMark, /* */ #define MTFSFM 11 /* +forward space FileMark, position at FM. */ /* */ #define MTFSR 3 /* Forward space record. */ /* */ Ordinary buffered operation with code 1. */ #define MTFSS 25 /* Space forward over setmarks. */ /* */ #define MTIOCGET _IOR('m', 2, struct mtget) /* Get tape status. */ /* */ /* The next two are used by the QIC-02 driver for runtime reconfiguration. See tpqic02.h for struct mtconfiginfo. */ #define MTIOCGETCONFIG _IOR('m', 4, struct mtconfiginfo) /* Get tape config.*/ /* */ #define MTIOCPOS _IOR('m', 3, struct mtpos) /* Get tape position.*/ /* */ #define MTIOCSETCONFIG _IOW('m', 5, struct mtconfiginfo) /* Set tape config.*/ /* */ /* Magnetic tape I/O control commands. */ #define MTIOCTOP _IOW('m', 1, struct mtop) /* Do a mag tape op. */ /* */ #define MTLOAD 30 /* Execute the SCSI load command. */ /* */ #define MTLOCK 28 /* Lock the drive door. */ /* */ #define MTMKPART 34 /* Format the tape with one or two partitions. */ /* */ #define MTNOP 8 /* No op, set status only (read with MTIOCGET). */ /* */ #define MTOFFL 7 /* Rewind and put the drive offline (eject?). */ /* */ #define MTRAS1 14 /* Run self test 1 (nondestructive). */ /* */ #define MTRAS2 15 /* Run self test 2 (destructive). */ /* */ #define MTRAS3 16 /* Reserved for self test 3. */ /* */ /* Magnetic Tape operations [Not all operations supported by all drivers]. */ #define MTRESET 0 /* +reset drive in case of problems. */ /* */ #define MTRETEN 9 /* Retension tape. */ /* */ #define MTREW 6 /* Rewind. */ /* */ #define MTSEEK 22 /* Seek to block (Tandberg, etc.). */ /* */ #define MTSETBLK 20 /* Set block length (SCSI). */ /* */ #define MTSETDENSITY 21 /* Set tape density (SCSI). */ /* */ #define MTSETDRVBUFFER 24 /* Set the drive buffering according to SCSI-2. /* */ #define MTSETPART 33 /* Change the active tape partition. */ /* */ #define MTTELL 23 /* Tell block (Tandberg, etc.). */ /* */ #define MTUNLOAD 31 /* Execute the SCSI unload command. */ /* */ #define MTUNLOCK 29 /* Unlock the drive door. */ /* */ #define MTWEOF 5 /* Write an end-of-file record (mark). */ /* */ #define MTWSM 27 /* Write setmarks. */ /* */ #define MT_ISARCHIVESC499 0x0A /* Archive SC-499 QIC-36 controller. */ /* */ #define MT_ISARCHIVE_2060L 0x09 /* Archive Viper 2060L. */ /* */ #define MT_ISARCHIVE_2150L 0x08 /* Archive Viper 2150L. */ /* */ #define MT_ISARCHIVE_5945L2 0x04 /* Archive 5945L-2, QIC-24, QIC-02?. */ /* */ #define MT_ISARCHIVE_VP60I 0x07 /* Archive VP60i, QIC-02. */ /* */ #define MT_ISCMSJ500 0x05 /* CMS Jumbo 500 (QIC-02?). */ /* */ #define MT_ISDDS1 0x51 /* DDS device without partitions. */ /* */ #define MT_ISDDS2 0x52 /* DDS device with partitions. */ /* */ Teac DC-1 card (Wangtek type). */ #define MT_ISEVEREX_FT40A 0x32 /* Everex FT40A (QIC-40). */ /* */ #define MT_ISFTAPE_FLAG 0x800000 /* */ /* QIC-40/80/3010/3020 ftape supported drives. 20bit vendor ID + 0x800000 (see vendors.h in ftape distribution). */ #define MT_ISFTAPE_UNKNOWN 0x800000 /* obsolete */ /* */ #define MT_ISQIC02 0x02 /* Generic QIC-02 tape streamer. */ /* */ #define MT_ISQIC02_ALL_FEATURES 0x0F /* Generic QIC-02 with all features. */ /* */ #define MT_ISSCSI1 0x71 /* Generic ANSI SCSI-1 tape unit. */ /* */ #define MT_ISSCSI2 0x72 /* Generic ANSI SCSI-2 tape unit. */ /* */ #define MT_ISTDC3610 0x06 /* Tandberg 6310, QIC-24. */ /* */ #define MT_ISTEAC_MT2ST 0x12 /* Teac MT-2ST 155mb drive, /* */ /* Constants for mt_type. Not all of these are supported, and these are not all of the ones that are supported. */ #define MT_ISUNKNOWN 0x01 /* */ #define MT_ISWT5099EEN24 0x11 /* Wangtek 5099-een24, 60MB, QIC-24. */ /* */ #define MT_ISWT5150 0x03 /* Wangtek 5150EQ, QIC-150, QIC-02. */ /* */ #define MT_ST_ASYNC_WRITES 0x2 /* */ #define MT_ST_AUTO_LOCK 0x40 /* */ #define MT_ST_BLKSIZE_MASK 0xffffff /* */ /* SCSI-tape specific definitions. Bitfield shifts in the status */ #define MT_ST_BLKSIZE_SHIFT 0 /* */ #define MT_ST_BOOLEANS 0x10000000 /* */ #define MT_ST_BUFFER_WRITES 0x1 /* */ #define MT_ST_CAN_BSR 0x100 /* */ #define MT_ST_CAN_PARTITIONS 0x400 /* */ #define MT_ST_CLEARBOOLEANS 0x40000000 /* */ /* The mode parameters to be controlled. Parameter chosen with bits 20-28. */ #define MT_ST_CLEAR_DEFAULT 0xfffff /* */ #define MT_ST_DEBUGGING 0x8 /* */ #define MT_ST_DEF_BLKSIZE 0x50000000 /* */ #define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000) /* */ #define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000) /* */ #define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000) /* */ #define MT_ST_DEF_OPTIONS 0x60000000 /* */ #define MT_ST_DEF_WRITES 0x80 /* */ #define MT_ST_DENSITY_MASK 0xff000000 /* */ #define MT_ST_DENSITY_SHIFT 24 /* */ #define MT_ST_FAST_MTEOM 0x20 /* */ /* The offset for the arguments for the special HP changer load command. */ #define MT_ST_HPLOADER_OFFSET 10000 /* */ #define MT_ST_NO_BLKLIMS 0x200 /* */ /* Bitfields for the MTSETDRVBUFFER ioctl. */ #define MT_ST_OPTIONS 0xf0000000 /* */ #define MT_ST_READ_AHEAD 0x4 /* */ #define MT_ST_SCSI2LOGICAL 0x800 /* */ #define MT_ST_SETBOOLEANS 0x30000000 /* */ #define MT_ST_SOFTERR_MASK 0xffff /* */ #define MT_ST_SOFTERR_SHIFT 0 /* */ #define MT_ST_TWO_FM 0x10 /* */ #define MT_ST_WRITE_THRESHOLD 0x20000000 /* */ #define MT_TAPE_INFO \ { \ {MT_ISUNKNOWN, "Unknown type of tape device"}, \ {MT_ISQIC02, "Generic QIC-02 tape streamer"}, \ {MT_ISWT5150, "Wangtek 5150, QIC-150"}, \ {MT_ISARCHIVE_5945L2, "Archive 5945L-2"}, \ {MT_ISCMSJ500, "CMS Jumbo 500"}, \ {MT_ISTDC3610, "Tandberg TDC 3610, QIC-24"}, \ {MT_ISARCHIVE_VP60I, "Archive VP60i, QIC-02"}, \ {MT_ISARCHIVE_2150L, "Archive Viper 2150L"}, \ {MT_ISARCHIVE_2060L, "Archive Viper 2060L"}, \ {MT_ISARCHIVESC499, "Archive SC-499 QIC-36 controller"}, \ {MT_ISQIC02_ALL_FEATURES, "Generic QIC-02 tape, all features"}, \ {MT_ISWT5099EEN24, "Wangtek 5099-een24, 60MB"}, \ {MT_ISTEAC_MT2ST, "Teac MT-2ST 155mb data cassette drive"}, \ {MT_ISEVEREX_FT40A, "Everex FT40A, QIC-40"}, \ {MT_ISSCSI1, "Generic SCSI-1 tape"}, \ {MT_ISSCSI2, "Generic SCSI-2 tape"}, \ {0, NULL} \ } /* */ #define _IOT_mtconfiginfo /* Hurd ioctl type field. */ \ _IOT (_IOTS (long), 2, _IOTS (short), 3, _IOTS (long), 1) /* XXX wrong */ /* */ /* The next two fields are not always used. */ __daddr_t mt_fileno; /* Number of current file on tape. */ __daddr_t mt_blkno; /* Current block number. */ }; #define _IOT_mtget /* Hurd ioctl type field. */ \ _IOT (_IOTS (long), 7, 0, 0, 0, 0) /* */ /* Structure for MTIOCTOP - magnetic tape operation command. */ struct mtop { short mt_op; /* Operations defined below. */ int mt_count; /* How many of them. */ }; #define _IOT_mtop /* Hurd ioctl type field. */ \ _IOT (_IOTS (short), 1, _IOTS (int), 1, 0, 0) /* */ struct mtpos { long mt_blkno; /* Current block number. */ }; #define _IOT_mtpos /* Hurd ioctl type field. */ \ _IOT_SIMPLE (long) /* */ #define _SYS_MTIO_H 1 /* */ Teac DC-1 card (Wangtek type). */ /* */ /* Structure for MTIOCGETCONFIG/MTIOCSETCONFIG primarily intended as an interim solution for QIC-02 until DDI is fully implemented. */ struct mtconfiginfo { long mt_type; /* Drive type. */ long ifc_type; /* Interface card type. */ unsigned short irqnr; /* IRQ number to use. */ unsigned short dmanr; /* DMA channel to use. */ unsigned short port; /* IO port base address. */ /* */ struct mtget { long mt_type; /* Type of magtape device. */ long mt_resid; /* Residual count: (not sure) number of bytes ignored, or number of files not skipped, or number of records not skipped. */ /* */ /* Structure for MTIOCTOP - magnetic tape operation command. */ struct mtop { short mt_op; /* Operations defined below. */ int mt_count; /* How many of them. */ }; #define _IOT_mtop /* Hurd ioctl type field. */ \ _IOT (_IOTS (short), 1, _IOTS (int), 1, 0, 0) /* */ struct mtpos { long mt_blkno; /* Current block number. */ }; #define _IOT_mtpos /* Hurd ioctl type field. */ \ _IOT_SIMPLE (long) /* ==================================== */ /* */ #define CANBSIZ MAX_CANON /* */ /* Unit of `st_blocks'. */ #define DEV_BSIZE 512 /* */ #define MAX(a,b) (((a)>(b))?(a):(b)) /* */ #define MAXPATHLEN PATH_MAX /* */ #define MAXSYMLINKS 20 /* */ /* Macros for min/max. */ #define MIN(a,b) (((a)<(b))?(a):(b)) /* */ #define NBBY CHAR_BIT /* */ #define NCARGS ARG_MAX /* */ # define NGROUPS NGROUPS_MAX /* */ /* The following is not really correct but it is a value we used for a long time and which seems to be usable. People should not use NOFILE anyway. */ #define NOFILE 256 /* */ #define _SYS_PARAM_H 1 /* */ #define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) /* */ # define howmany(x, y) (((x)+((y)-1))/(y)) /* */ #define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0) /* */ #define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY))) /* */ #define powerof2(x) ((((x)-1)&(x))==0) /* */ #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) /* */ /* Bit map related macros. */ #define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) /* ==================================== */ /* */ #define _SYS_PCI_H 1 /* ==================================== */ /* */ #define _SYS_PERM_H 1 /* ==================================== */ /* */ #define _SYS_POLL_H 1 /* */ /* Type used for the number of file descriptors. */ typedef unsigned long nfds_t; /* */ /* Data structure describing a polling request. */ struct pollfd { int fd; /* File descriptor to poll. */ short events; /* Types of events poller cares about. */ short revents; /* Types of events that actually occurred. */ }; /* ==================================== */ /* */ #define _SYS_PRCTL_H 1 /* ==================================== */ /* */ /* And the whole bunch of them. We could have used `struct user_regs_struct' directly in the typedef, but tradition says that the register set is an array, which does have some peculiar semantics, so leave it that way. */ #define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t)) typedef elf_greg_t elf_gregset_t[ELF_NGREG]; /* */ #define ELF_PRARGSZ (80) /* Number of chars for args. */ /* */ #define _SYS_PROCFS_H 1 /* */ /* Register set for the floating-point registers. */ typedef struct user_fpregs_struct elf_fpregset_t; /* */ /* Register set for the extended floating-point registers. Includes the Pentium III SSE registers in addition to the classic floating-point stuff. */ typedef struct user_fpxregs_struct elf_fpxregset_t; /* */ /* Type for a general-purpose register. */ typedef unsigned long elf_greg_t; /* */ typedef elf_greg_t elf_gregset_t[ELF_NGREG]; /* */ struct elf_prpsinfo { char pr_state; /* Numeric process state. */ char pr_sname; /* Char for pr_state. */ char pr_zomb; /* Zombie. */ char pr_nice; /* Nice val. */ unsigned long pr_flag; /* Flags. */ unsigned short pr_uid; unsigned short pr_gid; int pr_pid, pr_ppid, pr_pgrp, pr_sid; /* */ struct elf_prstatus { struct elf_siginfo pr_info; /* Info associated with signal. */ short pr_cursig; /* Current signal. */ unsigned long pr_sigpend; /* Set of pending signals. */ unsigned long pr_sighold; /* Set of held signals. */ __pid_t pr_pid; __pid_t pr_ppid; __pid_t pr_pgrp; __pid_t pr_sid; struct timeval pr_utime; /* User time. */ struct timeval pr_stime; /* System time. */ struct timeval pr_cutime; /* Cumulative user time. */ struct timeval pr_cstime; /* Cumulative system time. */ elf_gregset_t pr_reg; /* GP registers. */ int pr_fpvalid; /* True if math copro being used. */ }; /* */ /* Signal info. */ struct elf_siginfo { int si_signo; /* Signal number. */ int si_code; /* Extra code. */ int si_errno; /* Errno. */ }; /* */ /* We don't have any differences between processes and threads, therefore have only one PID type. */ typedef __pid_t lwpid_t; /* */ typedef elf_fpregset_t prfpregset_t; /* */ /* Register sets. Linux has different names. */ typedef elf_gregset_t prgregset_t; /* */ typedef struct elf_prpsinfo prpsinfo_t; /* */ /* Process status and info. In the end we do provide typedefs for them. */ typedef struct elf_prstatus prstatus_t; /* */ /* Addresses. */ typedef void *psaddr_t; /* ==================================== */ /* */ #define _PROFIL_H 1 /* */ struct prof { void *pr_base; /* buffer base */ size_t pr_size; /* buffer size */ size_t pr_off; /* pc offset */ unsigned long pr_scale; /* pc scaling (fixed-point number) */ }; /* ==================================== */ /* */ /* Attach to a process that is already running. */ PTRACE_ATTACH = 16, #define PT_ATTACH PTRACE_ATTACH /* */ /* Continue the process. */ PTRACE_CONT = 7, #define PT_CONTINUE PTRACE_CONT /* */ /* Detach from a process attached to with PTRACE_ATTACH. */ PTRACE_DETACH = 17, #define PT_DETACH PTRACE_DETACH /* */ /* Get all floating point registers used by a processes. This is not supported on all machines. */ PTRACE_GETFPREGS = 14, #define PT_GETFPREGS PTRACE_GETFPREGS /* */ /* Get all extended floating point registers used by a processes. This is not supported on all machines. */ PTRACE_GETFPXREGS = 18, #define PT_GETFPXREGS PTRACE_GETFPXREGS /* */ /* Get all general purpose registers used by a processes. This is not supported on all machines. */ PTRACE_GETREGS = 12, #define PT_GETREGS PTRACE_GETREGS /* */ /* Kill the process. */ PTRACE_KILL = 8, #define PT_KILL PTRACE_KILL /* */ /* Return the word in the process's data space at address ADDR. */ PTRACE_PEEKDATA = 2, #define PT_READ_D PTRACE_PEEKDATA /* */ /* Return the word in the process's text space at address ADDR. */ PTRACE_PEEKTEXT = 1, #define PT_READ_I PTRACE_PEEKTEXT /* */ /* Return the word in the process's user area at offset ADDR. */ PTRACE_PEEKUSER = 3, #define PT_READ_U PTRACE_PEEKUSER /* */ /* Set all floating point registers used by a processes. This is not supported on all machines. */ PTRACE_SETFPREGS = 15, #define PT_SETFPREGS PTRACE_SETFPREGS /* */ /* Set all extended floating point registers used by a processes. This is not supported on all machines. */ PTRACE_SETFPXREGS = 19, #define PT_SETFPXREGS PTRACE_SETFPXREGS /* */ /* Set all general purpose registers used by a processes. This is not supported on all machines. */ PTRACE_SETREGS = 13, #define PT_SETREGS PTRACE_SETREGS /* */ /* Single step the process. This is not supported on all machines. */ PTRACE_SINGLESTEP = 9, #define PT_STEP PTRACE_SINGLESTEP /* */ /* Continue and stop at the next (return from) syscall. */ PTRACE_SYSCALL = 24 #define PT_SYSCALL PTRACE_SYSCALL /* */ /* Type of the REQUEST argument to `ptrace.' */ /* Indicate that the process making this request should be traced. All signals received by this process can be intercepted by its parent, and its parent can use the other `ptrace' requests. */ PTRACE_TRACEME = 0, #define PT_TRACE_ME PTRACE_TRACEME /* */ /* Write the word DATA into the process's data space at address ADDR. */ PTRACE_POKEDATA = 5, #define PT_WRITE_D PTRACE_POKEDATA /* */ /* Write the word DATA into the process's text space at address ADDR. */ PTRACE_POKETEXT = 4, #define PT_WRITE_I PTRACE_POKETEXT /* */ /* Write the word DATA into the process's user area at offset ADDR. */ PTRACE_POKEUSER = 6, #define PT_WRITE_U PTRACE_POKEUSER /* */ #define _SYS_PTRACE_H 1 /* */ /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request /* ==================================== */ /* */ #define GRPQUOTA 1 /* element used for group quotas */ /* */ /* * Definitions for the default names of the quotas files. */ #define INITQFNAMES { \ "user", /* USRQUOTA */ \ "group", /* GRPQUOTA */ \ "undefined", \ }; /* */ #define MAXQUOTAS 2 /* */ #define MAX_DQ_TIME 604800 /* (7*24*60*60) 1 week */ /* */ /* * Definitions for disk quotas imposed on the average user * (big brother finally hits Linux). * * The following constants define the amount of time given a user * before the soft limits are treated as hard limits (usually resulting * in an allocation failure). The timer is started when the user crosses * their soft limit, it is reset when they go below their soft limit. */ #define MAX_IQ_TIME 604800 /* (7*24*60*60) 1 week */ /* */ #define NR_DQHASH 43 /* Just an arbitrary number any suggestions ? */ /* */ #define NR_DQUOTS 256 /* Number of quotas active at one time */ /* */ #define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) /* */ #define QUOTAFILENAME "quota" /* */ #define QUOTAGROUP "staff" /* */ #define Q_GETQUOTA 0x0300 /* get limits and usage */ /* */ #define Q_GETSTATS 0x0800 /* get collected stats */ /* */ #define Q_QUOTAOFF 0x0200 /* disable quotas */ /* */ #define Q_QUOTAON 0x0100 /* enable quotas */ /* */ #define Q_RSQUASH 0x1000 /* set root_squash option */ /* */ #define Q_SETQLIM 0x0700 /* set limits */ /* */ #define Q_SETQUOTA 0x0400 /* set limits and usage */ /* */ #define Q_SETUSE 0x0500 /* set usage */ /* */ #define Q_SYNC 0x0600 /* sync disk copy of a filesystems quotas */ /* */ /* * Command definitions for the 'quotactl' system call. * The commands are broken into a main command defined below * and a subcommand that is used to convey the type of * quota that is being manipulated (see above). */ #define SUBCMDMASK 0x00ff /* */ #define SUBCMDSHIFT 8 /* */ #define USRQUOTA 0 /* element used for user quotas */ /* */ #define _SYS_QUOTA_H 1 /* */ #define btodb(num) ((num) >> 10) /* */ /* * Convert diskblocks to blocks and the other way around. * currently only to fool the BSD source. :-) */ #define dbtob(num) ((num) << 10) /* */ /* * Shorthand notation. */ #define dq_bhardlimit dq_dqb.dqb_bhardlimit /* */ #define dq_bsoftlimit dq_dqb.dqb_bsoftlimit /* */ #define dq_btime dq_dqb.dqb_btime /* */ #define dq_curblocks dq_dqb.dqb_curblocks /* */ #define dq_curinodes dq_dqb.dqb_curinodes /* */ #define dq_ihardlimit dq_dqb.dqb_ihardlimit /* */ #define dq_isoftlimit dq_dqb.dqb_isoftlimit /* */ #define dq_itime dq_dqb.dqb_itime /* */ /* * The following structure defines the format of the disk quota file * (as it appears on disk) - the file is an array of these structures * indexed by user or group number. */ struct dqblk { u_int32_t dqb_bhardlimit; /* absolute limit on disk blks alloc */ u_int32_t dqb_bsoftlimit; /* preferred limit on disk blks */ u_int32_t dqb_curblocks; /* current block count */ u_int32_t dqb_ihardlimit; /* maximum # allocated inodes */ u_int32_t dqb_isoftlimit; /* preferred inode limit */ u_int32_t dqb_curinodes; /* current # allocated inodes */ time_t dqb_btime; /* time limit for excessive disk use */ time_t dqb_itime; /* time limit for excessive files */ }; /* */ #define dqoff(UID) ((loff_t)((UID) * sizeof (struct dqblk))) /* */ struct dqstats { u_int32_t lookups; u_int32_t drops; u_int32_t reads; u_int32_t writes; u_int32_t cache_hits; u_int32_t pages_allocated; u_int32_t allocated_dquots; u_int32_t free_dquots; u_int32_t syncs; }; /* */ /* * Convert count of filesystem blocks to diskquota blocks, meant * for filesystems where i_blksize != BLOCK_SIZE */ #define fs_to_dq_blocks(num, blksize) (((num) * (blksize)) / BLOCK_SIZE) /* ==================================== */ /* */ #define RAW_GETBIND _IO(0xac, 1) /* */ /* The major device number for raw devices. */ #define RAW_MAJOR 162 /* */ /* `ioctl' commands for raw devices. */ #define RAW_SETBIND _IO(0xac, 0) /* */ #define _SYS_RAW_H 1 /* */ struct raw_config_request int raw_minor; uint64_t block_major; uint64_t block_minor; }; /* ==================================== */ /* */ /* Perform a hard reset now. */ #define RB_AUTOBOOT 0x01234567 /* */ /* Disable reboot using Ctrl-Alt-Delete keystroke. */ #define RB_DISABLE_CAD 0 /* */ /* Enable reboot using Ctrl-Alt-Delete keystroke. */ #define RB_ENABLE_CAD 0x89abcdef /* */ /* Halt the system. */ #define RB_HALT_SYSTEM 0xcdef0123 /* */ /* Stop system and switch power off if possible. */ #define RB_POWER_OFF 0x4321fedc /* */ #define _SYS_REBOOT_H 1 /* ==================================== */ /* */ #define CS 13 /* */ #define DS 7 /* */ #define EAX 6 /* */ #define EBP 5 /* */ #define EBX 0 /* */ #define ECX 1 /* */ #define EDI 4 /* */ #define EDX 2 /* */ #define EFL 14 /* */ #define EIP 12 /* */ #define ES 8 /* */ #define ESI 3 /* */ #define FS 9 /* */ #define GS 10 /* */ #define ORIG_EAX 11 /* */ #define SS 16 /* */ #define UESP 15 /* */ #define _SYS_REG_H 1 /* ==================================== */ /* */ #define _SYS_RESOURCE_H 1 /* */ # define __id_t_defined /* */ typedef enum __priority_which __priority_which_t; /* */ typedef int __priority_which_t; /* */ typedef enum __rlimit_resource __rlimit_resource_t; /* */ typedef int __rlimit_resource_t; /* */ typedef enum __rusage_who __rusage_who_t; /* */ typedef int __rusage_who_t; /* */ # define getrlimit getrlimit64 /* */ typedef __id_t id_t; /* */ # define setrlimit setrlimit64 /* ==================================== */ /* */ #define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp) /* */ #define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp) /* */ /* Access macros for `fd_set'. */ #define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp) /* */ /* Maximum number of file descriptors in `fd_set'. */ #define FD_SETSIZE __FD_SETSIZE /* */ #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) /* */ /* Number of bits per word of `fd_set' (some code assumes this is 32). */ # define NFDBITS __NFDBITS /* */ #define _SYS_SELECT_H 1 /* */ #define __FDELT(d) ((d) / __NFDBITS) /* */ #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS)) /* */ # define __FDS_BITS(set) ((set)->fds_bits) /* */ # define __FDS_BITS(set) ((set)->__fds_bits) /* */ /* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ #define __NFDBITS (8 * sizeof (__fd_mask)) /* */ } fd_set; /* */ } fd_set; /* */ /* The fd_set member is required to be an array of longs. */ typedef long __fd_mask; /* */ /* Get definition of timer specification structures. */ #define __need_timespec /* */ #define __need_timeval /* */ # define __sigset_t_defined /* */ /* Sometimes the fd_set member is assumed to have this type. */ typedef __fd_mask fd_mask; /* */ } fd_set; /* */ typedef __sigset_t sigset_t; /* ==================================== */ /* */ #define _SYS_SEM_H 1 /* */ #define __need_size_t /* */ /* Structure used for argument to `semop' to describe operations. */ struct sembuf unsigned short sem_num; /* semaphore number */ short sem_op; /* semaphore operation */ short sem_flg; /* operation flag */ }; /* ==================================== */ /* */ #define _SYS_SENDFILE_H 1 /* ==================================== */ /* */ /* Segment low boundary address multiple. */ #define SHMLBA (__getpagesize ()) /* */ int __getpagesize (void) { } /* */ #define _SYS_SHM_H 1 /* */ #define __need_size_t /* */ /* Define types required by the standard. */ #define __need_time_t /* */ # define __pid_t_defined /* */ typedef __pid_t pid_t; /* ==================================== */ /* ==================================== */ /* */ /* The following constants should be used for the second parameter of `shutdown'. */ enum SHUT_RD = 0, /* No more receptions. */ #define SHUT_RD SHUT_RD /* */ SHUT_RDWR /* No more receptions or transmissions. */ #define SHUT_RDWR SHUT_RDWR /* */ SHUT_WR, /* No more transmissions. */ #define SHUT_WR SHUT_WR /* */ #define _SYS_SOCKET_H 1 /* */ # define __CONST_SOCKADDR_ARG __const struct sockaddr * /* */ # define __SOCKADDR_ALLTYPES ... /* */ # define __SOCKADDR_ARG struct sockaddr *__restrict /* */ # define __SOCKADDR_ONETYPE(type) struct type *__restrict __##type##__; /* */ # define __SOCKADDR_ONETYPE(type) __const struct type *__restrict __##type##__; /* */ typedef union { __SOCKADDR_ALLTYPES } __SOCKADDR_ARG ; /* */ typedef union { __SOCKADDR_ALLTYPES } __CONST_SOCKADDR_ARG ; /* */ #define __need_size_t /* */ /* This is the 4.3 BSD `struct sockaddr' format, which is used as wire format in the grotty old 4.3 `talk' protocol. */ struct osockaddr { unsigned short sa_family; unsigned char sa_data[14]; }; #endif /* ==================================== */ /* ==================================== */ /* ==================================== */ /* */ #define _SYS_STATFS_H 1 /* */ # define fstatfs fstatfs64 /* */ # define statfs statfs64 /* ==================================== */ /* */ /* Macros for common mode bit masks. */ # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ /* */ # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ /* */ # define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ /* */ # define S_BLKSIZE 512 /* Block size for `st_blocks'. */ /* */ # define S_IEXEC S_IXUSR /* */ # define S_IFBLK __S_IFBLK /* */ # define S_IFCHR __S_IFCHR /* */ # define S_IFDIR __S_IFDIR /* */ # define S_IFIFO __S_IFIFO /* */ # define S_IFLNK __S_IFLNK /* */ # define S_IFMT __S_IFMT /* */ # define S_IFREG __S_IFREG /* */ # define S_IFSOCK __S_IFSOCK /* */ # define S_IREAD S_IRUSR /* */ #define S_IRGRP (S_IRUSR >> 3) /* Read by group. */ /* */ #define S_IROTH (S_IRGRP >> 3) /* Read by others. */ /* */ #define S_IRUSR __S_IREAD /* Read by owner. */ /* */ /* Read, write, and execute by group. */ #define S_IRWXG (S_IRWXU >> 3) /* */ /* Read, write, and execute by others. */ #define S_IRWXO (S_IRWXG >> 3) /* */ /* Read, write, and execute by owner. */ #define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) /* */ #define S_ISBLK(mode) __S_ISTYPE((mode), __S_IFBLK) /* */ #define S_ISCHR(mode) __S_ISTYPE((mode), __S_IFCHR) /* */ #define S_ISDIR(mode) __S_ISTYPE((mode), __S_IFDIR) /* */ # define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO) /* */ #define S_ISGID __S_ISGID /* Set group ID on execution. */ /* */ # define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK) /* */ # define S_ISLNK(mode) 0 /* */ #define S_ISREG(mode) __S_ISTYPE((mode), __S_IFREG) /* */ # define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK) /* */ #define S_ISUID __S_ISUID /* Set user ID on execution. */ /* */ /* Save swapped text after use (sticky bit). This is pretty well obsolete. */ # define S_ISVTX __S_ISVTX /* */ #define S_IWGRP (S_IWUSR >> 3) /* Write by group. */ /* */ #define S_IWOTH (S_IWGRP >> 3) /* Write by others. */ /* */ # define S_IWRITE S_IWUSR /* */ #define S_IWUSR __S_IWRITE /* Write by owner. */ /* */ #define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */ /* Read, write, and execute by group. */ /* */ #define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */ /* Read, write, and execute by others. */ /* */ #define S_IXUSR __S_IEXEC /* Execute by owner. */ /* */ # define S_TYPEISMQ(buf) __S_TYPEISMQ(buf) /* */ # define S_TYPEISSEM(buf) __S_TYPEISSEM(buf) /* */ # define S_TYPEISSHM(buf) __S_TYPEISSHM(buf) /* */ # define _MKNOD_VER 0 /* */ # define _STAT_VER 0 /* */ #define _SYS_STAT_H 1 /* */ #define __S_ISTYPE(mode, mask) (((mode) & __S_IFMT) == (mask)) /* */ # define __blkcnt_t_defined /* */ # define __blksize_t_defined /* */ # define __dev_t_defined /* */ # define __fxstat __fxstat64 /* */ # define __gid_t_defined /* */ # define __ino_t_defined /* */ # define __lxstat __lxstat64 /* */ # define __mode_t_defined /* */ # define __need_time_t /* */ # define __nlink_t_defined /* */ # define __off_t_defined /* */ # define __uid_t_defined /* */ # define __xstat __xstat64 /* */ typedef __blkcnt_t blkcnt_t; /* */ typedef __blkcnt64_t blkcnt_t; /* */ typedef __blksize_t blksize_t; /* */ typedef __dev_t dev_t; /* */ __inline__ int fstat (int __fd, struct stat *__statbuf) { } /* */ # define fstat fstat64 /* */ __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) { } /* */ typedef __gid_t gid_t; /* */ typedef __ino_t ino_t; /* */ typedef __ino64_t ino_t; /* */ __inline__ int lstat (__const char *__path, struct stat *__statbuf) { } /* */ # define lstat lstat64 /* */ __inline__ int lstat64 (__const char *__path, struct stat64 *__statbuf) { } /* */ __inline__ int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) { } /* */ typedef __mode_t mode_t; /* */ typedef __nlink_t nlink_t; /* */ typedef __off_t off_t; /* */ typedef __off64_t off_t; /* */ /* Get file attributes for FILE and put them in BUF. */ int stat (__const char *__restrict __file, struct stat *__restrict __buf) { } /* */ # define stat stat64 /* */ typedef __uid_t uid_t; /* ==================================== */ /* */ #define _SYS_STATVFS_H 1 /* */ # define __fsblkcnt_t_defined /* */ # define __fsblkcnt_t_defined /* */ # define __fsfilcnt_t_defined /* */ # define __fsfilcnt_t_defined /* */ typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ /* */ typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ /* */ typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ /* */ typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ /* */ # define fstatvfs fstatvfs64 /* */ # define statvfs statvfs64 /* ==================================== */ /* ==================================== */ /* */ /* The swap priority is encoded as: (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK */ #define SWAP_FLAG_PREFER 0x8000 /* Set if swap priority is specified. */ /* */ #define SWAP_FLAG_PRIO_MASK 0x7fff /* */ #define SWAP_FLAG_PRIO_SHIFT 0 /* */ #define _SYS_SWAP_H 1 /* ==================================== */ /* */ #define _SYSCALL_H 1 /* ==================================== */ /* */ #define _SYS_SYSCTL_H 1 /* */ #define __need_size_t /* ==================================== */ /* */ #define _SYS_SYSINFO_H 1 /* ==================================== */ /* */ typedef struct _code { char *c_name; int c_val; } CODE; /* */ /* mark "facility" */ #define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES, 0) typedef struct _code { char *c_name; int c_val; } CODE; /* */ #define INTERNAL_NOPRI 0x10 /* the "no priority" priority */ /* */ #define LOG_ALERT 1 /* action must be taken immediately */ /* */ #define LOG_AUTH (4<<3) /* security/authorization messages */ /* */ #define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */ /* */ #define LOG_CONS 0x02 /* log on the console if errors in sending */ /* */ #define LOG_CRIT 2 /* critical conditions */ /* */ #define LOG_CRON (9<<3) /* clock daemon */ /* */ #define LOG_DAEMON (3<<3) /* system daemons */ /* */ #define LOG_DEBUG 7 /* debug-level messages */ /* */ /* * priorities/facilities are encoded into a single 32-bit quantity, where the * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility * (0-big number). Both the priorities and the facilities map roughly * one-to-one to strings in the syslogd(8) source code. This mapping is * included in this file. * * priorities (these are ordered) */ #define LOG_EMERG 0 /* system is unusable */ /* */ #define LOG_ERR 3 /* error conditions */ /* */ /* facility of pri */ #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) /* */ #define LOG_FACMASK 0x03f8 /* mask to extract facility part */ /* */ #define LOG_FTP (11<<3) /* ftp daemon */ /* */ #define LOG_INFO 6 /* informational */ /* */ /* facility codes */ #define LOG_KERN (0<<3) /* kernel messages */ /* */ /* other codes through 15 reserved for system use */ #define LOG_LOCAL0 (16<<3) /* reserved for local use */ /* */ #define LOG_LOCAL1 (17<<3) /* reserved for local use */ /* */ #define LOG_LOCAL2 (18<<3) /* reserved for local use */ /* */ #define LOG_LOCAL3 (19<<3) /* reserved for local use */ /* */ #define LOG_LOCAL4 (20<<3) /* reserved for local use */ /* */ #define LOG_LOCAL5 (21<<3) /* reserved for local use */ /* */ #define LOG_LOCAL6 (22<<3) /* reserved for local use */ /* */ #define LOG_LOCAL7 (23<<3) /* reserved for local use */ /* */ #define LOG_LPR (6<<3) /* line printer subsystem */ /* */ #define LOG_MAIL (2<<3) /* mail system */ /* */ #define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri)) /* */ /* * arguments to setlogmask. */ #define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */ /* */ #define LOG_NDELAY 0x08 /* don't delay open */ /* */ #define LOG_NEWS (7<<3) /* network news subsystem */ /* */ #define LOG_NFACILITIES 24 /* current number of facilities */ /* */ #define LOG_NOTICE 5 /* normal but significant condition */ /* */ #define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */ /* */ #define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */ /* */ #define LOG_PERROR 0x20 /* log to stderr as well */ /* */ /* * Option flags for openlog. * * LOG_ODELAY no longer does anything. * LOG_NDELAY is the inverse of what it used to be. */ #define LOG_PID 0x01 /* log the pid with each message */ /* */ /* extract priority */ #define LOG_PRI(p) ((p) & LOG_PRIMASK) /* */ #define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */ /* extract priority */ /* */ #define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */ /* */ #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */ /* */ #define LOG_USER (1<<3) /* random user-level messages */ /* */ #define LOG_UUCP (8<<3) /* UUCP subsystem */ /* */ #define LOG_WARNING 4 /* warning conditions */ /* */ #define _PATH_LOG "/dev/log" /* */ #define _SYS_SYSLOG_H 1 /* */ #define __need___va_list /* */ typedef struct _code { char *c_name; int c_val; } CODE; /* */ typedef struct _code { char *c_name; int c_val; } CODE; /* */ typedef struct _code { char *c_name; int c_val; } CODE; /* */ CODE facilitynames[] = { { "auth", LOG_AUTH }, { "authpriv", LOG_AUTHPRIV }, { "cron", LOG_CRON }, { "daemon", LOG_DAEMON }, { "ftp", LOG_FTP }, { "kern", LOG_KERN }, { "lpr", LOG_LPR }, { "mail", LOG_MAIL }, { "mark", INTERNAL_MARK }, /* INTERNAL */ { "news", LOG_NEWS }, { "security", LOG_AUTH }, /* DEPRECATED */ { "syslog", LOG_SYSLOG }, { "user", LOG_USER }, { "uucp", LOG_UUCP }, { "local0", LOG_LOCAL0 }, { "local1", LOG_LOCAL1 }, { "local2", LOG_LOCAL2 }, { "local3", LOG_LOCAL3 }, { "local4", LOG_LOCAL4 }, { "local5", LOG_LOCAL5 }, { "local6", LOG_LOCAL6 }, { "local7", LOG_LOCAL7 }, { NULL, -1 } }; #endif /* */ CODE prioritynames[] = { { "alert", LOG_ALERT }, { "crit", LOG_CRIT }, { "debug", LOG_DEBUG }, { "emerg", LOG_EMERG }, { "err", LOG_ERR }, { "error", LOG_ERR }, /* DEPRECATED */ { "info", LOG_INFO }, { "none", INTERNAL_NOPRI }, /* INTERNAL */ { "notice", LOG_NOTICE }, { "panic", LOG_EMERG }, /* DEPRECATED */ { "warn", LOG_WARNING }, /* DEPRECATED */ { "warning", LOG_WARNING }, { NULL, -1 } }; #endif /* ==================================== */ /* */ #define _SYS_SYSMACROS_H 1 /* */ # define major(dev) ((int)(((dev) >> 8) & 0xff)) /* */ # define major(dev) (((dev).__val[1] >> 8) & 0xff) /* */ # define major(dev) (((dev).__val[0] >> 8) & 0xff) /* */ # define makedev(major, minor) ((((unsigned int) (major)) << 8) \ | ((unsigned int) (minor))) /* */ # define makedev(major, minor) { 0, ((((unsigned int) (major)) << 8) \ | ((unsigned int) (minor))) } /* */ # define makedev(major, minor) { ((((unsigned int) (major)) << 8) \ | ((unsigned int) (minor))), 0 } /* */ # define minor(dev) ((int)((dev) & 0xff)) # define makedev(major, minor) ((((unsigned int) (major)) << 8) \ | ((unsigned int) (minor))) /* */ # define minor(dev) ((dev).__val[1] & 0xff) # define makedev(major, minor) { 0, ((((unsigned int) (major)) << 8) \ | ((unsigned int) (minor))) } /* */ # define minor(dev) ((dev).__val[0] & 0xff) # define makedev(major, minor) { ((((unsigned int) (major)) << 8) \ | ((unsigned int) (minor))), 0 } /* ==================================== */ /* */ #define _SYS_TERMIOS_H /* ==================================== */ /* */ #define _SYS_TIMEB_H 1 /* */ #define __need_time_t /* */ int ftime (struct timeb *__timebuf) { } /* */ struct timeb { time_t time; /* Seconds since epoch, as from `time'. */ unsigned short millitm; /* Additional milliseconds. */ short timezone; /* Minutes west of GMT. */ short dstflag; /* Nonzero if Daylight Savings Time used. */ }; /* ==================================== */ /* */ /* Timers run when the process is executing and when the system is executing on behalf of the process. */ ITIMER_PROF = 2 #define ITIMER_PROF ITIMER_PROF /* */ /* Values for the first argument to `getitimer' and `setitimer'. */ /* Timers run in real time. */ ITIMER_REAL = 0, #define ITIMER_REAL ITIMER_REAL /* */ /* Timers run only when the process is executing. */ ITIMER_VIRTUAL = 1, #define ITIMER_VIRTUAL ITIMER_VIRTUAL /* */ /* Macros for converting between `struct timeval' and `struct timespec'. */ # define TIMEVAL_TO_TIMESPEC(tv, ts) /* */ /* Macros for converting between `struct timeval' and `struct timespec'. */ # define TIMESPEC_TO_TIMEVAL(tv, ts) /* */ #define _SYS_TIME_H 1 /* */ /* Use the nicer parameter type only in GNU mode and not for C++ since the strict C++ rules prevent the automatic promotion. */ typedef enum __itimer_which __itimer_which_t; /* */ typedef int __itimer_which_t; /* */ #define __need_time_t /* */ #define __need_timeval /* */ # define __suseconds_t_defined /* */ typedef struct timezone *__restrict __timezone_ptr_t; /* */ typedef void *__restrict __timezone_ptr_t; /* */ /* Get the current time of day and timezone information, putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled. Returns 0 on success, -1 on errors. NOTE: This form of timezone information is obsolete. Use the functions and variables declared in instead. */ int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) { } /* */ /* Type of the second argument to `getitimer' and the second and third arguments `setitimer'. */ struct itimerval { /* */ typedef __suseconds_t suseconds_t; /* */ # define timercmp(a, b, CMP) \ (((a)->tv_sec == (b)->tv_sec) ? \ ((a)->tv_usec CMP (b)->tv_usec) : \ ((a)->tv_sec CMP (b)->tv_sec)) # define timersub(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ if ((result)->tv_usec < 0) { \ --(result)->tv_sec; \ (result)->tv_usec += 1000000; \ } \ } while (0) /* */ # define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) # define timercmp(a, b, CMP) \ (((a)->tv_sec == (b)->tv_sec) ? \ ((a)->tv_usec CMP (b)->tv_usec) : \ ((a)->tv_sec CMP (b)->tv_sec)) # define timeradd(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \ if ((result)->tv_usec >= 1000000) \ { \ ++(result)->tv_sec; \ (result)->tv_usec -= 1000000; \ } \ } while (0) # define timersub(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ if ((result)->tv_usec < 0) { \ --(result)->tv_sec; \ (result)->tv_usec += 1000000; \ } \ } while (0) /* */ # define timercmp(a, b, CMP) \ (((a)->tv_sec == (b)->tv_sec) ? \ ((a)->tv_usec CMP (b)->tv_usec) : \ ((a)->tv_sec CMP (b)->tv_sec)) # define timeradd(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \ if ((result)->tv_usec >= 1000000) \ { \ ++(result)->tv_sec; \ (result)->tv_usec -= 1000000; \ } \ } while (0) # define timersub(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ if ((result)->tv_usec < 0) { \ --(result)->tv_sec; \ (result)->tv_usec += 1000000; \ } \ } while (0) /* */ /* Convenience macros for operations on timevals. NOTE: `timercmp' does not work for >= or <=. */ # define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) /* */ # define timercmp(a, b, CMP) \ (((a)->tv_sec == (b)->tv_sec) ? \ ((a)->tv_usec CMP (b)->tv_usec) : \ ((a)->tv_sec CMP (b)->tv_sec)) # define timeradd(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \ if ((result)->tv_usec >= 1000000) \ { \ ++(result)->tv_sec; \ (result)->tv_usec -= 1000000; \ } \ } while (0) # define timersub(a, b, result) \ do { \ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ if ((result)->tv_usec < 0) { \ --(result)->tv_sec; \ (result)->tv_usec += 1000000; \ } \ } while (0) /* */ /* Structure crudely representing a timezone. This is obsolete and should never be used. */ struct timezone { int tz_minuteswest; /* Minutes west of GMT. */ int tz_dsttime; /* Nonzero if DST is ever in effect. */ }; /* ==================================== */ /* */ #define _SYS_TIMES_H 1 /* */ #define __need_clock_t /* */ /* Structure describing CPU time used by a process and its children. */ struct tms { clock_t tms_utime; /* User CPU time. */ clock_t tms_stime; /* System CPU time. */ /* ==================================== */ /* */ #define ADJ_ESTERROR 0x0008 /* estimated time error */ /* */ #define ADJ_FREQUENCY 0x0002 /* frequency offset */ /* */ #define ADJ_MAXERROR 0x0004 /* maximum time error */ /* */ /* Mode codes (timex.mode) */ #define ADJ_OFFSET 0x0001 /* time offset */ /* */ #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ /* */ #define ADJ_STATUS 0x0010 /* clock status */ /* */ #define ADJ_TICK 0x4000 /* tick value */ /* */ #define ADJ_TIMECONST 0x0020 /* pll time constant */ /* */ /* Maximum time constant of the PLL. */ #define MAXTC 6 /* */ #define MOD_CLKA ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */ /* */ #define MOD_CLKB ADJ_TICK /* */ #define MOD_ESTERROR ADJ_ESTERROR /* */ #define MOD_FREQUENCY ADJ_FREQUENCY /* */ #define MOD_MAXERROR ADJ_MAXERROR /* */ /* xntp 3.4 compatibility names */ #define MOD_OFFSET ADJ_OFFSET /* */ #define MOD_STATUS ADJ_STATUS /* */ #define MOD_TIMECONST ADJ_TIMECONST /* */ #define STA_CLOCKERR 0x1000 /* clock hardware fault (ro) */ /* */ #define STA_DEL 0x0020 /* delete leap (rw) */ /* */ #define STA_FLL 0x0008 /* select frequency-lock mode (rw) */ /* */ #define STA_FREQHOLD 0x0080 /* hold frequency (rw) */ /* */ #define STA_INS 0x0010 /* insert leap (rw) */ /* */ /* Status codes (timex.status) */ #define STA_PLL 0x0001 /* enable PLL updates (rw) */ /* */ #define STA_PPSERROR 0x0800 /* PPS signal calibration error (ro) */ /* */ #define STA_PPSFREQ 0x0002 /* enable PPS freq discipline (rw) */ /* */ #define STA_PPSJITTER 0x0200 /* PPS signal jitter exceeded (ro) */ /* */ #define STA_PPSSIGNAL 0x0100 /* PPS signal present (ro) */ /* */ #define STA_PPSTIME 0x0004 /* enable PPS time discipline (rw) */ /* */ #define STA_PPSWANDER 0x0400 /* PPS signal wander exceeded (ro) */ /* Read-only bits */ #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR) /* */ #define STA_UNSYNC 0x0040 /* clock unsynchronized (rw) */ /* */ #define TIME_BAD TIME_ERROR /* bw compat */ /* */ #define TIME_DEL 2 /* delete leap second */ /* */ #define TIME_ERROR 5 /* clock not synchronized */ /* */ #define TIME_INS 1 /* insert leap second */ /* */ /* Clock states (time_state) */ #define TIME_OK 0 /* clock synchronized, no leap second */ /* */ #define TIME_OOP 3 /* leap second in progress */ /* */ #define TIME_WAIT 4 /* leap second has occurred */ /* */ #define _SYS_TIMEX_H 1 /* */ struct ntptimeval struct timeval time; /* current time (ro) */ long maxerror; /* maximum error (us) (ro) */ long esterror; /* estimated error (us) (ro) */ }; /* */ struct timex unsigned int modes; /* mode selector */ long offset; /* time offset (usec) */ long freq; /* frequency offset (scaled ppm) */ long maxerror; /* maximum error (usec) */ long esterror; /* estimated error (usec) */ int status; /* clock command/status */ long constant; /* pll time constant */ long precision; /* clock precision (usec) (read only) */ long tolerance; /* clock frequency tolerance (ppm) (read only) */ struct timeval time; /* (read only) */ long tick; /* (modified) usecs between clock ticks */ /* ==================================== */ /* */ #define _SYS_TTYCHARS_H 1 /* */ struct ttychars { char tc_erase; /* erase last character */ char tc_kill; /* erase entire line */ char tc_intrc; /* interrupt */ char tc_quitc; /* quit */ char tc_startc; /* start output */ char tc_stopc; /* stop output */ char tc_eofc; /* end-of-file */ char tc_brkc; /* input delimiter (like nl) */ char tc_suspc; /* stop process signal */ char tc_dsuspc; /* delayed stop process signal */ char tc_rprntc; /* reprint line */ char tc_flushc; /* flush output (toggles) */ char tc_werasc; /* word erase */ char tc_lnextc; /* literal next character */ }; /* ==================================== */ /* */ /* compat */ #define CBRK CEOL /* */ #define CDISCARD CTRL('o') /* */ #define CDSUSP CTRL('y') /* */ #define CEOF CTRL('d') /* */ # define CEOL _POSIX_VDISABLE /* */ # define CEOL '\0' /* XXX avoid _POSIX_VDISABLE */ /* */ #define CEOT CEOF /* */ #define CERASE 0177 /* */ #define CFLUSH CDISCARD /* */ #define CINTR CTRL('c') /* */ #define CKILL CTRL('u') /* */ #define CLNEXT CTRL('v') /* */ #define CMIN 1 /* */ #define CQUIT 034 /* FS, ^\ */ /* */ #define CREPRINT CTRL('r') /* */ #define CRPRNT CREPRINT /* */ #define CSTART CTRL('q') /* */ # define CSTATUS _POSIX_VDISABLE /* */ # define CSTATUS '\0' /* XXX avoid _POSIX_VDISABLE */ /* */ #define CSTOP CTRL('s') /* */ #define CSUSP CTRL('z') /* */ #define CTIME 0 /* */ /* * Control Character Defaults */ #define CTRL(x) (x&037) /* */ #define CWERASE CTRL('w') /* */ #define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) /* */ /* * Defaults on "first" open. */ #define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) /* */ #define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) /* */ #define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) /* */ #define TTYDEF_SPEED (B9600) /* */ #define _SYS_TTYDEFAULTS_H_ /* */ cc_t ttydefchars[NCCS] = { CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE }; /* ==================================== */ /* */ #define _SYS_TYPES_H 1 /* */ #define __BIT_TYPES_DEFINED__ 1 /* */ typedef int register_t ; /* */ # define __blkcnt_t_defined /* */ # define __blkcnt_t_defined /* */ # define __blksize_t_defined /* */ # define __daddr_t_defined /* */ # define __dev_t_defined /* */ # define __fsblkcnt_t_defined /* */ # define __fsblkcnt_t_defined /* */ # define __fsfilcnt_t_defined /* */ # define __fsfilcnt_t_defined /* */ # define __gid_t_defined /* */ # define __id_t_defined /* */ # define __ino64_t_defined /* */ # define __ino_t_defined /* */ # define __int8_t_defined /* */ # define __int8_t_defined /* */ /* For GCC 2.7 and later, we can use specific type-size attributes. */ # define __intN_t(N, MODE) \ typedef int int##N##_t # define __u_intN_t(N, MODE) \ typedef unsigned int u_int##N##_t /* */ __intN_t (8, __QI__) { } /* */ __intN_t (16, __HI__) { } /* */ __intN_t (32, __SI__) { } /* */ __intN_t (64, __DI__) { } /* */ # define __key_t_defined /* */ # define __mode_t_defined /* */ # define __need_clock_t /* */ #define __need_clockid_t /* */ #define __need_size_t /* */ #define __need_time_t /* */ #define __need_timer_t /* */ # define __nlink_t_defined /* */ # define __off64_t_defined /* */ # define __off_t_defined /* */ # define __pid_t_defined /* */ # define __ssize_t_defined /* */ # define __suseconds_t_defined /* */ # define __u_char_defined /* */ /* For GCC 2.7 and later, we can use specific type-size attributes. */ # define __intN_t(N, MODE) \ typedef int int##N##_t # define __u_intN_t(N, MODE) \ typedef unsigned int u_int##N##_t /* */ __u_intN_t (8, __QI__) /* */ __u_intN_t (16, __HI__) /* */ __u_intN_t (32, __SI__) /* */ __u_intN_t (64, __DI__) /* */ # define __uid_t_defined /* */ # define __useconds_t_defined /* */ typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */ /* */ typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ /* */ typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ /* */ typedef __blksize_t blksize_t; /* */ typedef __caddr_t caddr_t; /* */ typedef __daddr_t daddr_t; /* */ typedef __dev_t dev_t; /* */ typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */ /* */ typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ /* */ typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ /* */ typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */ /* */ typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ /* */ typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ /* */ typedef __fsid_t fsid_t; /* */ typedef __gid_t gid_t; /* */ typedef __id_t id_t; /* */ typedef __ino64_t ino64_t; /* */ typedef __ino_t ino_t; /* */ typedef __ino64_t ino_t; /* */ typedef short int16_t; /* */ typedef int int32_t; /* */ __extension__ typedef long long int64_t; /* */ typedef char int8_t; /* */ typedef __key_t key_t; /* */ typedef __loff_t loff_t; /* */ typedef __mode_t mode_t; /* */ typedef __nlink_t nlink_t; /* */ typedef __off64_t off64_t; /* */ typedef __off_t off_t; /* */ typedef __off64_t off_t; /* */ typedef __pid_t pid_t; /* */ typedef __quad_t quad_t; /* */ typedef int register_t; /* */ typedef __ssize_t ssize_t; /* */ typedef __suseconds_t suseconds_t; /* */ typedef __u_char u_char; /* */ typedef __u_int u_int; /* */ typedef unsigned short u_int16_t; /* */ typedef unsigned int u_int32_t; /* */ __extension__ typedef unsigned long long u_int64_t; /* */ /* But these were defined by ISO C without the first `_'. */ typedef unsigned char u_int8_t; /* */ typedef __u_long u_long; /* */ typedef __u_quad_t u_quad_t; /* */ typedef __u_short u_short; /* */ typedef __uid_t uid_t; /* */ typedef unsigned int uint; /* */ /* Old compatibility names for C types. */ typedef unsigned long ulong; /* */ typedef __useconds_t useconds_t; /* */ typedef unsigned short ushort; /* ==================================== */ /* */ /* Number of general registers. */ #define NGREG 19 /* */ REG_CS, # define REG_CS REG_CS /* */ REG_DS, # define REG_DS REG_DS /* */ REG_EAX, # define REG_EAX REG_EAX /* */ REG_EBP, # define REG_EBP REG_EBP /* */ REG_EBX, # define REG_EBX REG_EBX /* */ REG_ECX, # define REG_ECX REG_ECX /* */ REG_EDI, # define REG_EDI REG_EDI /* */ REG_EDX, # define REG_EDX REG_EDX /* */ REG_EFL, # define REG_EFL REG_EFL /* */ REG_EIP, # define REG_EIP REG_EIP /* */ REG_ERR, # define REG_ERR REG_ERR /* */ REG_ES, # define REG_ES REG_ES /* */ REG_ESI, # define REG_ESI REG_ESI /* */ REG_ESP, # define REG_ESP REG_ESP /* */ REG_FS, # define REG_FS REG_FS /* */ /* Number of each register is the `gregset_t' array. */ enum REG_GS = 0, # define REG_GS REG_GS /* */ REG_SS # define REG_SS REG_SS /* */ REG_TRAPNO, # define REG_TRAPNO REG_TRAPNO /* */ REG_UESP, # define REG_UESP REG_UESP /* */ #define _SYS_UCONTEXT_H 1 /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Definitions taken from the kernel headers. */ struct _libc_fpreg unsigned short significand[4]; unsigned short exponent; }; /* */ struct _libc_fpstate unsigned long cw; unsigned long sw; unsigned long tag; unsigned long ipoff; unsigned long cssel; unsigned long dataoff; unsigned long datasel; struct _libc_fpreg _st[8]; unsigned long status; }; /* */ /* Context to describe whole processor state. */ /* Due to Linux's history we have to use a pointer here. The SysV/i386 ABI requires a struct with the values. */ fpregset_t fpregs; unsigned long oldmask; unsigned long cr2; } mcontext_t; /* */ /* Context to describe whole processor state. */ /* Due to Linux's history we have to use a pointer here. The SysV/i386 ABI requires a struct with the values. */ fpregset_t fpregs; unsigned long oldmask; unsigned long cr2; } mcontext_t; /* */ /* Structure to describe FPU registers. */ typedef struct _libc_fpstate *fpregset_t; /* */ /* Type for general register. */ typedef int greg_t; /* */ /* Context to describe whole processor state. */ /* Due to Linux's history we have to use a pointer here. The SysV/i386 ABI requires a struct with the values. */ fpregset_t fpregs; unsigned long oldmask; unsigned long cr2; } mcontext_t; /* */ /* Container for all general registers. */ typedef greg_t gregset_t[NGREG]; /* */ /* Context to describe whole processor state. */ /* Due to Linux's history we have to use a pointer here. The SysV/i386 ABI requires a struct with the values. */ fpregset_t fpregs; unsigned long oldmask; unsigned long cr2; } mcontext_t; /* */ /* Context to describe whole processor state. */ /* Due to Linux's history we have to use a pointer here. The SysV/i386 ABI requires a struct with the values. */ fpregset_t fpregs; unsigned long oldmask; unsigned long cr2; } mcontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* */ /* Userlevel context. */ typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; /* ==================================== */ /* */ #define _SYS_UIO_H 1 /* ==================================== */ /* ==================================== */ /* */ /* Evaluate to actual length of the `sockaddr_un' structure. */ # define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) \ + strlen ((ptr)->sun_path)) /* */ #define _SYS_UN_H 1 /* */ /* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */ struct sockaddr_un { __SOCKADDR_COMMON (sun_) char sun_path[108]; /* Path name. */ }; /* ==================================== */ /* ==================================== */ /* */ #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) /* */ #define HOST_TEXT_START_ADDR (u.start_code) /* */ #define NBPG PAGE_SIZE /* */ #define PAGE_MASK (~(PAGE_SIZE-1)) /* */ #define PAGE_SHIFT 12 /* */ #define PAGE_SIZE (1UL << PAGE_SHIFT) /* */ #define UPAGES 1 /* */ #define _SYS_USER_H 1 /* */ struct user struct user_regs_struct regs; int u_fpvalid; struct user_fpregs_struct i387; unsigned long u_tsize; unsigned long u_dsize; unsigned long u_ssize; unsigned long start_code; unsigned long start_stack; long signal; int reserved; struct user_regs_struct* u_ar0; struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm [32]; int u_debugreg [8]; }; /* */ struct user_fpregs_struct long cwd; long swd; long twd; long fip; long fcs; long foo; long fos; long st_space [20]; }; /* */ struct user_fpxregs_struct unsigned short cwd; unsigned short swd; unsigned short twd; unsigned short fop; long fip; long fcs; long foo; long fos; long mxcsr; long reserved; long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ long padding[56]; }; /* */ struct user_regs_struct long ebx; long ecx; long edx; long esi; long edi; long ebp; long eax; long xds; long xes; long xfs; long xgs; long orig_eax; long eip; long xcs; long eflags; long esp; long xss; }; /* ==================================== */ /* */ #define _SYS_USTAT_H 1 /* ==================================== */ /* */ # define SYS_NMLN _UTSNAME_LENGTH /* */ #define _SYS_UTSNAME_H 1 /* */ # define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH /* */ /* Structure describing the system and machine. */ struct utsname { /* ==================================== */ /* ==================================== */ /* */ /* This means no limit. */ #define INFINITY 0x7fffffff /* */ #define _SYS_VLIMIT_H 1 /* */ /* Kinds of resource limit. */ enum __vlimit_resource /* ==================================== */ /* */ #define _SYS_VM86_H 1 /* ==================================== */ /* ==================================== */ /* */ /* Granularity of the `vm_utime' and `vm_stime' fields of a `struct vtimes'. (This is the frequency of the machine's power supply, in Hz.) */ #define VTIMES_UNITS_PER_SECOND 60 /* */ #define _SYS_VTIMES_H 1 /* */ struct vtimes /* ==================================== */ /* */ typedef enum P_ALL, /* Wait for any child. */ P_PID, /* Wait for specified process. */ P_PGID /* Wait for members of process group. */ } idtype_t; /* */ typedef enum P_ALL, /* Wait for any child. */ P_PID, /* Wait for specified process. */ P_PGID /* Wait for members of process group. */ } idtype_t; /* */ /* Special values for the PID argument to `waitpid' and `wait4'. */ # define WAIT_ANY (-1) /* Any process. */ /* */ # define WAIT_MYPGRP 0 /* Any process in my process group. */ /* */ # define WCOREDUMP(status) __WCOREDUMP(__WAIT_INT(status)) /* */ # define WCOREFLAG __WCOREFLAG /* */ # define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status)) /* */ # define WIFEXITED(status) __WIFEXITED(__WAIT_INT(status)) /* */ # define WIFSIGNALED(status) __WIFSIGNALED(__WAIT_INT(status)) /* */ # define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status)) /* */ # define WSTOPSIG(status) __WSTOPSIG(__WAIT_INT(status)) /* */ # define WTERMSIG(status) __WTERMSIG(__WAIT_INT(status)) /* */ # define W_EXITCODE(ret, sig) __W_EXITCODE(ret, sig) /* */ # define W_STOPCODE(sig) __W_STOPCODE(sig) /* */ #define _SYS_WAIT_H 1 /* */ # define __WAIT_INT(status) \ (__extension__ ({ union { __typeof(status) __in; int __i; } __u; \ __u.__in = (status); __u.__i; })) /* */ # define __WAIT_INT(status) (*(int *) &(status)) /* */ # define __WAIT_INT(status) (status) /* */ # define __WAIT_STATUS void * /* */ # define __WAIT_STATUS int * /* */ # define __WAIT_STATUS_DEFN void * /* */ /* This works in GCC 2.6.1 and later. */ typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS ; # define __WAIT_STATUS_DEFN int * /* */ # define __WAIT_STATUS_DEFN int * /* */ /* This works in GCC 2.6.1 and later. */ typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS ; /* */ # define __need_siginfo_t /* */ typedef enum P_ALL, /* Wait for any child. */ P_PID, /* Wait for specified process. */ P_PGID /* Wait for members of process group. */ } idtype_t; /* */ typedef enum P_ALL, /* Wait for any child. */ P_PID, /* Wait for specified process. */ P_PGID /* Wait for members of process group. */ } idtype_t;