diff options
Diffstat (limited to 'sysdeps/mach/hurd/bits')
-rw-r--r-- | sysdeps/mach/hurd/bits/errno.h | 329 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/fcntl.h | 221 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/ioctls.h | 432 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/local_lim.h | 34 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/param.h | 85 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/posix_opt.h | 182 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/socket.h | 362 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/stat.h | 258 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/statfs.h | 86 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/statvfs.h | 95 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/typesizes.h | 68 |
11 files changed, 0 insertions, 2152 deletions
diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h deleted file mode 100644 index d20ffe654a..0000000000 --- a/sysdeps/mach/hurd/bits/errno.h +++ /dev/null @@ -1,329 +0,0 @@ -/* This file generated by errnos.awk. */ - -/* The Hurd uses Mach error system 0x10, currently only subsystem 0. */ -#ifndef _HURD_ERRNO -#define _HURD_ERRNO(n) ((0x10 << 26) | ((n) & 0x3fff)) -#endif - -#ifdef _ERRNO_H - -enum __error_t_codes -{ - /* The value zero always means success and it is perfectly fine for - code to use 0 explicitly (or implicitly, e.g. via Boolean coercion). - Having an enum entry for zero both makes the debugger print the name - for error_t-typed zero values, and prevents the compiler from - issuing warnings about 'case 0:' in a switch on an error_t-typed - value. */ - ESUCCESS = 0, - -#undef EDOM -#undef ERANGE - EPERM = _HURD_ERRNO (1), -#define EPERM _HURD_ERRNO (1) /* Operation not permitted */ - ENOENT = _HURD_ERRNO (2), -#define ENOENT _HURD_ERRNO (2) /* No such file or directory */ - ESRCH = _HURD_ERRNO (3), -#define ESRCH _HURD_ERRNO (3) /* No such process */ - EINTR = _HURD_ERRNO (4), -#define EINTR _HURD_ERRNO (4) /* Interrupted system call */ - EIO = _HURD_ERRNO (5), -#define EIO _HURD_ERRNO (5) /* Input/output error */ - ENXIO = _HURD_ERRNO (6), -#define ENXIO _HURD_ERRNO (6) /* No such device or address */ - E2BIG = _HURD_ERRNO (7), -#define E2BIG _HURD_ERRNO (7) /* Argument list too long */ - ENOEXEC = _HURD_ERRNO (8), -#define ENOEXEC _HURD_ERRNO (8) /* Exec format error */ - EBADF = _HURD_ERRNO (9), -#define EBADF _HURD_ERRNO (9) /* Bad file descriptor */ - ECHILD = _HURD_ERRNO (10), -#define ECHILD _HURD_ERRNO (10)/* No child processes */ - EDEADLK = _HURD_ERRNO (11), -#define EDEADLK _HURD_ERRNO (11)/* Resource deadlock avoided */ - ENOMEM = _HURD_ERRNO (12), -#define ENOMEM _HURD_ERRNO (12)/* Cannot allocate memory */ - EACCES = _HURD_ERRNO (13), -#define EACCES _HURD_ERRNO (13)/* Permission denied */ - EFAULT = _HURD_ERRNO (14), -#define EFAULT _HURD_ERRNO (14)/* Bad address */ - ENOTBLK = _HURD_ERRNO (15), -#define ENOTBLK _HURD_ERRNO (15)/* Block device required */ - EBUSY = _HURD_ERRNO (16), -#define EBUSY _HURD_ERRNO (16)/* Device or resource busy */ - EEXIST = _HURD_ERRNO (17), -#define EEXIST _HURD_ERRNO (17)/* File exists */ - EXDEV = _HURD_ERRNO (18), -#define EXDEV _HURD_ERRNO (18)/* Invalid cross-device link */ - ENODEV = _HURD_ERRNO (19), -#define ENODEV _HURD_ERRNO (19)/* No such device */ - ENOTDIR = _HURD_ERRNO (20), -#define ENOTDIR _HURD_ERRNO (20)/* Not a directory */ - EISDIR = _HURD_ERRNO (21), -#define EISDIR _HURD_ERRNO (21)/* Is a directory */ - EINVAL = _HURD_ERRNO (22), -#define EINVAL _HURD_ERRNO (22)/* Invalid argument */ - EMFILE = _HURD_ERRNO (24), -#define EMFILE _HURD_ERRNO (24)/* Too many open files */ - ENFILE = _HURD_ERRNO (23), -#define ENFILE _HURD_ERRNO (23)/* Too many open files in system */ - ENOTTY = _HURD_ERRNO (25), -#define ENOTTY _HURD_ERRNO (25)/* Inappropriate ioctl for device */ - ETXTBSY = _HURD_ERRNO (26), -#define ETXTBSY _HURD_ERRNO (26)/* Text file busy */ - EFBIG = _HURD_ERRNO (27), -#define EFBIG _HURD_ERRNO (27)/* File too large */ - ENOSPC = _HURD_ERRNO (28), -#define ENOSPC _HURD_ERRNO (28)/* No space left on device */ - ESPIPE = _HURD_ERRNO (29), -#define ESPIPE _HURD_ERRNO (29)/* Illegal seek */ - EROFS = _HURD_ERRNO (30), -#define EROFS _HURD_ERRNO (30)/* Read-only file system */ - EMLINK = _HURD_ERRNO (31), -#define EMLINK _HURD_ERRNO (31)/* Too many links */ - EPIPE = _HURD_ERRNO (32), -#define EPIPE _HURD_ERRNO (32)/* Broken pipe */ - EDOM = _HURD_ERRNO (33), -#define EDOM _HURD_ERRNO (33)/* Numerical argument out of domain */ - ERANGE = _HURD_ERRNO (34), -#define ERANGE _HURD_ERRNO (34)/* Numerical result out of range */ - EAGAIN = _HURD_ERRNO (35), -#define EAGAIN _HURD_ERRNO (35)/* Resource temporarily unavailable */ -#define EWOULDBLOCK EAGAIN /* Operation would block */ - EINPROGRESS = _HURD_ERRNO (36), -#define EINPROGRESS _HURD_ERRNO (36)/* Operation now in progress */ - EALREADY = _HURD_ERRNO (37), -#define EALREADY _HURD_ERRNO (37)/* Operation already in progress */ - ENOTSOCK = _HURD_ERRNO (38), -#define ENOTSOCK _HURD_ERRNO (38)/* Socket operation on non-socket */ - EMSGSIZE = _HURD_ERRNO (40), -#define EMSGSIZE _HURD_ERRNO (40)/* Message too long */ - EPROTOTYPE = _HURD_ERRNO (41), -#define EPROTOTYPE _HURD_ERRNO (41)/* Protocol wrong type for socket */ - ENOPROTOOPT = _HURD_ERRNO (42), -#define ENOPROTOOPT _HURD_ERRNO (42)/* Protocol not available */ - EPROTONOSUPPORT = _HURD_ERRNO (43), -#define EPROTONOSUPPORT _HURD_ERRNO (43)/* Protocol not supported */ - ESOCKTNOSUPPORT = _HURD_ERRNO (44), -#define ESOCKTNOSUPPORT _HURD_ERRNO (44)/* Socket type not supported */ - EOPNOTSUPP = _HURD_ERRNO (45), -#define EOPNOTSUPP _HURD_ERRNO (45)/* Operation not supported */ - EPFNOSUPPORT = _HURD_ERRNO (46), -#define EPFNOSUPPORT _HURD_ERRNO (46)/* Protocol family not supported */ - EAFNOSUPPORT = _HURD_ERRNO (47), -#define EAFNOSUPPORT _HURD_ERRNO (47)/* Address family not supported by protocol */ - EADDRINUSE = _HURD_ERRNO (48), -#define EADDRINUSE _HURD_ERRNO (48)/* Address already in use */ - EADDRNOTAVAIL = _HURD_ERRNO (49), -#define EADDRNOTAVAIL _HURD_ERRNO (49)/* Cannot assign requested address */ - ENETDOWN = _HURD_ERRNO (50), -#define ENETDOWN _HURD_ERRNO (50)/* Network is down */ - ENETUNREACH = _HURD_ERRNO (51), -#define ENETUNREACH _HURD_ERRNO (51)/* Network is unreachable */ - ENETRESET = _HURD_ERRNO (52), -#define ENETRESET _HURD_ERRNO (52)/* Network dropped connection on reset */ - ECONNABORTED = _HURD_ERRNO (53), -#define ECONNABORTED _HURD_ERRNO (53)/* Software caused connection abort */ - ECONNRESET = _HURD_ERRNO (54), -#define ECONNRESET _HURD_ERRNO (54)/* Connection reset by peer */ - ENOBUFS = _HURD_ERRNO (55), -#define ENOBUFS _HURD_ERRNO (55)/* No buffer space available */ - EISCONN = _HURD_ERRNO (56), -#define EISCONN _HURD_ERRNO (56)/* Transport endpoint is already connected */ - ENOTCONN = _HURD_ERRNO (57), -#define ENOTCONN _HURD_ERRNO (57)/* Transport endpoint is not connected */ - EDESTADDRREQ = _HURD_ERRNO (39), -#define EDESTADDRREQ _HURD_ERRNO (39)/* Destination address required */ - ESHUTDOWN = _HURD_ERRNO (58), -#define ESHUTDOWN _HURD_ERRNO (58)/* Cannot send after transport endpoint shutdown */ - ETOOMANYREFS = _HURD_ERRNO (59), -#define ETOOMANYREFS _HURD_ERRNO (59)/* Too many references: cannot splice */ - ETIMEDOUT = _HURD_ERRNO (60), -#define ETIMEDOUT _HURD_ERRNO (60)/* Connection timed out */ - ECONNREFUSED = _HURD_ERRNO (61), -#define ECONNREFUSED _HURD_ERRNO (61)/* Connection refused */ - ELOOP = _HURD_ERRNO (62), -#define ELOOP _HURD_ERRNO (62)/* Too many levels of symbolic links */ - ENAMETOOLONG = _HURD_ERRNO (63), -#define ENAMETOOLONG _HURD_ERRNO (63)/* File name too long */ - EHOSTDOWN = _HURD_ERRNO (64), -#define EHOSTDOWN _HURD_ERRNO (64)/* Host is down */ - EHOSTUNREACH = _HURD_ERRNO (65), -#define EHOSTUNREACH _HURD_ERRNO (65)/* No route to host */ - ENOTEMPTY = _HURD_ERRNO (66), -#define ENOTEMPTY _HURD_ERRNO (66)/* Directory not empty */ - EPROCLIM = _HURD_ERRNO (67), -#define EPROCLIM _HURD_ERRNO (67)/* Too many processes */ - EUSERS = _HURD_ERRNO (68), -#define EUSERS _HURD_ERRNO (68)/* Too many users */ - EDQUOT = _HURD_ERRNO (69), -#define EDQUOT _HURD_ERRNO (69)/* Disk quota exceeded */ - ESTALE = _HURD_ERRNO (70), -#define ESTALE _HURD_ERRNO (70)/* Stale file handle */ - EREMOTE = _HURD_ERRNO (71), -#define EREMOTE _HURD_ERRNO (71)/* Object is remote */ - EBADRPC = _HURD_ERRNO (72), -#define EBADRPC _HURD_ERRNO (72)/* RPC struct is bad */ - ERPCMISMATCH = _HURD_ERRNO (73), -#define ERPCMISMATCH _HURD_ERRNO (73)/* RPC version wrong */ - EPROGUNAVAIL = _HURD_ERRNO (74), -#define EPROGUNAVAIL _HURD_ERRNO (74)/* RPC program not available */ - EPROGMISMATCH = _HURD_ERRNO (75), -#define EPROGMISMATCH _HURD_ERRNO (75)/* RPC program version wrong */ - EPROCUNAVAIL = _HURD_ERRNO (76), -#define EPROCUNAVAIL _HURD_ERRNO (76)/* RPC bad procedure for program */ - ENOLCK = _HURD_ERRNO (77), -#define ENOLCK _HURD_ERRNO (77)/* No locks available */ - EFTYPE = _HURD_ERRNO (79), -#define EFTYPE _HURD_ERRNO (79)/* Inappropriate file type or format */ - EAUTH = _HURD_ERRNO (80), -#define EAUTH _HURD_ERRNO (80)/* Authentication error */ - ENEEDAUTH = _HURD_ERRNO (81), -#define ENEEDAUTH _HURD_ERRNO (81)/* Need authenticator */ - ENOSYS = _HURD_ERRNO (78), -#define ENOSYS _HURD_ERRNO (78)/* Function not implemented */ - ENOTSUP = _HURD_ERRNO (118), -#define ENOTSUP _HURD_ERRNO (118)/* Not supported */ - EILSEQ = _HURD_ERRNO (106), -#define EILSEQ _HURD_ERRNO (106)/* Invalid or incomplete multibyte or wide character */ - EBACKGROUND = _HURD_ERRNO (100), -#define EBACKGROUND _HURD_ERRNO (100)/* Inappropriate operation for background process */ - EDIED = _HURD_ERRNO (101), -#define EDIED _HURD_ERRNO (101)/* Translator died */ - ED = _HURD_ERRNO (102), -#define ED _HURD_ERRNO (102)/* ? */ - EGREGIOUS = _HURD_ERRNO (103), -#define EGREGIOUS _HURD_ERRNO (103)/* You really blew it this time */ - EIEIO = _HURD_ERRNO (104), -#define EIEIO _HURD_ERRNO (104)/* Computer bought the farm */ - EGRATUITOUS = _HURD_ERRNO (105), -#define EGRATUITOUS _HURD_ERRNO (105)/* Gratuitous error */ - EBADMSG = _HURD_ERRNO (107), -#define EBADMSG _HURD_ERRNO (107)/* Bad message */ - EIDRM = _HURD_ERRNO (108), -#define EIDRM _HURD_ERRNO (108)/* Identifier removed */ - EMULTIHOP = _HURD_ERRNO (109), -#define EMULTIHOP _HURD_ERRNO (109)/* Multihop attempted */ - ENODATA = _HURD_ERRNO (110), -#define ENODATA _HURD_ERRNO (110)/* No data available */ - ENOLINK = _HURD_ERRNO (111), -#define ENOLINK _HURD_ERRNO (111)/* Link has been severed */ - ENOMSG = _HURD_ERRNO (112), -#define ENOMSG _HURD_ERRNO (112)/* No message of desired type */ - ENOSR = _HURD_ERRNO (113), -#define ENOSR _HURD_ERRNO (113)/* Out of streams resources */ - ENOSTR = _HURD_ERRNO (114), -#define ENOSTR _HURD_ERRNO (114)/* Device not a stream */ - EOVERFLOW = _HURD_ERRNO (115), -#define EOVERFLOW _HURD_ERRNO (115)/* Value too large for defined data type */ - EPROTO = _HURD_ERRNO (116), -#define EPROTO _HURD_ERRNO (116)/* Protocol error */ - ETIME = _HURD_ERRNO (117), -#define ETIME _HURD_ERRNO (117)/* Timer expired */ - ECANCELED = _HURD_ERRNO (119), -#define ECANCELED _HURD_ERRNO (119)/* Operation canceled */ - - /* Errors from <mach/message.h>. */ - EMACH_SEND_IN_PROGRESS = 0x10000001, - EMACH_SEND_INVALID_DATA = 0x10000002, - EMACH_SEND_INVALID_DEST = 0x10000003, - EMACH_SEND_TIMED_OUT = 0x10000004, - EMACH_SEND_WILL_NOTIFY = 0x10000005, - EMACH_SEND_NOTIFY_IN_PROGRESS = 0x10000006, - EMACH_SEND_INTERRUPTED = 0x10000007, - EMACH_SEND_MSG_TOO_SMALL = 0x10000008, - EMACH_SEND_INVALID_REPLY = 0x10000009, - EMACH_SEND_INVALID_RIGHT = 0x1000000a, - EMACH_SEND_INVALID_NOTIFY = 0x1000000b, - EMACH_SEND_INVALID_MEMORY = 0x1000000c, - EMACH_SEND_NO_BUFFER = 0x1000000d, - EMACH_SEND_NO_NOTIFY = 0x1000000e, - EMACH_SEND_INVALID_TYPE = 0x1000000f, - EMACH_SEND_INVALID_HEADER = 0x10000010, - EMACH_RCV_IN_PROGRESS = 0x10004001, - EMACH_RCV_INVALID_NAME = 0x10004002, - EMACH_RCV_TIMED_OUT = 0x10004003, - EMACH_RCV_TOO_LARGE = 0x10004004, - EMACH_RCV_INTERRUPTED = 0x10004005, - EMACH_RCV_PORT_CHANGED = 0x10004006, - EMACH_RCV_INVALID_NOTIFY = 0x10004007, - EMACH_RCV_INVALID_DATA = 0x10004008, - EMACH_RCV_PORT_DIED = 0x10004009, - EMACH_RCV_IN_SET = 0x1000400a, - EMACH_RCV_HEADER_ERROR = 0x1000400b, - EMACH_RCV_BODY_ERROR = 0x1000400c, - - /* Errors from <mach/kern_return.h>. */ - EKERN_INVALID_ADDRESS = 1, - EKERN_PROTECTION_FAILURE = 2, - EKERN_NO_SPACE = 3, - EKERN_INVALID_ARGUMENT = 4, - EKERN_FAILURE = 5, - EKERN_RESOURCE_SHORTAGE = 6, - EKERN_NOT_RECEIVER = 7, - EKERN_NO_ACCESS = 8, - EKERN_MEMORY_FAILURE = 9, - EKERN_MEMORY_ERROR = 10, - EKERN_NOT_IN_SET = 12, - EKERN_NAME_EXISTS = 13, - EKERN_ABORTED = 14, - EKERN_INVALID_NAME = 15, - EKERN_INVALID_TASK = 16, - EKERN_INVALID_RIGHT = 17, - EKERN_INVALID_VALUE = 18, - EKERN_UREFS_OVERFLOW = 19, - EKERN_INVALID_CAPABILITY = 20, - EKERN_RIGHT_EXISTS = 21, - EKERN_INVALID_HOST = 22, - EKERN_MEMORY_PRESENT = 23, - EKERN_WRITE_PROTECTION_FAILURE = 24, - EKERN_TERMINATED = 26, - - /* Errors from <mach/mig_errors.h>. */ - EMIG_TYPE_ERROR = -300 /* client type check failure */, - EMIG_REPLY_MISMATCH = -301 /* wrong reply message ID */, - EMIG_REMOTE_ERROR = -302 /* server detected error */, - EMIG_BAD_ID = -303 /* bad request message ID */, - EMIG_BAD_ARGUMENTS = -304 /* server type check failure */, - EMIG_NO_REPLY = -305 /* no reply should be sent */, - EMIG_EXCEPTION = -306 /* server raised exception */, - EMIG_ARRAY_TOO_LARGE = -307 /* array not large enough */, - EMIG_SERVER_DIED = -308 /* server died */, - EMIG_DESTROY_REQUEST = -309 /* destroy request with no reply */, - - /* Errors from <device/device_types.h>. */ - ED_IO_ERROR = 2500 /* hardware IO error */, - ED_WOULD_BLOCK = 2501 /* would block, but D_NOWAIT set */, - ED_NO_SUCH_DEVICE = 2502 /* no such device */, - ED_ALREADY_OPEN = 2503 /* exclusive-use device already open */, - ED_DEVICE_DOWN = 2504 /* device has been shut down */, - ED_INVALID_OPERATION = 2505 /* bad operation for device */, - ED_INVALID_RECNUM = 2506 /* invalid record (block) number */, - ED_INVALID_SIZE = 2507 /* invalid IO size */, - ED_NO_MEMORY = 2508 /* memory allocation failure */, - ED_READ_ONLY = 2509 /* device cannot be written to */ - -}; - -#define _HURD_ERRNOS 120 - -/* User-visible type of error codes. It is ok to use `int' or - `kern_return_t' for these, but with `error_t' the debugger prints - symbolic values. */ -#ifdef __USE_GNU -typedef enum __error_t_codes error_t; -#define __error_t_defined 1 -#endif - -/* Return the current thread's location for `errno'. - The syntax of this function allows redeclarations like `int errno'. */ -extern int *__errno_location (void) __THROW __attribute__ ((__const__)); - -#define errno (*__errno_location ()) - -#endif /* <errno.h> included. */ - -#if !defined (_ERRNO_H) && defined (__need_Emath) -#define EDOM _HURD_ERRNO (33)/* Numerical argument out of domain */ -#define ERANGE _HURD_ERRNO (34)/* Numerical result out of range */ -#endif /* <errno.h> not included and need math error codes. */ diff --git a/sysdeps/mach/hurd/bits/fcntl.h b/sysdeps/mach/hurd/bits/fcntl.h deleted file mode 100644 index 915c7c6abb..0000000000 --- a/sysdeps/mach/hurd/bits/fcntl.h +++ /dev/null @@ -1,221 +0,0 @@ -/* O_*, F_*, FD_* bit values for GNU. - Copyright (C) 1993-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _FCNTL_H -# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - -#include <sys/types.h> - -/* File access modes. These are understood by io servers; they can be - passed in `dir_lookup', and are returned by `io_get_openmodes'. - Consequently they can be passed to `open', `hurd_file_name_lookup', and - `file_name_lookup'; and are returned by `fcntl' with the F_GETFL - command. */ - -/* In GNU, read and write are bits (unlike BSD). */ -#ifdef __USE_GNU -# define O_READ O_RDONLY /* Open for reading. */ -# define O_WRITE O_WRONLY /* Open for writing. */ -# define O_EXEC 0x0004 /* Open for execution. */ -# define O_NORW 0 /* Open without R/W access. */ -#endif -/* POSIX.1 standard names. */ -#define O_RDONLY 0x0001 /* Open read-only. */ -#define O_WRONLY 0x0002 /* Open write-only. */ -#define O_RDWR (O_RDONLY|O_WRONLY) /* Open for reading and writing. */ -#define O_ACCMODE O_RDWR /* Mask for file access modes. */ - -#define O_LARGEFILE 0 - - -/* File name translation flags. These are understood by io servers; - they can be passed in `dir_lookup', and consequently to `open', - `hurd_file_name_lookup', and `file_name_lookup'. */ - -#define O_CREAT 0x0010 /* Create file if it doesn't exist. */ -#define O_EXCL 0x0020 /* Fail if file already exists. */ -#ifdef __USE_GNU -# define O_NOLINK 0x0040 /* No name mappings on final component. */ -# define O_NOTRANS 0x0080 /* No translator on final component. */ -#endif - -#ifdef __USE_XOPEN2K8 -# define O_NOFOLLOW 0x00100000 /* Produce ENOENT if file is a symlink. */ -# define O_DIRECTORY 0x00200000 /* Produce ENOTDIR if not a directory. */ -#endif - - -/* I/O operating modes. These are understood by io servers; they can be - passed in `dir_lookup' and set or fetched with `io_*_openmodes'. - Consequently they can be passed to `open', `hurd_file_name_lookup', - `file_name_lookup', and `fcntl' with the F_SETFL command; and are - returned by `fcntl' with the F_GETFL command. */ - -#define O_APPEND 0x0100 /* Writes always append to the file. */ -#define O_ASYNC 0x0200 /* Send SIGIO to owner when data is ready. */ -#define O_FSYNC 0x0400 /* Synchronous writes. */ -#define O_SYNC O_FSYNC -#ifdef __USE_GNU -# define O_NOATIME 0x0800 /* Don't set access time on read (owner). */ -#endif -#ifdef __USE_MISC -# define O_SHLOCK 0x00020000 /* Open with shared file lock. */ -# define O_EXLOCK 0x00040000 /* Open with exclusive file lock. */ -#endif - -/* These are lesser flavors of partial synchronization that are - implied by our one flag (O_FSYNC). */ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC O_SYNC /* Synchronize data. */ -# define O_RSYNC O_SYNC /* Synchronize read operations. */ -#endif - - -/* The name O_NONBLOCK is unfortunately overloaded; it is both a file name - translation flag and an I/O operating mode. O_NDELAY is the deprecated - BSD name for the same flag, overloaded in the same way. - - When used in `dir_lookup' (and consequently `open', `hurd_file_name_lookup', - or `file_name_lookup'), O_NONBLOCK says the open should return immediately - instead of blocking for any significant length of time (e.g., to wait - for carrier detect on a serial line). It is also saved as an I/O - operating mode, and after open has the following meaning. - - When used in `io_*_openmodes' (and consequently `fcntl' with the F_SETFL - command), the O_NONBLOCK flag means to do nonblocking i/o: any i/o - operation that would block for any significant length of time will instead - fail with EAGAIN. */ - -#define O_NONBLOCK 0x0008 /* Non-blocking open or non-blocking I/O. */ -#ifdef __USE_MISC -# define O_NDELAY O_NONBLOCK /* Deprecated. */ -#endif - - -#ifdef __USE_GNU -/* Mask of bits which are understood by io servers. */ -# define O_HURD (0xffff | O_EXLOCK | O_SHLOCK) -#endif - - -/* Open-time action flags. These are understood by `hurd_file_name_lookup' - and consequently by `open' and `file_name_lookup'. They are not preserved - once the file has been opened. */ - -#define O_TRUNC 0x00010000 /* Truncate file to zero length. */ -#ifdef __USE_XOPEN2K8 -# define O_CLOEXEC 0x00400000 /* Set FD_CLOEXEC. */ -#endif - - -/* Controlling terminal flags. These are understood only by `open', - and are not preserved once the file has been opened. */ - -#ifdef __USE_GNU -# define O_IGNORE_CTTY 0x00080000 /* Don't do any ctty magic at all. */ -#endif -/* `open' never assigns a controlling terminal in GNU. */ -#define O_NOCTTY 0 /* Don't assign a controlling terminal. */ - - -#ifdef __USE_MISC -/* Bits in the file status flags returned by F_GETFL. */ -# define FREAD O_RDONLY -# define FWRITE O_WRONLY - -/* Traditional BSD names the O_* bits. */ -# define FASYNC O_ASYNC -# define FCREAT O_CREAT -# define FEXCL O_EXCL -# define FTRUNC O_TRUNC -# define FNOCTTY O_NOCTTY -# define FFSYNC O_FSYNC -# define FSYNC O_SYNC -# define FAPPEND O_APPEND -# define FNONBLOCK O_NONBLOCK -# define FNDELAY O_NDELAY -#endif - - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 -# define F_GETOWN 5 /* Get owner (receiver of SIGIO). */ -# define F_SETOWN 6 /* Set owner (receiver of SIGIO). */ -#endif -#define F_GETLK 7 /* Get record locking info. */ -#define F_SETLK 8 /* Set record locking info (non-blocking). */ -#define F_SETLKW 9 /* Set record locking info (blocking). */ - -#ifdef __USE_XOPEN2K8 -# define F_DUPFD_CLOEXEC 1030 /* Duplicate, set FD_CLOEXEC on new one. */ -#endif - - -/* File descriptor flags used with F_GETFD and F_SETFD. */ -#define FD_CLOEXEC 1 /* Close on exec. */ - - -#include <bits/types.h> - -/* The structure describing an advisory lock. This is the type of the third - argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */ -struct flock - { - int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - 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. */ - }; -#endif - -/* Values for the `l_type' field of a `struct flock'. */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - -/* Advise to `posix_fadvise'. */ -#ifdef __USE_XOPEN2K -# define POSIX_FADV_NORMAL 0 /* No further special treatment. */ -# define POSIX_FADV_RANDOM 1 /* Expect random page references. */ -# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ -# define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ -# define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ -#endif diff --git a/sysdeps/mach/hurd/bits/ioctls.h b/sysdeps/mach/hurd/bits/ioctls.h deleted file mode 100644 index d78cfd9be8..0000000000 --- a/sysdeps/mach/hurd/bits/ioctls.h +++ /dev/null @@ -1,432 +0,0 @@ -/* Copyright (C) 1992-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef __BITS_IOCTLS_H -#define __BITS_IOCTLS_H 1 - -#if !defined _HURD_IOCTL_H && !defined _SYS_IOCTL_H -# error "Never use <bits/ioctls.h> directly; include <hurd/ioctl.h> instead." -#endif - -/* These macros are also defined in <bits/termios.h> (with numerically - identical values) but this serves to shut up cpp's complaining. */ - -#ifdef NL0 -# undef NL0 -#endif -#ifdef NL1 -# undef NL1 -#endif -#ifdef TAB0 -# undef TAB0 -#endif -#ifdef TAB1 -# undef TAB1 -#endif -#ifdef TAB2 -# undef TAB2 -#endif -#ifdef CR0 -# undef CR0 -#endif -#ifdef CR1 -# undef CR1 -#endif -#ifdef CR2 -# undef CR2 -#endif -#ifdef CR3 -# undef CR3 -#endif -#ifdef FF0 -# undef FF0 -#endif -#ifdef FF1 -# undef FF1 -#endif -#ifdef BS0 -# undef BS0 -#endif -#ifdef BS1 -# undef BS1 -#endif -#ifdef MDMBUF -# undef MDMBUF -#endif -#ifdef ECHO -# undef ECHO -#endif -#ifdef TOSTOP -# undef TOSTOP -#endif -#ifdef FLUSHO -# undef FLUSHO -#endif -#ifdef PENDIN -# undef PENDIN -#endif -#ifdef NOFLSH -# undef NOFLSH -#endif - -/* Hurd ioctl request are made up of several fields: - - 10987654321098765432109876543210 - IOt0t1t2cc0c0cc1c1cc2ggggccccccc - - bits [31,30]: inout direction (enum __ioctl_dir) - bits [29,11]: type encoding as follows; zero count indicates omitted datum - [29,28]: datum #0 type (enum __ioctl_datum) - [27,26]: datum #1 type (enum __ioctl_datum) - [24,25]: datum #2 type (enum __ioctl_datum) - [23,19]: datum #0 count [0,31] - [18,14]: datum #1 count [0,31] - [13,11]: datum #2 count [0,3] - bits [07,10]: group (letter - 'f': ['f','v']) - bits [00,06]: command [0,127] - - The following macros construct and dissect these fields. */ - -enum __ioctl_dir - { - IOC_VOID = 0, /* No parameters. */ - IOC_OUT = 1, /* Data is written into the user's buffer. */ - IOC_IN = 2, /* Data is read from the user's buffer. */ - IOC_INOUT = (IOC_IN|IOC_OUT) - }; - -enum __ioctl_datum { IOC_8, IOC_16, IOC_32, IOC_64 }; - -/* Construct an ioctl from constructed type plus other fields. */ -#define _IOC(inout, group, num, type) \ - ((num) | ((((group) - 'f') | ((type) | (inout) << 19) << 4) << 7)) - -/* Dissect an ioctl into its component fields. */ -#define _IOC_INOUT(request) (((unsigned int) (request) >> 30) & IOC_INOUT) -#define _IOC_GROUP(request) ('f' + (((unsigned int) (request) >> 7) & 0xf)) -#define _IOC_COMMAND(request) ((unsigned int) (request) & 0x7f) -#define _IOC_TYPE(request) (((unsigned int) (request) >> 11) & 0x7ffff) -#define _IOC_NOTYPE(request) ((unsigned int) (request) & 0x3ff) - -/* Construct a type information field from - the broken-out type and count fields. */ -#define _IOT(t0, c0, t1, c1, t2, c2) \ - ((c2) | (((c1) | ((c0) | ((t2) | ((t1) | (t0) << 2) << 2) << 5) << 5) << 3)) - -/* Dissect a type information field into the type and count fields. */ -#define _IOT_TYPE0(type) (((unsigned int) (type) >> 17) & 3) -#define _IOT_TYPE1(type) (((unsigned int) (type) >> 15) & 3) -#define _IOT_TYPE2(type) (((unsigned int) (type) >> 13) & 3) -#define _IOT_COUNT0(type) (((unsigned int) (type) >> 8) & 0x1f) -#define _IOT_COUNT1(type) (((unsigned int) (type) >> 3) & 0x1f) -#define _IOT_COUNT2(type) (((unsigned int) (type) >> 0) & 7) - -/* Construct an ioctl from all the broken-out fields. */ -#define _IOCT(inout, group, num, t0, c0, t1, c1, t2, c2) \ - _IOC ((inout), (group), (num), _IOT ((t0), (c0), (t1), (c1), (t2), (c2))) - -/* Construct an individual type field for TYPE. */ -#define _IOTS(type) \ - (sizeof (type) == 8 ? IOC_64 : (enum __ioctl_datum) (sizeof (type) >> 1)) - -/* Construct a type information field for - a single argument of the scalar TYPE. */ -#define _IOT_SIMPLE(type) _IOT (_IOTS (type), 1, 0, 0, 0, 0) - -/* Basic C types. */ -#define _IOT__IOTBASE_char _IOT_SIMPLE (char) -#define _IOT__IOTBASE_short _IOT_SIMPLE (short) -#define _IOT__IOTBASE_int _IOT_SIMPLE (int) -#define _IOT__IOTBASE_long _IOT_SIMPLE (long) -#define _IOT_char _IOT_SIMPLE (char) -#define _IOT_short _IOT_SIMPLE (short) -#define _IOT_int _IOT_SIMPLE (int) -#define _IOT_long _IOT_SIMPLE (long) - -#define _IOT__IOTBASE_int8_t _IOT_SIMPLE (int8_t) -#define _IOT__IOTBASE_uint8_t _IOT_SIMPLE (uint8_t) -#define _IOT__IOTBASE_int16_t _IOT_SIMPLE (int16_t) -#define _IOT__IOTBASE_uint16_t _IOT_SIMPLE (uint16_t) -#define _IOT__IOTBASE_int32_t _IOT_SIMPLE (int32_t) -#define _IOT__IOTBASE_uint32_t _IOT_SIMPLE (uint32_t) -#define _IOT__IOTBASE_int64_t _IOT_SIMPLE (int64_t) -#define _IOT__IOTBASE_uint64_t _IOT_SIMPLE (uint64_t) - -#define _IOT__IOTBASE_size_t _IOT_SIMPLE (size_t) -#define _IOT__IOTBASE_ssize_t _IOT_SIMPLE (ssize_t) - - -/* Standard flavors of ioctls. - _IOT_foobar is defined either in this file, - or where struct foobar is defined. */ -#define _IO(g, n) _IOC (IOC_VOID, (g), (n), 0) -#define _IOIW(g, n, t) _IOC (IOC_VOID, (g), (n), _IOC_ENCODE_TYPE (t)) -#define _IOR(g, n, t) _IOC (IOC_OUT, (g), (n), _IOC_ENCODE_TYPE (t)) -#define _IOW(g, n, t) _IOC (IOC_IN, (g), (n), _IOC_ENCODE_TYPE (t)) -#define _IOWR(g, n, t) _IOC (IOC_INOUT, (g), (n), _IOC_ENCODE_TYPE (t)) - -/* These macros do some preprocessor gymnastics to turn a TYPESPEC of - `struct foobar' into the identifier `_IOT_foobar', which is generally - defined using `_IOT' (above) in whatever file defines `struct foobar'. - For a TYPESPEC that does not begin with `struct' produces a different - identifier: `int' produces `_IOT__IOTBASE_int'. These identifiers - are defined for the basic C types above. */ -#define _IOC_ENCODE_TYPE(typespec) _IOC_ENCODE_TYPE_1(_IOTBASE_##typespec) -#define _IOTBASE_struct -#define _IOC_ENCODE_TYPE_1(typespec) _IOC_ENCODE_TYPE_2(typespec) -#define _IOC_ENCODE_TYPE_2(typespec) _IOT_##typespec - -/* Also, ignore signedness. */ -#define _IOTBASE_unsigned -#define _IOTBASE_signed - - -/* ioctls verbatim from 4.4 <sys/ioctl.h>. */ - -#define TIOCMODG _IOR('t', 3, int) /* get modem control state */ -#define TIOCMODS _IOW('t', 4, int) /* set modem control state */ -#define TIOCM_LE 0001 /* line enable */ -#define TIOCM_DTR 0002 /* data terminal ready */ -#define TIOCM_RTS 0004 /* request to send */ -#define TIOCM_ST 0010 /* secondary transmit */ -#define TIOCM_SR 0020 /* secondary receive */ -#define TIOCM_CTS 0040 /* clear to send */ -#define TIOCM_CAR 0100 /* carrier detect */ -#define TIOCM_CD TIOCM_CAR -#define TIOCM_RNG 0200 /* ring */ -#define TIOCM_RI TIOCM_RNG -#define TIOCM_DSR 0400 /* data set ready */ - /* 8-10 compat */ -#define TIOCEXCL _IO('t', 13) /* set exclusive use of tty */ -#define TIOCNXCL _IO('t', 14) /* reset exclusive use of tty */ - /* 15 unused */ -#define TIOCFLUSH _IOW('t', 16, int) /* flush buffers */ - /* 17-18 compat */ -#define TIOCGETA _IOR('t', 19, struct termios) /* get termios struct */ -#define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */ -#define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */ -#define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */ -#define TIOCGETD _IOR('t', 26, int) /* get line discipline */ -#define TIOCSETD _IOW('t', 27, int) /* set line discipline */ - /* 127-124 compat */ -#define TIOCSBRK _IO('t', 123) /* set break bit */ -#define TIOCCBRK _IO('t', 122) /* clear break bit */ -#define TIOCSDTR _IO('t', 121) /* set data terminal ready */ -#define TIOCCDTR _IO('t', 120) /* clear data terminal ready */ -#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */ -#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */ - /* 117-116 compat */ -#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */ -#define TIOCSTI _IOW('t', 114, char) /* simulate terminal input */ -#define TIOCNOTTY _IO('t', 113) /* void tty association */ -#define TIOCPKT _IOW('t', 112, int) /* pty: set/clear packet mode */ -#define TIOCPKT_DATA 0x00 /* data packet */ -#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */ -#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */ -#define TIOCPKT_STOP 0x04 /* stop output */ -#define TIOCPKT_START 0x08 /* start output */ -#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */ -#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */ -#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */ -#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */ -#define TIOCSTART _IO('t', 110) /* start output, like ^Q */ -#define TIOCMSET _IOW('t', 109, int) /* set all modem bits */ -#define TIOCMBIS _IOW('t', 108, int) /* bis modem bits */ -#define TIOCMBIC _IOW('t', 107, int) /* bic modem bits */ -#define TIOCMGET _IOR('t', 106, int) /* get all modem bits */ -#define TIOCREMOTE _IOW('t', 105, int) /* remote input editing */ -#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */ -#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */ -#define TIOCUCNTL _IOW('t', 102, int) /* pty: set/clr usr cntl mode */ -#define UIOCCMD(n) _IO('u', n) /* usr cntl op "n" */ -#define TIOCCONS _IOW('t', 98, int) /* become virtual console */ -#define TIOCSCTTY _IO('t', 97) /* become controlling tty */ -#define TIOCEXT _IOW('t', 96, int) /* pty: external processing */ -#define TIOCSIG _IO('t', 95) /* pty: generate signal */ -#define TIOCDRAIN _IO('t', 94) /* wait till output drained */ - -#define TTYDISC 0 /* termios tty line discipline */ -#define TABLDISC 3 /* tablet discipline */ -#define SLIPDISC 4 /* serial IP discipline */ - - -#define FIOCLEX _IO('f', 1) /* set close on exec on fd */ -#define FIONCLEX _IO('f', 2) /* remove close on exec */ -#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ -#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ -#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ -#define FIOSETOWN _IOW('f', 124, int) /* set owner */ -#define FIOGETOWN _IOR('f', 123, int) /* get owner */ - -/* socket i/o controls */ -#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */ -#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */ -#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */ -#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */ -#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */ -#define SIOCSPGRP _IOW('s', 8, int) /* set process group */ -#define SIOCGPGRP _IOR('s', 9, int) /* get process group */ - -#define SIOCADDRT _IOW('r', 10, struct ortentry) /* add route */ -#define SIOCDELRT _IOW('r', 11, struct ortentry) /* delete route */ - -#define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */ -#define OSIOCGIFADDR _IOWR('i',13, struct ifreq) /* get ifnet address */ -#define SIOCGIFADDR _IOWR('i',33, struct ifreq) /* get ifnet address */ -#define SIOCGIFHWADDR _IOWR('i',39, struct ifreq) /* get hwaddress */ -#define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */ -#define OSIOCGIFDSTADDR _IOWR('i',15, struct ifreq) /* get p-p address */ -#define SIOCGIFDSTADDR _IOWR('i',34, struct ifreq) /* get p-p address */ -#define SIOCSIFFLAGS _IOW('i', 16, struct ifreq_short)/* set ifnet flags */ -#define SIOCGIFFLAGS _IOWR('i',17, struct ifreq_short)/* get ifnet flags */ -#define OSIOCGIFBRDADDR _IOWR('i',18, struct ifreq) /* get broadcast addr */ -#define SIOCGIFBRDADDR _IOWR('i',35, struct ifreq) /* get broadcast addr */ -#define SIOCSIFBRDADDR _IOW('i',19, struct ifreq) /* set broadcast addr */ -#define OSIOCGIFCONF _IOWR('i',20, struct ifconf) /* get ifnet list */ -#define SIOCGIFCONF _IOWR('i',36, struct ifconf) /* get ifnet list */ -#define OSIOCGIFNETMASK _IOWR('i',21, struct ifreq) /* get net addr mask */ -#define SIOCGIFNETMASK _IOWR('i',37, struct ifreq) /* get net addr mask */ -#define SIOCSIFNETMASK _IOW('i',22, struct ifreq) /* set net addr mask */ -#define SIOCGIFMETRIC _IOWR('i',23, struct ifreq_int) /* get IF metric */ -#define SIOCSIFMETRIC _IOW('i',24, struct ifreq_int) /* set IF metric */ -#define SIOCDIFADDR _IOW('i',25, struct ifreq) /* delete IF addr */ -#define SIOCAIFADDR _IOW('i',26, struct ifaliasreq) /* add/chg IF alias */ - -#define SIOCSARP _IOW('i', 30, struct arpreq) /* set arp entry */ -#define OSIOCGARP _IOWR('i',31, struct arpreq) /* get arp entry */ -#define SIOCGARP _IOWR('i',38, struct arpreq) /* get arp entry */ -#define SIOCDARP _IOW('i', 32, struct arpreq) /* delete arp entry */ - -#define SIOCGIFMTU _IOWR('i', 51, struct ifreq_int)/* get IF mtu */ -#define SIOCSIFMTU _IOW('i', 52, struct ifreq_int) /* set IF mtu */ - -#define SIOCGIFINDEX _IOWR('i', 90, struct ifreq_int)/* get IF index */ -#define SIOCGIFNAME _IOWR('i', 91, struct ifreq_int)/* set IF name */ - - -/* Compatibility with 4.3 BSD terminal driver. - From 4.4 <sys/ioctl_compat.h>. */ - -#ifdef USE_OLD_TTY -# undef TIOCGETD -# define TIOCGETD _IOR('t', 0, int) /* get line discipline */ -# undef TIOCSETD -# define TIOCSETD _IOW('t', 1, int) /* set line discipline */ -#else -# define OTIOCGETD _IOR('t', 0, int) /* get line discipline */ -# define OTIOCSETD _IOW('t', 1, int) /* set line discipline */ -#endif -#define TIOCHPCL _IO('t', 2) /* hang up on last close */ -#define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */ -#define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */ -#define TIOCSETN _IOW('t',10,struct sgttyb)/* as above, but no flushtty*/ -#define TIOCSETC _IOW('t',17,struct tchars)/* set special characters */ -#define TIOCGETC _IOR('t',18,struct tchars)/* get special characters */ -#define TANDEM 0x00000001 /* send stopc on out q full */ -#define CBREAK 0x00000002 /* half-cooked mode */ -#define LCASE 0x00000004 /* simulate lower case */ -#define ECHO 0x00000008 /* echo input */ -#define CRMOD 0x00000010 /* map \r to \r\n on output */ -#define RAW 0x00000020 /* no i/o processing */ -#define ODDP 0x00000040 /* get/send odd parity */ -#define EVENP 0x00000080 /* get/send even parity */ -#define ANYP 0x000000c0 /* get any parity/send none */ -#define NLDELAY 0x00000300 /* \n delay */ -#define NL0 0x00000000 -#define NL1 0x00000100 /* tty 37 */ -#define NL2 0x00000200 /* vt05 */ -#define NL3 0x00000300 -#define TBDELAY 0x00000c00 /* horizontal tab delay */ -#define TAB0 0x00000000 -#define TAB1 0x00000400 /* tty 37 */ -#define TAB2 0x00000800 -#define XTABS 0x00000c00 /* expand tabs on output */ -#define CRDELAY 0x00003000 /* \r delay */ -#define CR0 0x00000000 -#define CR1 0x00001000 /* tn 300 */ -#define CR2 0x00002000 /* tty 37 */ -#define CR3 0x00003000 /* concept 100 */ -#define VTDELAY 0x00004000 /* vertical tab delay */ -#define FF0 0x00000000 -#define FF1 0x00004000 /* tty 37 */ -#define BSDELAY 0x00008000 /* \b delay */ -#define BS0 0x00000000 -#define BS1 0x00008000 -#define ALLDELAY (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY) -#define CRTBS 0x00010000 /* do backspacing for crt */ -#define PRTERA 0x00020000 /* \ ... / erase */ -#define CRTERA 0x00040000 /* " \b " to wipe out char */ -#define TILDE 0x00080000 /* hazeltine tilde kludge */ -#define MDMBUF 0x00100000 /*start/stop output on carrier*/ -#define LITOUT 0x00200000 /* literal output */ -#define TOSTOP 0x00400000 /*SIGSTOP on background output*/ -#define FLUSHO 0x00800000 /* flush output to terminal */ -#define NOHANG 0x01000000 /* (no-op) was no SIGHUP on carrier drop */ -#define L001000 0x02000000 -#define CRTKIL 0x04000000 /* kill line with " \b " */ -#define PASS8 0x08000000 -#define CTLECH 0x10000000 /* echo control chars as ^X */ -#define PENDIN 0x20000000 /* tp->t_rawq needs reread */ -#define DECCTQ 0x40000000 /* only ^Q starts after ^S */ -#define NOFLSH 0x80000000 /* no output flush on signal */ -#define TIOCLBIS _IOW('t', 127, int) /* bis local mode bits */ -#define TIOCLBIC _IOW('t', 126, int) /* bic local mode bits */ -#define TIOCLSET _IOW('t', 125, int) /* set entire local mode word */ -#define TIOCLGET _IOR('t', 124, int) /* get local modes */ -#define LCRTBS (CRTBS>>16) -#define LPRTERA (PRTERA>>16) -#define LCRTERA (CRTERA>>16) -#define LTILDE (TILDE>>16) -#define LMDMBUF (MDMBUF>>16) -#define LLITOUT (LITOUT>>16) -#define LTOSTOP (TOSTOP>>16) -#define LFLUSHO (FLUSHO>>16) -#define LNOHANG (NOHANG>>16) -#define LCRTKIL (CRTKIL>>16) -#define LPASS8 (PASS8>>16) -#define LCTLECH (CTLECH>>16) -#define LPENDIN (PENDIN>>16) -#define LDECCTQ (DECCTQ>>16) -#define LNOFLSH (NOFLSH>>16) -#define TIOCSLTC _IOW('t',117,struct ltchars)/* set local special chars*/ -#define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars*/ -#define OTIOCCONS _IO('t', 98) /* for hp300 -- sans int arg */ -#define OTTYDISC 0 -#define NETLDISC 1 -#define NTTYDISC 2 - -/* From 4.4 <sys/ttydev.h>. */ -#ifdef USE_OLD_TTY -# define B0 0 -# define B50 1 -# define B75 2 -# define B110 3 -# define B134 4 -# define B150 5 -# define B200 6 -# define B300 7 -# define B600 8 -# define B1200 9 -# define B1800 10 -# define B2400 11 -# define B4800 12 -# define B9600 13 -# define EXTA 14 -# define EXTB 15 -#endif /* USE_OLD_TTY */ - -#endif /* bits/ioctls.h */ diff --git a/sysdeps/mach/hurd/bits/local_lim.h b/sysdeps/mach/hurd/bits/local_lim.h deleted file mode 100644 index dd13074c9b..0000000000 --- a/sysdeps/mach/hurd/bits/local_lim.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Minimum guaranteed maximum values for system limits. Hurd version. - Copyright (C) 1993-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -/* GNU has no arbitrary fixed limits on most of these things, so we - don't define the macros. Some things are unlimited. Some are in - fact limited but the limit is run-time dependent and fetched with - `sysconf' or `pathconf'. */ - -/* This one value is actually constrained by the `struct dirent' - layout, in which the `d_namlen' member is only 8 bits wide. */ - -#define NAME_MAX 255 - -/* POSIX.1 requires that we define NGROUPS_MAX (though none of the others - is required). GNU allows any number of supplementary groups, - dynamically allocated. So we pick a number which seems vaguely - suitable, and `sysconf' will return a number at least as large. */ - -#define NGROUPS_MAX 256 diff --git a/sysdeps/mach/hurd/bits/param.h b/sysdeps/mach/hurd/bits/param.h deleted file mode 100644 index 6ebd7eeaa5..0000000000 --- a/sysdeps/mach/hurd/bits/param.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Old-style Unix parameters and limits. Hurd version. - Copyright (C) 1993-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _SYS_PARAM_H -# error "Never use <bits/param.h> directly; include <sys/param.h> instead." -#endif - -/* This file is deprecated and is provided only for compatibility with - Unix systems. It is unwise to include this file on programs which - are intended only for GNU systems. - - Parts from: - - * Copyright (c) 1982, 1986, 1989 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)param.h 7.23 (Berkeley) 5/6/91 - */ - - -/* What versions of BSD we are compatible with. */ -#define BSD 199306 /* System version (year & month). */ -#define BSD4_3 1 -#define BSD4_4 1 - -#define GNU 1994100 /* GNU version (year, month, and release). */ - - -/* BSD names for some <limits.h> values. We do not define the BSD names - for the values which are not statically limited, such as NOFILE. */ - - -/* There is nothing quite equivalent in GNU to Unix "mounts", but there is - no limit on the number of simultaneously attached filesystems. */ -#define NMOUNT INT_MAX - - -/* Scale factor for scaled integers used to count %cpu time and load avgs. - - The number of CPU `tick's that map to a unique `%age' can be expressed - by the formula (1 / (2 ^ (FSHIFT - 11))). The maximum load average that - can be calculated (assuming 32 bits) can be closely approximated using - the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15). */ - -#define FSHIFT 11 /* Bits to right of fixed binary point. */ -#define FSCALE (1<<FSHIFT) diff --git a/sysdeps/mach/hurd/bits/posix_opt.h b/sysdeps/mach/hurd/bits/posix_opt.h deleted file mode 100644 index 18734c86bc..0000000000 --- a/sysdeps/mach/hurd/bits/posix_opt.h +++ /dev/null @@ -1,182 +0,0 @@ -/* Define POSIX options for GNU/Hurd. - Copyright (C) 1998-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _UNISTD_H -#error "Never include this file directly; use <unistd.h> instead." -#endif - -#ifndef _BITS_POSIX_OPT_H -#define _BITS_POSIX_OPT_H 1 - - -/* Job control is supported. */ -#define _POSIX_JOB_CONTROL 1 - -/* Processes have a saved set-user-ID and a saved set-group-ID. */ -#define _POSIX_SAVED_IDS 1 - -/* Priority scheduling is not supported. */ -#undef _POSIX_PRIORITY_SCHEDULING - -/* Synchronizing file data is supported, but msync is missing. */ -#undef _POSIX_SYNCHRONIZED_IO - -/* The fsync function is present. */ -#define _POSIX_FSYNC 200809L - -/* Mapping of files to memory is supported. */ -#define _POSIX_MAPPED_FILES 200809L - -/* Locking of all memory could be supported in future. */ -#define _POSIX_MEMLOCK 0 - -/* Locking of ranges of memory is supported. */ -#define _POSIX_MEMLOCK_RANGE 200809L - -/* Setting of memory protections is supported. */ -#define _POSIX_MEMORY_PROTECTION 200809L - -/* Elements of the `c_cc' member of `struct termios' structure - can be disabled by using the value _POSIX_VDISABLE. */ -#define _POSIX_VDISABLE ((unsigned char) -1) - - -/* Different Hurd filesystems might do these differently. - You must query the particular file with `pathconf' or `fpathconf'. */ -#undef _POSIX_CHOWN_RESTRICTED /* Only root can change owner of file? */ -#undef _POSIX_NO_TRUNC /* Overlong file names get error? */ -#undef _POSIX_SYNC_IO /* File supports O_SYNC et al? */ - -/* X/Open realtime support is not supported. */ -#undef _XOPEN_REALTIME - -/* X/Open thread realtime support is not supported. */ -#undef _XOPEN_REALTIME_THREADS - -/* XPG4.2 shared memory is not supported. */ -#undef _XOPEN_SHM - -/* We do not have the POSIX threads interface. */ -#define _POSIX_THREADS -1 - -/* We have the reentrant functions described in POSIX. */ -#define _POSIX_REENTRANT_FUNCTIONS 1 -#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L - -/* These are all things that won't be supported when _POSIX_THREADS is not. */ -#define _POSIX_THREAD_PRIORITY_SCHEDULING -1 -#define _POSIX_THREAD_ATTR_STACKSIZE -1 -#define _POSIX_THREAD_ATTR_STACKADDR -1 -#define _POSIX_THREAD_PRIO_INHERIT -1 -#define _POSIX_THREAD_PRIO_PROTECT -1 -#ifdef __USE_XOPEN2K8 -# define _POSIX_THREAD_ROBUST_PRIO_INHERIT -1 -# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 -#endif -#define _POSIX_SEMAPHORES -1 - -/* Real-time signals are not yet supported. */ -#define _POSIX_REALTIME_SIGNALS -1 - -/* Asynchronous I/O might supported with the existing ABI. */ -#define _POSIX_ASYNCHRONOUS_IO 0 -#undef _POSIX_ASYNC_IO -/* Alternative name for Unix98. */ -#define _LFS_ASYNCHRONOUS_IO _POSIX_ASYNCHRONOUS_IO -/* Support for prioritization is not available. */ -#undef _POSIX_PRIORITIZED_IO - -/* The LFS support in asynchronous I/O is also available. */ -#define _LFS64_ASYNCHRONOUS_IO _POSIX_ASYNCHRONOUS_IO - -/* The rest of the LFS is also available. */ -#define _LFS_LARGEFILE 1 -#define _LFS64_LARGEFILE 1 -#define _LFS64_STDIO 1 - -/* POSIX.4 shared memory objects are supported (using regular files). */ -#define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_MAPPED_FILES - -/* CPU-time clocks support needs to be checked at runtime. */ -#define _POSIX_CPUTIME 0 - -/* Clock support in threads must be also checked at runtime. */ -#define _POSIX_THREAD_CPUTIME 0 - -/* GNU libc provides regular expression handling. */ -#define _POSIX_REGEXP 1 - -/* Reader/Writer locks are not available. */ -#define _POSIX_READER_WRITER_LOCKS -1 - -/* We have a POSIX shell. */ -#define _POSIX_SHELL 1 - -/* We cannot support the Timeouts option without _POSIX_THREADS. */ -#define _POSIX_TIMEOUTS -1 - -/* We do not support spinlocks. */ -#define _POSIX_SPIN_LOCKS -1 - -/* The `spawn' function family is supported. */ -#define _POSIX_SPAWN 200809L - -/* We do not have POSIX timers, but could in future without ABI change. */ -#define _POSIX_TIMERS 0 - -/* The barrier functions are not available. */ -#define _POSIX_BARRIERS -1 - -/* POSIX message queues could be available in future. */ -#define _POSIX_MESSAGE_PASSING 0 - -/* Thread process-shared synchronization is not supported. */ -#define _POSIX_THREAD_PROCESS_SHARED -1 - -/* The monotonic clock might be available. */ -#define _POSIX_MONOTONIC_CLOCK 0 - -/* The clock selection interfaces are available. */ -#define _POSIX_CLOCK_SELECTION 200809L - -/* Advisory information interfaces could be available in future. */ -#define _POSIX_ADVISORY_INFO 0 - -/* IPv6 support is available. */ -#define _POSIX_IPV6 200809L - -/* Raw socket support is available. */ -#define _POSIX_RAW_SOCKETS 200809L - -/* We have at least one terminal. */ -#define _POSIX2_CHAR_TERM 200809L - -/* Neither process nor thread sporadic server interfaces is available. */ -#define _POSIX_SPORADIC_SERVER -1 -#define _POSIX_THREAD_SPORADIC_SERVER -1 - -/* trace.h is not available. */ -#define _POSIX_TRACE -1 -#define _POSIX_TRACE_EVENT_FILTER -1 -#define _POSIX_TRACE_INHERIT -1 -#define _POSIX_TRACE_LOG -1 - -/* Typed memory objects are not available. */ -#define _POSIX_TYPED_MEMORY_OBJECTS -1 - -#endif /* bits/posix_opt.h */ diff --git a/sysdeps/mach/hurd/bits/socket.h b/sysdeps/mach/hurd/bits/socket.h deleted file mode 100644 index 6eb09a0ab3..0000000000 --- a/sysdeps/mach/hurd/bits/socket.h +++ /dev/null @@ -1,362 +0,0 @@ -/* System-specific socket constants and types. Hurd version. - Copyright (C) 1991-2017 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#ifndef __BITS_SOCKET_H -#define __BITS_SOCKET_H 1 - -#ifndef _SYS_SOCKET_H -# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead." -#endif - -#define __need_size_t -#define __need_NULL -#include <stddef.h> - -#include <limits.h> /* XXX Is this allowed? */ -#include <bits/types.h> - -/* Type for length arguments in socket calls. */ -#ifndef __socklen_t_defined -typedef __socklen_t socklen_t; -# define __socklen_t_defined -#endif - - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - -#define SOCK_MAX (SOCK_SEQPACKET + 1) - /* Mask which covers at least up to SOCK_MASK-1. The - remaining bits are used as flags. */ -#define SOCK_TYPE_MASK 0xf - - /* Flags to be ORed into the type parameter of socket and socketpair and - used for the flags parameter of accept4. */ - - SOCK_CLOEXEC = 0x00400000, /* Atomically set close-on-exec flag for the - new descriptor(s). */ -#define SOCK_CLOEXEC SOCK_CLOEXEC - - /* Changed from the O_NONBLOCK value (0x8, which is unusable for us as it is - conflicting with the original SOCK_* flags' values) to the Linux value - (04000). TODO: is there a ``better'' value? */ - SOCK_NONBLOCK = 0x0800 /* Atomically mark descriptor(s) as - non-blocking. */ -#define SOCK_NONBLOCK SOCK_NONBLOCK -}; - -/* Protocol families. */ -#define PF_UNSPEC 0 /* Unspecified. */ -#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ -#define PF_UNIX PF_LOCAL /* Old BSD name for PF_LOCAL. */ -#define PF_FILE PF_LOCAL /* POSIX name for PF_LOCAL. */ -#define PF_INET 2 /* IP protocol family. */ -#define PF_IMPLINK 3 /* ARPAnet IMP protocol. */ -#define PF_PUP 4 /* PUP protocols. */ -#define PF_CHAOS 5 /* MIT Chaos protocols. */ -#define PF_NS 6 /* Xerox NS protocols. */ -#define PF_ISO 7 /* ISO protocols. */ -#define PF_OSI PF_ISO -#define PF_ECMA 8 /* ECMA protocols. */ -#define PF_DATAKIT 9 /* AT&T Datakit protocols. */ -#define PF_CCITT 10 /* CCITT protocols (X.25 et al). */ -#define PF_SNA 11 /* IBM SNA protocol. */ -#define PF_DECnet 12 /* DECnet protocols. */ -#define PF_DLI 13 /* Direct data link interface. */ -#define PF_LAT 14 /* DEC Local Area Transport protocol. */ -#define PF_HYLINK 15 /* NSC Hyperchannel protocol. */ -#define PF_APPLETALK 16 /* Don't use this. */ -#define PF_ROUTE 17 /* Internal Routing Protocol. */ -#define PF_LINK 18 /* Link layer interface. */ -#define PF_XTP 19 /* eXpress Transfer Protocol (no AF). */ -#define PF_COIP 20 /* Connection-oriented IP, aka ST II. */ -#define PF_CNT 21 /* Computer Network Technology. */ -#define PF_RTIP 22 /* Help Identify RTIP packets. **/ -#define PF_IPX 23 /* Novell Internet Protocol. */ -#define PF_SIP 24 /* Simple Internet Protocol. */ -#define PF_PIP 25 /* Help Identify PIP packets. */ -#define PF_INET6 26 /* IP version 6. */ -#define PF_MAX 27 - -/* Address families. */ -#define AF_UNSPEC PF_UNSPEC -#define AF_LOCAL PF_LOCAL -#define AF_UNIX PF_UNIX -#define AF_FILE PF_FILE -#define AF_INET PF_INET -#define AF_IMPLINK PF_IMPLINK -#define AF_PUP PF_PUP -#define AF_CHAOS PF_CHAOS -#define AF_NS PF_NS -#define AF_ISO PF_ISO -#define AF_OSI PF_OSI -#define AF_ECMA PF_ECMA -#define AF_DATAKIT PF_DATAKIT -#define AF_CCITT PF_CCITT -#define AF_SNA PF_SNA -#define AF_DECnet PF_DECnet -#define AF_DLI PF_DLI -#define AF_LAT PF_LAT -#define AF_HYLINK PF_HYLINK -#define AF_APPLETALK PF_APPLETALK -#define AF_ROUTE PF_ROUTE -#define AF_LINK PF_LINK -#define pseudo_AF_XTP PF_XTP -#define AF_COIP PF_COIP -#define AF_CNT PF_CNT -#define pseudo_AF_RTIP PF_RTIP -#define AF_IPX PF_IPX -#define AF_SIP PF_SIP -#define pseudo_AF_PIP PF_PIP -#define AF_INET6 PF_INET6 -#define AF_MAX PF_MAX - -/* Maximum queue length specifiable by listen. */ -#define SOMAXCONN 128 /* 5 on the origional 4.4 BSD. */ - -/* Get the definition of the macro to define the common sockaddr members. */ -#include <bits/sockaddr.h> - -/* Structure describing a generic socket address. */ -struct sockaddr - { - __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ - char sa_data[14]; /* Address data. */ - }; - - -/* Structure large enough to hold any socket address (with the historical - exception of AF_UNIX). */ -#if ULONG_MAX > 0xffffffff -# define __ss_aligntype __uint64_t -#else -# define __ss_aligntype __uint32_t -#endif -#define _SS_PADSIZE \ - (_SS_SIZE - __SOCKADDR_COMMON_SIZE - sizeof (__ss_aligntype)) - -struct sockaddr_storage - { - __SOCKADDR_COMMON (ss_); /* Address family, etc. */ - char __ss_padding[_SS_PADSIZE]; - __ss_aligntype __ss_align; /* Force desired alignment. */ - }; - - -/* Bits in the FLAGS argument to `send', `recv', et al. */ -enum - { - MSG_OOB = 0x01, /* Process out-of-band data. */ -#define MSG_OOB MSG_OOB - MSG_PEEK = 0x02, /* Peek at incoming messages. */ -#define MSG_PEEK MSG_PEEK - MSG_DONTROUTE = 0x04, /* Don't use local routing. */ -#define MSG_DONTROUTE MSG_DONTROUTE - MSG_EOR = 0x08, /* Data completes record. */ -#define MSG_EOR MSG_EOR - MSG_TRUNC = 0x10, /* Data discarded before delivery. */ -#define MSG_TRUNC MSG_TRUNC - MSG_CTRUNC = 0x20, /* Control data lost before delivery. */ -#define MSG_CTRUNC MSG_CTRUNC - MSG_WAITALL = 0x40, /* Wait for full request or error. */ -#define MSG_WAITALL MSG_WAITALL - MSG_DONTWAIT = 0x80, /* This message should be nonblocking. */ -#define MSG_DONTWAIT MSG_DONTWAIT - MSG_NOSIGNAL = 0x0400 /* Do not generate SIGPIPE on EPIPE. */ -#define MSG_NOSIGNAL MSG_NOSIGNAL - }; - - -/* Structure describing messages sent by - `sendmsg' and received by `recvmsg'. */ -struct msghdr - { - void *msg_name; /* Address to send to/receive from. */ - socklen_t msg_namelen; /* Length of address data. */ - - struct iovec *msg_iov; /* Vector of data to send/receive into. */ - int msg_iovlen; /* Number of elements in the vector. */ - - void *msg_control; /* Ancillary data (eg BSD filedesc passing). */ - socklen_t msg_controllen; /* Ancillary data buffer length. */ - - int msg_flags; /* Flags in received message. */ - }; - -/* Structure used for storage of ancillary data object information. */ -struct cmsghdr - { - socklen_t cmsg_len; /* Length of data in cmsg_data plus length - of cmsghdr structure. */ - int cmsg_level; /* Originating protocol. */ - int cmsg_type; /* Protocol specific type. */ -#if __glibc_c99_flexarr_available - __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */ -#endif - }; - -/* Ancillary data object manipulation macros. */ -#if __glibc_c99_flexarr_available -# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data) -#else -# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) -#endif - -#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) - -#define CMSG_FIRSTHDR(mhdr) \ - ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ - ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL) - -#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ - & (size_t) ~(sizeof (size_t) - 1)) -#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ - + CMSG_ALIGN (sizeof (struct cmsghdr))) -#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) - -extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, - struct cmsghdr *__cmsg) __THROW; -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE __extern_inline -# endif -_EXTERN_INLINE struct cmsghdr * -__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) -{ - if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) - /* The kernel header does this so there may be a reason. */ - return NULL; - - __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg - + CMSG_ALIGN (__cmsg->cmsg_len)); - if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control - + __mhdr->msg_controllen) - || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) - > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) - /* No more entries. */ - return NULL; - return __cmsg; -} -#endif /* Use `extern inline'. */ - -/* Socket level message types. */ -enum - { - SCM_RIGHTS = 0x01, /* Access rights (array of int). */ -#define SCM_RIGHTS SCM_RIGHTS - SCM_TIMESTAMP = 0x02, /* Timestamp (struct timeval). */ -#define SCM_TIMESTAMP SCM_TIMESTAMP - SCM_CREDS = 0x03 /* Process creds (struct cmsgcred). */ -#define SCM_CREDS SCM_CREDS - }; - -/* Unfortunately, BSD practice dictates this structure be of fixed size. - If there are more than CMGROUP_MAX groups, the list is truncated. - (On GNU systems, the `cmcred_euid' field is just the first in the - list of effective UIDs.) */ -#define CMGROUP_MAX 16 - -/* Structure delivered by SCM_CREDS. This describes the identity of the - sender of the data simultaneously received on the socket. By BSD - convention, this is included only when a sender on a AF_LOCAL socket - sends cmsg data of this type and size; the sender's structure is - ignored, and the system fills in the various IDs of the sender process. */ -struct cmsgcred - { - __pid_t cmcred_pid; - __uid_t cmcred_uid; - __uid_t cmcred_euid; - __gid_t cmcred_gid; - int cmcred_ngroups; - __gid_t cmcred_groups[CMGROUP_MAX]; - }; - -/* Protocol number used to manipulate socket-level options - with `getsockopt' and `setsockopt'. */ -#define SOL_SOCKET 0xffff - -/* Socket-level options for `getsockopt' and `setsockopt'. */ -enum - { - SO_DEBUG = 0x0001, /* Record debugging information. */ -#define SO_DEBUG SO_DEBUG - SO_ACCEPTCONN = 0x0002, /* Accept connections on socket. */ -#define SO_ACCEPTCONN SO_ACCEPTCONN - SO_REUSEADDR = 0x0004, /* Allow reuse of local addresses. */ -#define SO_REUSEADDR SO_REUSEADDR - SO_KEEPALIVE = 0x0008, /* Keep connections alive and send - SIGPIPE when they die. */ -#define SO_KEEPALIVE SO_KEEPALIVE - SO_DONTROUTE = 0x0010, /* Don't do local routing. */ -#define SO_DONTROUTE SO_DONTROUTE - SO_BROADCAST = 0x0020, /* Allow transmission of - broadcast messages. */ -#define SO_BROADCAST SO_BROADCAST - SO_USELOOPBACK = 0x0040, /* Use the software loopback to avoid - hardware use when possible. */ -#define SO_USELOOPBACK SO_USELOOPBACK - SO_LINGER = 0x0080, /* Block on close of a reliable - socket to transmit pending data. */ -#define SO_LINGER SO_LINGER - SO_OOBINLINE = 0x0100, /* Receive out-of-band data in-band. */ -#define SO_OOBINLINE SO_OOBINLINE - SO_REUSEPORT = 0x0200, /* Allow local address and port reuse. */ -#define SO_REUSEPORT SO_REUSEPORT - SO_SNDBUF = 0x1001, /* Send buffer size. */ -#define SO_SNDBUF SO_SNDBUF - SO_RCVBUF = 0x1002, /* Receive buffer. */ -#define SO_RCVBUF SO_RCVBUF - SO_SNDLOWAT = 0x1003, /* Send low-water mark. */ -#define SO_SNDLOWAT SO_SNDLOWAT - SO_RCVLOWAT = 0x1004, /* Receive low-water mark. */ -#define SO_RCVLOWAT SO_RCVLOWAT - SO_SNDTIMEO = 0x1005, /* Send timeout. */ -#define SO_SNDTIMEO SO_SNDTIMEO - SO_RCVTIMEO = 0x1006, /* Receive timeout. */ -#define SO_RCVTIMEO SO_RCVTIMEO - SO_ERROR = 0x1007, /* Get and clear error status. */ -#define SO_ERROR SO_ERROR - SO_STYLE = 0x1008, /* Get socket connection style. */ -#define SO_STYLE SO_STYLE - SO_TYPE = SO_STYLE /* Compatible name for SO_STYLE. */ -#define SO_TYPE SO_TYPE - }; - -/* Structure used to manipulate the SO_LINGER option. */ -struct linger - { - int l_onoff; /* Nonzero to linger on close. */ - int l_linger; /* Time to linger. */ - }; - -#endif /* bits/socket.h */ diff --git a/sysdeps/mach/hurd/bits/stat.h b/sysdeps/mach/hurd/bits/stat.h deleted file mode 100644 index b614cc5b28..0000000000 --- a/sysdeps/mach/hurd/bits/stat.h +++ /dev/null @@ -1,258 +0,0 @@ -/* Copyright (C) 1992-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -#ifndef _BITS_STAT_H -#define _BITS_STAT_H 1 - -#include <bits/types.h> - -/* NOTE: The size of this structure (32 ints) is known in - <hurd/hurd_types.defs>, since it is used in the `io_stat' RPC. MiG - does not cope at all well with the passed C structure not being of - the expected size. There are some filler words at the end to allow - for future expansion. To increase the size of the structure used - in the RPC and retain binary compatibility, we would need to assign - a new message number. */ - -struct stat - { - int st_fstype; /* File system type. */ - __fsid_t st_fsid; /* File system ID. */ -#define st_dev st_fsid - -#ifndef __USE_FILE_OFFSET64 - __ino_t st_ino; /* File number. */ -#else - __ino64_t st_ino; /* File number. */ -#endif - unsigned int st_gen; /* To detect reuse of file numbers. */ - __dev_t st_rdev; /* Device if special file. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Number of links. */ - - __uid_t st_uid; /* Owner. */ - __gid_t st_gid; /* Owning group. */ - -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size in bytes. */ -#else - __off64_t st_size; /* Size in bytes. */ -#endif - -#ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the <sys/stat.h> header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif - - __blksize_t st_blksize; /* Optimal size for I/O. */ - -#ifndef __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. - Not related to `st_blksize'. */ -#else - __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. - Not related to `st_blksize'. */ -#endif - - __uid_t st_author; /* File author. */ - - unsigned int st_flags; /* User-defined flags. - High 16 bits can be set only by root. */ - -#ifndef __USE_FILE_OFFSET64 -# define _SPARE_SIZE ((sizeof (__fsid_t) == sizeof (int)) ? 12 : 11) -#else -# define _SPARE_SIZE ((sizeof (__fsid_t) == sizeof (int)) ? 9 : 8) -#endif - int st_spare[_SPARE_SIZE]; /* Room for future expansion. */ -#undef _SPARE_SIZE - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - int st_fstype; /* File system type. */ - __fsid_t st_fsid; /* File system ID. */ -# define st_dev st_fsid - - __ino64_t st_ino; /* File number. */ - unsigned int st_gen; /* To detect reuse of file numbers. */ - __dev_t st_rdev; /* Device if special file. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Number of links. */ - - __uid_t st_uid; /* Owner. */ - __gid_t st_gid; /* Owning group. */ - - __off64_t st_size; /* Size in bytes. */ - -#ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the <sys/stat.h> header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -#else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif - - __blksize_t st_blksize; /* Optimal size for I/O. */ - - __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. - Not related to `st_blksize'. */ - - __uid_t st_author; /* File author. */ - - unsigned int st_flags; /* User-defined flags. - High 16 bits can be set only by root. */ - -#define _SPARE_SIZE ((sizeof (__fsid_t) == sizeof (int)) ? 9 : 8) - int st_spare[_SPARE_SIZE]; /* Room for future expansion. */ -#undef _SPARE_SIZE - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -/* Nanosecond resolution time values are supported. */ -#define _STATBUF_ST_NSEC - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 00400 /* Read by owner. */ -#define __S_IWRITE 00200 /* Write by owner. */ -#define __S_IEXEC 00100 /* Execute by owner. */ - - -#ifdef __USE_GNU -/* If set, there is no benefit in caching the contents of this file. */ -#define S_INOCACHE 000000200000 - -/* If the S_IUSEUNK bit is set, then the S_IUNKNOWN bits (see below) - control access for unknown users. If S_IUSEUNK is clear, then unknown - users are treated as "others" for purposes of access control. */ -#define S_IUSEUNK 000000400000 -/* Mask of protection bits for unknown users (no effective IDs at all). */ -#define S_IUNKNOWN 000007000000 -/* Shift S_IREAD, S_IWRITE, S_IEXEC left this many bits to produce the - protection bits for unknown users. */ -#define S_IUNKSHIFT 12 - -/* Read only bits: */ - -/* There is a passive translator set for this file */ -#define S_IPTRANS 000010000000 -/* There is an active translator running on this file */ -#define S_IATRANS 000020000000 -/* This is the root of a filesystem (or single node translator) */ -#define S_IROOT 000040000000 -/* All the bits relevant to translators */ -#define S_ITRANS 000070000000 - -/* Definitely no mmaps to this. */ -#define S_IMMAP0 000100000000 - -/* ALL the unused bits. */ -#define S_ISPARE (~(S_IFMT|S_ITRANS|S_INOCACHE|S_IMMAP0| \ - S_IUSEUNK|S_IUNKNOWN|07777)) -#endif - -#ifdef __USE_MISC -/* Default file creation mask (umask). */ -# define CMASK 0022 - -/* Definitions of flags stored in file flags word. */ - -/* Super-user and owner changeable flags. */ -# define UF_SETTABLE 0x0000ffff /* mask of owner changeable flags */ -# define UF_NODUMP 0x00000001 /* do not dump file */ -# define UF_IMMUTABLE 0x00000002 /* file may not be changed */ -# define UF_APPEND 0x00000004 /* writes to file may only append */ -# define UF_OPAQUE 0x00000008 /* directory is opaque wrt. union */ -# define UF_NOUNLINK 0x00000010 /* file may not be removed or renamed */ - -/* Super-user changeable flags. */ -# define SF_SETTABLE 0xffff0000 /* mask of superuser changeable flags */ -# define SF_ARCHIVED 0x00010000 /* file is archived */ -# define SF_IMMUTABLE 0x00020000 /* file may not be changed */ -# define SF_APPEND 0x00040000 /* writes to file may only append */ -# define SF_NOUNLINK 0x00100000 /* file may not be removed or renamed */ -# define SF_SNAPSHOT 0x00200000 /* snapshot inode */ - -__BEGIN_DECLS - -/* Set file flags for FILE to FLAGS. */ -extern int chflags (__const char *__file, unsigned long int __flags) __THROW; - -/* Set file flags of the file referred to by FD to FLAGS. */ -extern int fchflags (int __fd, unsigned long int __flags) __THROW; - -__END_DECLS -#endif - -#endif /* bits/stat.h */ diff --git a/sysdeps/mach/hurd/bits/statfs.h b/sysdeps/mach/hurd/bits/statfs.h deleted file mode 100644 index 4613f0f34a..0000000000 --- a/sysdeps/mach/hurd/bits/statfs.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Definition of `struct statfs', information about a filesystem. - Copyright (C) 1996-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _SYS_STATFS_H -# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead." -#endif - -#include <bits/types.h> - -/* GNU Hurd NOTE: The size of this structure (16 ints) is known in - <hurd/hurd_types.defs>, since it is used in the `file_statfs' RPC. MiG - does not cope at all well with the passed C structure not being of the - expected size. There are some filler words at the end to allow for - future expansion. To increase the size of the structure used in the RPC - and retain binary compatibility, we would need to assign a new message - number. - - Note also that `struct statvfs' in <bits/statvfs.h> is laid out - identically to `struct statfs', so they can be used interchangeably. - Any changes made here must also be made in that file. */ - -struct statfs - { - unsigned int f_type; - unsigned int f_bsize; -#ifndef __USE_FILE_OFFSET64 - __fsblkcnt_t f_blocks; - __fsblkcnt_t f_bfree; - __fsblkcnt_t f_bavail; - __fsblkcnt_t f_files; - __fsblkcnt_t f_ffree; -#else - __fsblkcnt64_t f_blocks; - __fsblkcnt64_t f_bfree; - __fsblkcnt64_t f_bavail; - __fsblkcnt64_t f_files; - __fsblkcnt64_t f_ffree; -#endif - __fsid_t f_fsid; - unsigned int f_namelen; -#ifndef __USE_FILE_OFFSET64 - __fsfilcnt_t f_favail; -#else - __fsfilcnt64_t f_favail; -#endif - unsigned int f_frsize; - unsigned int f_flag; - unsigned int f_spare[3]; - }; - -#ifdef __USE_LARGEFILE64 -struct statfs64 - { - unsigned int f_type; - unsigned int f_bsize; - __fsblkcnt64_t f_blocks; - __fsblkcnt64_t f_bfree; - __fsblkcnt64_t f_bavail; - __fsblkcnt64_t f_files; - __fsblkcnt64_t f_ffree; - __fsid_t f_fsid; - unsigned int f_namelen; - __fsfilcnt64_t f_favail; - unsigned int f_frsize; - unsigned int f_flag; - unsigned int f_spare[3]; - }; -#endif - -/* Tell code we have this member. */ -#define _STATFS_F_NAMELEN diff --git a/sysdeps/mach/hurd/bits/statvfs.h b/sysdeps/mach/hurd/bits/statvfs.h deleted file mode 100644 index 3dcf460444..0000000000 --- a/sysdeps/mach/hurd/bits/statvfs.h +++ /dev/null @@ -1,95 +0,0 @@ -/* Definition of `struct statvfs', information about a filesystem. - Copyright (C) 1998-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _SYS_STATVFS_H -# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead." -#endif - -#include <bits/types.h> - -/* GNU Hurd NOTE: This structure is carefully laid out such that we - can use the `file_statfs' RPC to implement `statvfs' and - `fstatvfs'. Please keep this file in sync with <bits/statfs.h>, - and pay attention to the note in that file. */ - -struct statvfs - { - unsigned int __f_type; - unsigned int f_bsize; -#ifndef __USE_FILE_OFFSET64 - __fsblkcnt_t f_blocks; - __fsblkcnt_t f_bfree; - __fsblkcnt_t f_bavail; - __fsfilcnt_t f_files; - __fsfilcnt_t f_ffree; -#else - __fsblkcnt64_t f_blocks; - __fsblkcnt64_t f_bfree; - __fsblkcnt64_t f_bavail; - __fsfilcnt64_t f_files; - __fsfilcnt64_t f_ffree; -#endif - __fsid_t f_fsid; - unsigned int f_namemax; /* NOTE: f_namelen in `struct statfs'. */ -#ifndef __USE_FILE_OFFSET64 - __fsfilcnt_t f_favail; -#else - __fsfilcnt64_t f_favail; -#endif - unsigned int f_frsize; - unsigned int f_flag; - unsigned int f_spare[3]; - }; - -#ifdef __USE_LARGEFILE64 -struct statvfs64 - { - unsigned int __f_type; - unsigned int f_bsize; - __fsblkcnt64_t f_blocks; - __fsblkcnt64_t f_bfree; - __fsblkcnt64_t f_bavail; - __fsfilcnt64_t f_files; - __fsfilcnt64_t f_ffree; - __fsid_t f_fsid; - unsigned int f_namemax; - __fsfilcnt64_t f_favail; - unsigned int f_frsize; - unsigned int f_flag; - unsigned int f_spare[3]; - }; -#endif - -/* Definitions for the flag in `f_flag'. - The values for the non-standard flags come from Linux. */ -enum -{ - ST_RDONLY = 1, -#define ST_RDONLY ST_RDONLY - ST_NOSUID = 2 -#define ST_NOSUID ST_NOSUID -#ifdef __USE_GNU - , - ST_NOEXEC = 8, -# define ST_NOEXEC ST_NOEXEC - ST_SYNCHRONOUS = 16, -# define ST_SYNCHRONOUS ST_SYNCHRONOUS - ST_NOATIME = 32 /* Do not update access times. */ -# define ST_NOATIME ST_NOATIME -#endif -}; diff --git a/sysdeps/mach/hurd/bits/typesizes.h b/sysdeps/mach/hurd/bits/typesizes.h deleted file mode 100644 index e87ad60517..0000000000 --- a/sysdeps/mach/hurd/bits/typesizes.h +++ /dev/null @@ -1,68 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. Hurd version. - Copyright (C) 2002-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _BITS_TYPES_H -# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See <bits/types.h> for the meaning of these macros. This file exists so - that <bits/types.h> need not vary across different GNU platforms. */ - -#define __DEV_T_TYPE __U32_TYPE -#define __UID_T_TYPE __U32_TYPE -#define __GID_T_TYPE __U32_TYPE -#define __INO_T_TYPE __ULONGWORD_TYPE -#define __INO64_T_TYPE __UQUAD_TYPE -#define __MODE_T_TYPE __U32_TYPE -#define __NLINK_T_TYPE __UWORD_TYPE -#define __OFF_T_TYPE __SLONGWORD_TYPE -#define __OFF64_T_TYPE __SQUAD_TYPE -#define __PID_T_TYPE __S32_TYPE -#define __RLIM_T_TYPE __ULONGWORD_TYPE -#define __RLIM64_T_TYPE __UQUAD_TYPE -#define __BLKCNT_T_TYPE __SLONGWORD_TYPE -#define __BLKCNT64_T_TYPE __SQUAD_TYPE -#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE -#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE -#define __FSWORD_T_TYPE __SWORD_TYPE -#define __ID_T_TYPE __U32_TYPE -#define __CLOCK_T_TYPE __SLONGWORD_TYPE -#define __TIME_T_TYPE __SLONGWORD_TYPE -#define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE -#define __DADDR_T_TYPE __S32_TYPE -#define __KEY_T_TYPE __S32_TYPE -#define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE __S32_TYPE -#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE -#define __FSID_T_TYPE __UQUAD_TYPE -#define __SSIZE_T_TYPE __SWORD_TYPE -#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE -#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE -#define __CPU_MASK_TYPE __ULONGWORD_TYPE - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 256 - - -#endif /* bits/typesizes.h */ |