aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog131
-rw-r--r--io/sys/stat.h24
-rw-r--r--linuxthreads/semaphore.h1
-rw-r--r--malloc/obstack.c9
-rw-r--r--malloc/obstack.h5
-rw-r--r--misc/sgtty.h4
-rw-r--r--misc/sys/cdefs.h10
-rw-r--r--sysdeps/arm/bits/huge_val.h88
-rw-r--r--sysdeps/arm/dl-machine.h2
-rw-r--r--sysdeps/posix/getcwd.c10
-rw-r--r--sysdeps/unix/sysv/linux/sys/acct.h49
-rw-r--r--sysdeps/unix/sysv/linux/sys/ptrace.h3
-rw-r--r--sysdeps/unix/sysv/linux/sys/quota.h1
-rw-r--r--sysdeps/unix/sysv/linux/sys/reboot.h7
-rw-r--r--sysdeps/unix/sysv/linux/sys/swap.h10
15 files changed, 270 insertions, 84 deletions
diff --git a/ChangeLog b/ChangeLog
index 2bc762c7ee..de6027ea4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,17 +1,74 @@
-1998-10-01 Philip Blundell <pb@nexus.co.uk>
-
- * sysdeps/arm/machine-gmon.h: Correct args to mcount(). Patch
- from Scott Bambrough.
-
- * sysdeps/unix/sysv/linux/arm/register-dump.h: New file.
-
- * libio/libioP.h (FILEBUF_LITERAL) [! _IO_MTSAFE_IO]: Don't
- include the lock member.
-
-1998-09-03 Philip Blundell <pb@nexus.co.uk>
-
- * sysdeps/arm/fpu/__longjmp.S: Cope with fussy assembler.
-
+1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER,
+ SWAP_FLAG_PRIO_MASK,SWAP_FLAG_PRIO_SHIFT): Added.
+ Remove inclusion of <linux/swap.h>.
+
+1998-10-05 Ulrich Drepper <drepper@cygnus.com>
+
+ * io/sys/stat.h: Use __P in definitions of inline stat functions
+ so that they match the declaration.
+
+1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * sysdeps/unix/sysv/linux/sys/quota.h (Q_RSQUASH): Added.
+
+1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current
+ linux 2.1 version.
+
+1998-10-02 Philip Blundell <pb@nexus.co.uk>
+
+ * sysdeps/arm/dl-machine.h: Fix typo in last change.
+
+ * sysdeps/arm/bits/huge_val.h: New file.
+
+1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * sysdeps/unix/sysv/linux/sys/reboot.h (RB_POWER_OFF): Added.
+
+ * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SYSCALL): Add
+ define.
+
+1998-10-05 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/posix/getcwd.c (__getcwd): Use temporary variable to
+ store result of realloc instead of using BUF.
+
+1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * misc/sgtty.h (_SGTTY_H): Correct spelling.
+ Reported by Rouben Rostamian <rostamian@umbc.edu> [PR libc/817].
+
+1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * manual/memory.texi (Obstacks): Document
+ obstack_alloc_failed_handler usage.
+
+ * malloc/obstack.h: Enhance comment about
+ obstack_alloc_failed_handler usage.
+ * malloc/obstack.c: Likewise.
+
+1998-10-05 Ulrich Drepper <drepper@cygnus.com>
+
+ * misc/sys/cdefs.h (__extension__): Define as empty if no gcc or
+ gcc before 2.8 is used.
+
+1998-10-01 Philip Blundell <pb@nexus.co.uk>
+
+ * sysdeps/arm/machine-gmon.h: Correct args to mcount(). Patch
+ from Scott Bambrough.
+
+ * sysdeps/unix/sysv/linux/arm/register-dump.h: New file.
+
+ * libio/libioP.h (FILEBUF_LITERAL) [! _IO_MTSAFE_IO]: Don't
+ include the lock member.
+
+1998-09-03 Philip Blundell <pb@nexus.co.uk>
+
+ * sysdeps/arm/fpu/__longjmp.S: Cope with fussy assembler.
+
1998-10-01 Ulrich Drepper <drepper@cygnus.com>
* timezone/zic.c: Update from tzcode1998h.
@@ -30,31 +87,31 @@
* sysdeps/wordsize-32/stdint.h: Likewise.
* wcsmbs/wchar.h: Likewise.
-1998-09-29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * string/bits/string2.h (__string2_1bptr_p): Don't use a statement
- expression.
- (__mempcpy, strcpy, __stpcpy, strcmp, strcspn, strspn, strpbrk,
- __strsep): Greatly reduce size of expansion by combining common
- expressions.
- (__mempcpy_small, __strcpy_small, __stpcpy_small): Convert to
- inline function.
- (__mempcpy_args, __strcpy_args, __stpcpy_args): New macros, used
- by the above definitions.
-
-1998-09-27 Geoff Keating <geoffk@ozemail.com.au>
-
- * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: New file, use
- correct struct ipc_perm definition.
-
-1998-09-29 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
-
- * nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free.
-
+1998-09-29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * string/bits/string2.h (__string2_1bptr_p): Don't use a statement
+ expression.
+ (__mempcpy, strcpy, __stpcpy, strcmp, strcspn, strspn, strpbrk,
+ __strsep): Greatly reduce size of expansion by combining common
+ expressions.
+ (__mempcpy_small, __strcpy_small, __stpcpy_small): Convert to
+ inline function.
+ (__mempcpy_args, __strcpy_args, __stpcpy_args): New macros, used
+ by the above definitions.
+
+1998-09-27 Geoff Keating <geoffk@ozemail.com.au>
+
+ * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: New file, use
+ correct struct ipc_perm definition.
+
+1998-09-29 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
+
+ * nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free.
+
1998-09-29 Cristian Gafton <gafton@redhat.com>
- * sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[].
- * sysdeps/unix/sysv/linux/net/if_shaper.h: New file.
+ * sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[].
+ * sysdeps/unix/sysv/linux/net/if_shaper.h: New file.
* sysdeps/unix/sysv/linux/Dist: Add net/if_shaper.h.
* sysdeps/unix/sysv/linux/Makefile [subdirs=inet] (sysdep_headers):
Add net/if_shaper.h.
diff --git a/io/sys/stat.h b/io/sys/stat.h
index 7c3043095c..54d5fc709d 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -310,47 +310,53 @@ extern int __xmknod __P ((int __ver, __const char *__path,
__mode_t __mode, __dev_t *__dev));
#if defined __GNUC__ && __GNUC__ >= 2
-/* Inlined versions of the real stat and mknod functions. */
+/* Inlined versions of the real stat and mknod functions.
-extern __inline__ int stat (__const char *__path, struct stat *__statbuf)
+ We have to use __P here since we need definitions matching the
+ declarations above. */
+
+extern __inline__ int stat __P ((__const char *__path, struct stat *__statbuf))
{
return __xstat (_STAT_VER, __path, __statbuf);
}
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern __inline__ int lstat (__const char *__path, struct stat *__statbuf)
+extern __inline__ int lstat __P ((__const char *__path,
+ struct stat *__statbuf))
{
return __lxstat (_STAT_VER, __path, __statbuf);
}
# endif
-extern __inline__ int fstat (int __fd, struct stat *__statbuf)
+extern __inline__ int fstat __P ((int __fd, struct stat *__statbuf))
{
return __fxstat (_STAT_VER, __fd, __statbuf);
}
# if defined __USE_MISC || defined __USE_BSD
-extern __inline__ int mknod (__const char *__path, __mode_t __mode,
- __dev_t __dev)
+extern __inline__ int mknod __P ((__const char *__path, __mode_t __mode,
+ __dev_t __dev))
{
return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
}
# endif
# ifdef __USE_LARGEFILE64
-extern __inline__ int stat64 (__const char *__path, struct stat64 *__statbuf)
+extern __inline__ int stat64 __P ((__const char *__path,
+ struct stat64 *__statbuf))
{
return __xstat64 (_STAT_VER, __path, __statbuf);
}
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern __inline__ int lstat64 (__const char *__path, struct stat64 *__statbuf)
+extern __inline__ int lstat64 __P ((__const char *__path,
+ struct stat64 *__statbuf))
{
return __lxstat64 (_STAT_VER, __path, __statbuf);
}
# endif
-extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf)
+extern __inline__ int fstat64 __P ((int __fd, struct stat64 *__statbuf))
{
return __fxstat64 (_STAT_VER, __fd, __statbuf);
}
diff --git a/linuxthreads/semaphore.h b/linuxthreads/semaphore.h
index 0740962902..fe2b451e07 100644
--- a/linuxthreads/semaphore.h
+++ b/linuxthreads/semaphore.h
@@ -16,6 +16,7 @@
#define _SEMAPHORE_H 1
#include <features.h>
+#include <sys/types.h>
#include <limits.h>
diff --git a/malloc/obstack.c b/malloc/obstack.c
index a192441a49..76b7a95cd4 100644
--- a/malloc/obstack.c
+++ b/malloc/obstack.c
@@ -78,7 +78,9 @@ union fooround {long x; double d;};
/* The functions allocating more room by calling `obstack_chunk_alloc'
jump to the handler pointed to by `obstack_alloc_failed_handler'.
- This variable by default points to the internal function
+ This can be set to a user defined function which should either
+ abort gracefully or use longjump - but shouldn't return. This
+ variable by default points to the internal function
`print_and_abort'. */
#if defined (__STDC__) && __STDC__
static void print_and_abort (void);
@@ -142,9 +144,8 @@ struct obstack *_obstack;
CHUNKFUN is the function to use to allocate chunks,
and FREEFUN the function to free them.
- Return nonzero if successful, zero if out of memory.
- To recover from an out of memory error,
- free up some memory, then call this again. */
+ Return nonzero if successful, calls obstack_alloc_failed_handler if
+ allocation fails. */
int
_obstack_begin (h, size, alignment, chunkfun, freefun)
diff --git a/malloc/obstack.h b/malloc/obstack.h
index edbcd264df..beb548ecd2 100644
--- a/malloc/obstack.h
+++ b/malloc/obstack.h
@@ -254,8 +254,9 @@ int obstack_memory_used (struct obstack *obstack);
so we do not declare them. */
/* Error handler called when `obstack_chunk_alloc' failed to allocate
- more memory. This can be set to a user defined function. The
- default action is to print a message and abort. */
+ more memory. This can be set to a user defined function which
+ should either abort gracefully or use longjump - but shouldn't
+ return. The default action is to print a message and abort. */
#if defined __STDC__ && __STDC__
extern void (*obstack_alloc_failed_handler) (void);
#else
diff --git a/misc/sgtty.h b/misc/sgtty.h
index 86e15b0afc..02bbb18665 100644
--- a/misc/sgtty.h
+++ b/misc/sgtty.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996, 1998 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
@@ -17,7 +17,7 @@
Boston, MA 02111-1307, USA. */
#ifndef _SGTTY_H
-#define _SGTYY_H 1
+#define _SGTTY_H 1
#include <features.h>
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 12dfffb431..964b9dfeb9 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -141,6 +141,16 @@
#endif
+/* It is possible to compile containing GCC extensions even if GCC is
+ run in pedantic mode if the uses are carefully marked using the
+ `__extension__' keyword. But this is not generally available before
+ version 2.8. */
+#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
+
+# define __extension__ /* Ignore */
+
+#endif
+
/* No current version of gcc knows the `restrict' keyword. Define it
for now unconditionally to the empty string. */
#define __restrict
diff --git a/sysdeps/arm/bits/huge_val.h b/sysdeps/arm/bits/huge_val.h
new file mode 100644
index 0000000000..0e07bd56cc
--- /dev/null
+++ b/sysdeps/arm/bits/huge_val.h
@@ -0,0 +1,88 @@
+/* `HUGE_VAL' constants for IEEE 754 machines (where it is infinity).
+ Used by <stdlib.h> and <math.h> functions for overflow.
+ ARM version.
+ Copyright (C) 1992, 1995, 1996, 1997, 1998 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 _MATH_H
+# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
+#endif
+
+#include <features.h>
+
+/* IEEE positive infinity (-HUGE_VAL is negative infinity). */
+
+#ifdef __GNUC__
+
+# define HUGE_VAL \
+ (__extension__ \
+ ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
+ { __l: 0x000000007ff00000ULL }).__d)
+
+#else /* not GCC */
+
+# include <endian.h>
+
+typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
+
+# if __BYTE_ORDER == __BIG_ENDIAN
+# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
+# endif
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+# define __HUGE_VAL_bytes { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }
+# endif
+
+static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
+# define HUGE_VAL (__huge_val.__d)
+
+#endif /* GCC. */
+
+
+/* ISO C 9X extensions: (float) HUGE_VALF and (long double) HUGE_VALL. */
+
+#ifdef __USE_ISOC9X
+
+# ifdef __GNUC__
+
+# define HUGE_VALF \
+ (__extension__ \
+ ((union { unsigned __l __attribute__((__mode__(__SI__))); float __d; }) \
+ { __l: 0x7f800000UL }).__d)
+
+# else /* not GCC */
+
+typedef union { unsigned char __c[4]; float __f; } __huge_valf_t;
+
+# if __BYTE_ORDER == __BIG_ENDIAN
+# define __HUGE_VALF_bytes { 0x7f, 0x80, 0, 0 }
+# endif
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+# define __HUGE_VALF_bytes { 0, 0, 0x80, 0x7f }
+# endif
+
+static __huge_valf_t __huge_valf = { __HUGE_VALF_bytes };
+# define HUGE_VALF (__huge_valf.__f)
+
+# endif /* GCC. */
+
+
+/* Generally there is no separate `long double' format and it is the
+ same as `double'. */
+# define HUGE_VALL HUGE_VAL
+
+#endif /* __USE_ISOC9X. */
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index b0f364f8ff..66ab4c6de2 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -315,7 +315,7 @@ _dl_start_user:
.word _dl_fini(GOT)
.L_STACK_END:
.word __libc_stack_end(GOT)
-.L_MAIN_SEARCHLIST
+.L_MAIN_SEARCHLIST:
.word _dl_main_searchlist(GOT)
.previous\n\
");
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
index 551fa7241e..7de5fd3a75 100644
--- a/sysdeps/posix/getcwd.c
+++ b/sysdeps/posix/getcwd.c
@@ -369,17 +369,19 @@ __getcwd (buf, size)
}
else
{
+ char *tmp;
+
size *= 2;
- buf = realloc (path, size);
- if (buf == NULL)
+ tmp = realloc (path, size);
+ if (tmp == NULL)
{
(void) __closedir (dirstream);
free (path);
__set_errno (ENOMEM);/* closedir might have changed it.*/
goto lose;
}
- pathp = &buf[pathp - path + size / 2];
- path = buf;
+ pathp = &tmp[pathp - path + size / 2];
+ path = tmp;
/* Move current contents up to the end of the buffer.
This is guaranteed to be non-overlapping. */
memcpy (pathp, pathp - size / 2, path + size - pathp);
diff --git a/sysdeps/unix/sysv/linux/sys/acct.h b/sysdeps/unix/sysv/linux/sys/acct.h
index 0b16d249af..bc203a2d11 100644
--- a/sysdeps/unix/sysv/linux/sys/acct.h
+++ b/sysdeps/unix/sysv/linux/sys/acct.h
@@ -23,36 +23,47 @@
#define __need_time_t
#include <time.h>
-
+#include <sys/types.h>
__BEGIN_DECLS
#define ACCT_COMM 16
+/*
+ comp_t is a 16-bit "floating" point number with a 3-bit base 8
+ exponent and a 13-bit fraction. See linux/kernel/acct.c for the
+ specific encoding system used.
+*/
+
+typedef u_int16_t comp_t;
+
struct acct
{
- char ac_comm[ACCT_COMM]; /* Accounting command name. */
- time_t ac_utime; /* Accounting user time. */
- time_t ac_stime; /* Accounting system time. */
- time_t ac_etime; /* Accounting elapsed time. */
- time_t ac_btime; /* Beginning time. */
- unsigned short int ac_uid; /* Accounting user ID. */
- unsigned short int ac_gid; /* Accounting group ID. */
- unsigned short int ac_tty; /* Controlling tty. */
- /* Please note that the value of the `ac_tty' field, a device number,
- is encoded differently in the kernel and for the libc dev_t type. */
- char ac_flag; /* Accounting flag. */
- long int ac_minflt; /* Accounting minor pagefaults. */
- long int ac_majflt; /* Accounting major pagefaults. */
- long int ac_exitcode; /* Accounting process exitcode. */
+ char ac_flag; /* Accounting flags. */
+ u_int16_t ac_uid; /* Accounting user ID. */
+ u_int16_t ac_gid; /* Accounting group ID. */
+ u_int16_t ac_tty; /* Controlling tty. */
+ u_int32_t ac_btime; /* Beginning time. */
+ comp_t ac_utime; /* Accounting user time. */
+ comp_t ac_stime; /* Accounting system time. */
+ comp_t ac_etime; /* Accounting elapsed time. */
+ comp_t ac_mem; /* Accounting average memory usage. */
+ comp_t ac_io; /* Accounting chars transferred. */
+ comp_t ac_rw; /* Accounting blocks read or written. */
+ comp_t ac_minflt; /* Accounting minor pagefaults. */
+ comp_t ac_majflt; /* Accounting major pagefaults. */
+ comp_t ac_swaps; /* Accounting number of swaps. */
+ u_int32_t ac_exitcode; /* Accounting process exitcode. */
+ char ac_comm[ACCT_COMM+1]; /* Accounting command name. */
+ char ac_pad[10]; /* Accounting padding bytes. */
};
enum
{
- AFORK = 0001, /* Has executed fork, but no exec. */
- ASU = 0002, /* Used super-user privileges. */
- ACORE = 0004, /* Dumped core. */
- AXSIG = 0010 /* Killed by a signal. */
+ AFORK = 0x01, /* Has executed fork, but no exec. */
+ ASU = 0x02, /* Used super-user privileges. */
+ ACORE = 0x08, /* Dumped core. */
+ AXSIG = 0x10 /* Killed by a signal. */
};
#define AHZ 100
diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h
index 33beb50b72..6c5d580d7b 100644
--- a/sysdeps/unix/sysv/linux/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sys/ptrace.h
@@ -18,8 +18,8 @@
Boston, MA 02111-1307, USA. */
#ifndef _SYS_PTRACE_H
-
#define _SYS_PTRACE_H 1
+
#include <features.h>
__BEGIN_DECLS
@@ -100,6 +100,7 @@ enum __ptrace_request
/* Continue and stop at the next (return from) syscall. */
PTRACE_SYSCALL = 24,
+#define PTRACE_SYSCALL PTRACE_SYSCALL
};
/* Perform process tracing functions. REQUEST is one of the values
diff --git a/sysdeps/unix/sysv/linux/sys/quota.h b/sysdeps/unix/sysv/linux/sys/quota.h
index bcbbfa5ddb..3ea52b0393 100644
--- a/sysdeps/unix/sysv/linux/sys/quota.h
+++ b/sysdeps/unix/sysv/linux/sys/quota.h
@@ -106,6 +106,7 @@
#define Q_SYNC 0x0600 /* sync disk copy of a filesystems quotas */
#define Q_SETQLIM 0x0700 /* set limits */
#define Q_GETSTATS 0x0800 /* get collected stats */
+#define Q_RSQUASH 0x1000 /* set root_squash option */
/*
* The following structure defines the format of the disk quota file
diff --git a/sysdeps/unix/sysv/linux/sys/reboot.h b/sysdeps/unix/sysv/linux/sys/reboot.h
index 4d249aaaaa..dd7a71b4c6 100644
--- a/sysdeps/unix/sysv/linux/sys/reboot.h
+++ b/sysdeps/unix/sysv/linux/sys/reboot.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998 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
@@ -20,8 +20,8 @@
bits in the argument to the `reboot' system call. */
#ifndef _SYS_REBOOT_H
-
#define _SYS_REBOOT_H 1
+
#include <features.h>
/* Perform a hard reset now. */
@@ -36,6 +36,9 @@
/* Disable reboot using Ctrl-Alt-Delete keystroke. */
#define RB_DISABLE_CAD 0
+/* Stop system and switch power off if possible. */
+#define RB_POWER_OFF 0x4321fedc
+
__BEGIN_DECLS
/* Reboot or halt the system. */
diff --git a/sysdeps/unix/sysv/linux/sys/swap.h b/sysdeps/unix/sysv/linux/sys/swap.h
index 13921eadc6..e84c365206 100644
--- a/sysdeps/unix/sysv/linux/sys/swap.h
+++ b/sysdeps/unix/sysv/linux/sys/swap.h
@@ -1,5 +1,5 @@
/* Calls to enable and disable swapping on specified locations. Linux version.
- Copyright (C) 1996 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1998 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
@@ -22,8 +22,12 @@
#define _SYS_SWAP_H 1
#include <features.h>
-/* Get constants from kernel headers. */
-#include <linux/swap.h>
+/* The swap priority is encoded as:
+ (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
+*/
+#define SWAP_FLAG_PREFER 0x8000 /* Set if swap priority is specified. */
+#define SWAP_FLAG_PRIO_MASK 0x7fff
+#define SWAP_FLAG_PRIO_SHIFT 0
__BEGIN_DECLS