diff options
Diffstat (limited to 'sysdeps/unix/sysv/bits')
-rw-r--r-- | sysdeps/unix/sysv/bits/dirent.h | 24 | ||||
-rw-r--r-- | sysdeps/unix/sysv/bits/fcntl.h | 94 | ||||
-rw-r--r-- | sysdeps/unix/sysv/bits/local_lim.h | 32 | ||||
-rw-r--r-- | sysdeps/unix/sysv/bits/signum.h | 56 | ||||
-rw-r--r-- | sysdeps/unix/sysv/bits/stat.h | 65 | ||||
-rw-r--r-- | sysdeps/unix/sysv/bits/utmp.h | 57 | ||||
-rw-r--r-- | sysdeps/unix/sysv/bits/utsname.h | 1 |
7 files changed, 329 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/bits/dirent.h b/sysdeps/unix/sysv/bits/dirent.h new file mode 100644 index 0000000000..5035f143ce --- /dev/null +++ b/sysdeps/unix/sysv/bits/dirent.h @@ -0,0 +1,24 @@ +/* Directory entry structure `struct dirent'. Old System V version. +Copyright (C) 1996 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 Library General Public License as +published by the Free Software Foundation; either version 2 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +struct dirent + { + unsigned short int d_fileno; + char d_name[14]; + }; diff --git a/sysdeps/unix/sysv/bits/fcntl.h b/sysdeps/unix/sysv/bits/fcntl.h new file mode 100644 index 0000000000..22863ffa5e --- /dev/null +++ b/sysdeps/unix/sysv/bits/fcntl.h @@ -0,0 +1,94 @@ +/* O_*, F_*, FD_* bit values for System V. + Copyright (C) 1991, 1992, 1997 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _FCNTL_H +#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." +#endif + + +/* File access modes for `open' and `fcntl'. */ +#define O_RDONLY 0 /* Open read-only. */ +#define O_WRONLY 1 /* Open write-only. */ +#define O_RDWR 2 /* Open read/write. */ + + +/* Bits OR'd into the second argument to open. */ +#define O_CREAT 00400 /* Create file if it doesn't exist. */ +#define O_EXCL 02000 /* Fail if file already exists. */ +#define O_TRUNC 01000 /* Truncate file to zero length. */ +#if defined __USE_BSD || defined __USE_SVID +#define O_SYNC 00020 /* Synchronous writes. */ +#define O_FSYNC O_SYNC +#endif + +/* File status flags for `open' and `fcntl'. */ +#define O_APPEND 000010 /* Writes append to the file. */ +#define O_NONBLOCK 000004 /* Non-blocking I/O. */ + +#ifdef __USE_BSD +/* System V doesn't support POSIX.1 O_NONBLOCK, but O_NDELAY is close. */ +#define O_NDELAY O_NONBLOCK +#endif + +/* Mask for file access modes. This is system-dependent in case + some system ever wants to define some other flavor of access. */ +#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) + +/* 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. */ +#define F_GETLK 5 /* Get record locking info. */ +#define F_SETLK 6 /* Set record locking info. */ +#define F_SETLKW 7 /* Set record locking info, wait. */ + +/* 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 + { + 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. */ + short int l_sysid; /* System ID where locking process resides. */ + short int l_pid; /* Process holding the lock. */ + }; + +/* 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. */ + + +/* Define some more compatibility macros to be backward compatible with + BSD systems which did not managed to hide these kernel macros. */ +#ifdef __USE_BSD +#define FAPPEND O_APPEND +#define FFSYNC O_FSYNC +#define FNONBLOCK O_NONBLOCK +#define FNDELAY O_NDELAY +#endif /* Use BSD. */ diff --git a/sysdeps/unix/sysv/bits/local_lim.h b/sysdeps/unix/sysv/bits/local_lim.h new file mode 100644 index 0000000000..a370928484 --- /dev/null +++ b/sysdeps/unix/sysv/bits/local_lim.h @@ -0,0 +1,32 @@ +/* Copyright (C) 1992, 1996 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define NGROUPS_MAX 0 /* No supplementary groups. */ +#define ARG_MAX 5120 +#define CHILD_MAX 25 +#define OPEN_MAX 60 +#define LINK_MAX 1000 +#define MAX_CANON 256 + +/* For SVR3, this is 14. For SVR4, it is 255, at least on ufs + file systems, even though the System V limits.h incorrectly + defines it as 14. Giving it a value which is too large + is harmless (it is a maximum). */ +#define NAME_MAX 255 + +#define PATH_MAX 1024 diff --git a/sysdeps/unix/sysv/bits/signum.h b/sysdeps/unix/sysv/bits/signum.h new file mode 100644 index 0000000000..088ca2a1be --- /dev/null +++ b/sysdeps/unix/sysv/bits/signum.h @@ -0,0 +1,56 @@ +/* Signal number definitions. System V version. + Copyright (C) 1991, 1992, 1993, 1996 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifdef _SIGNAL_H + +/* This file defines the fake signal functions and signal + number constants for System V release 3. */ + +/* Fake signal functions. */ +#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ +#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ +#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ + + +/* Signals. */ +#define SIGHUP 1 /* Hangup (POSIX). */ +#define SIGINT 2 /* Interrupt (ANSI). */ +#define SIGQUIT 3 /* Quit (POSIX). */ +#define SIGILL 4 /* Illegal instruction (ANSI). */ +#define SIGABRT SIGIOT /* Abort (ANSI). */ +#define SIGTRAP 5 /* Trace trap (POSIX). */ +#define SIGIOT 6 /* IOT trap (4.2 BSD). */ +#define SIGEMT 7 /* EMT trap (4.2 BSD). */ +#define SIGFPE 8 /* Floating-point exception (ANSI). */ +#define SIGKILL 9 /* Kill, unblockable (POSIX). */ +#define SIGBUS 10 /* Bus error (4.2 BSD). */ +#define SIGSEGV 11 /* Segmentation violation (ANSI). */ +#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ +#define SIGPIPE 13 /* Broken pipe (POSIX). */ +#define SIGALRM 14 /* Alarm clock (POSIX). */ +#define SIGTERM 15 /* Termination (ANSI). */ +#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ +#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ +#define SIGCHLD 18 /* Child status has changed (POSIX). */ +#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ +#define SIGPWR 19 /* Power failure restart (System V). */ + +#endif /* <signal.h> included. */ + +#define _NSIG 20 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/bits/stat.h b/sysdeps/unix/sysv/bits/stat.h new file mode 100644 index 0000000000..56f4544594 --- /dev/null +++ b/sysdeps/unix/sysv/bits/stat.h @@ -0,0 +1,65 @@ +/* Copyright (C) 1992, 1996, 1997 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* + * Never include this file directly; use <sys/stat.h> instead. + */ + +#ifndef _BITS_STAT_H +#define _BITS_STAT_H 1 + +struct stat + { + short int st_dev; + unsigned short int st_ino; + unsigned short int st_mode; + short int st_nlink; + unsigned short int st_uid; + unsigned short int st_gid; + short int st_rdev; + long int st_size; + long int st_atime; + long int st_mtime; + long int st_ctime; + }; + +/* 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_IFIFO 0010000 /* FIFO. */ + +/* These don't actually exist on System V, but having them doesn't hurt. */ +#define __S_IFLNK 0120000 /* Symbolic link. */ +#define __S_IFSOCK 0140000 /* Socket. */ + +/* 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 0400 /* Read by owner. */ +#define __S_IWRITE 0200 /* Write by owner. */ +#define __S_IEXEC 0100 /* Execute by owner. */ + +#endif /* bits/stat.h */ diff --git a/sysdeps/unix/sysv/bits/utmp.h b/sysdeps/unix/sysv/bits/utmp.h new file mode 100644 index 0000000000..1bb1a55873 --- /dev/null +++ b/sysdeps/unix/sysv/bits/utmp.h @@ -0,0 +1,57 @@ +/* The `struct utmp' type, describing entries in the utmp file. System V. + Copyright (C) 1996, 1997 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 Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _UTMP_H +#error "Never use <bits/utmp.h> directly; include <utmp.h> instead." +#endif + + +#include <time.h> + +#define _PATH_UTMP "/var/adm/utmp" +#define _PATH_WTMP "/var/adm/wtmp" +#define _PATH_LASTLOG "/var/adm/lastlog" + +__BEGIN_DECLS + +struct utmp + { +#define ut_name ut_user + char ut_user[8]; + char ut_id[4]; + char ut_line[12]; + short ut_pid; + short ut_type; + struct exit_status + { + short e_termination; + short e_exit; + } ut_exit; + time_t ut_time; + }; + + +/* Tell the user that we have a modern system with UT_HOST, UT_TYPE, UT_ID + and UT_TV fields. */ +#define _HAVE_UT_TYPE 1 +#define _HAVE_UT_ID 1 +#define _HAVE_UT_TV 1 +#define _HAVE_UT_HOST 1 + +__END_DECLS diff --git a/sysdeps/unix/sysv/bits/utsname.h b/sysdeps/unix/sysv/bits/utsname.h new file mode 100644 index 0000000000..31473cf4ea --- /dev/null +++ b/sysdeps/unix/sysv/bits/utsname.h @@ -0,0 +1 @@ +#define _UTSNAME_LENGTH 9 |