diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-07-11 21:44:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-07-11 21:44:15 +0000 |
commit | 7bf75551f0e18568435901a4362466a08646aca2 (patch) | |
tree | f5d5b8eafb90ead88967afefbfd395a6fae0e3f3 /sysdeps/unix/sysv/linux/s390/sys/ucontext.h | |
parent | 3e0dd85b103492e6b91e8e3bf60a997b04eb967f (diff) | |
download | glibc-7bf75551f0e18568435901a4362466a08646aca2.tar glibc-7bf75551f0e18568435901a4362466a08646aca2.tar.gz glibc-7bf75551f0e18568435901a4362466a08646aca2.tar.bz2 glibc-7bf75551f0e18568435901a4362466a08646aca2.zip |
Update.
2002-07-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/bits/byteswap.h: Unified 31/64 bit byteswap.h.
* sysdeps/s390/s390-32/bits/byteswap.h: Remove.
* sysdeps/s390/s390-64/bits/byteswap.h: Remove.
* sysdeps/s390/bits/link.h: Unified 31/64 bit link.h.
* sysdeps/s390/s390-32/bits/link.h: Remove.
* sysdeps/s390/s390-64/bits/link.h: Remove.
* sysdeps/s390/bits/setjmp.h: Unified 31/64 bit setjmp.h.
* sysdeps/s390/s390-32/bits/setjmp.h: Remove.
* sysdeps/s390/s390-64/bits/setjmp.h: Remove.
* sysdeps/s390/bits/wordsize.h: New file.
* sysdeps/unix/sysv/linux/s390/bits/elfclass.h: Unified 31/64 bit
elfclass.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Unified 31/64 bit fcntl.h.
* sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/ipc.h: Unified 31/64 bit ipc.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/mman.h: Unified 31/64 bit mman.h.
* sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/msq.h: Unified 31/64 bit msq.h.
* ysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/resource.h: Unified 31/64 bit
resource.h.
* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/sem.h: Unified 31/64 bit sem.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/shm.h: Unified 31/64 bit shm.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Unified 31/64 bit
sigaction.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Unified 31/64 bit
siginfo.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/socket.h: Unified 31/64 bit
socket.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: Unified 31/64 bit stat.h.
* sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: Remove.
* sysdeps/unix/sysv/linux/s390/bits/types.h: Unified 31/64 bit types.h.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: Remove.
* sysdeps/unix/sysv/linux/s390/net/route.h: New file.
* sysdeps/unix/sysv/linux/s390/sys/procfs.h: Unified 31/64 bit
procfs.h.
* sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: Remove.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Unified 31/64 bit
ucontext.h.
* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Remove.
* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Remove.
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/sys/ucontext.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/sys/ucontext.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h new file mode 100644 index 0000000000..4e32361c3b --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h @@ -0,0 +1,88 @@ +/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com). + 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, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 +/* Forward definition to avoid parse errors */ +struct ucontext; +typedef struct ucontext ucontext_t; +#include <features.h> +#include <signal.h> + +/* We need the signal context definitions even if they are not used + included in <signal.h>. */ +#include <bits/sigcontext.h> + +/* Type for a program status word. */ +typedef struct +{ + unsigned long mask; + unsigned long addr; +} __attribute__ ((aligned(8))) __psw_t; + +/* Type for a general-purpose register. */ +typedef unsigned long greg_t; + +/* And the whole bunch of them. We should have used `struct s390_regs', + but to avoid name space pollution and since the tradition says that + the register set is an array, we make gregset_t a simple array + that has the same size as s390_regs. This is needed for the + elf_prstatus structure. */ +#if __WORDSIZE == 64 +# define NGREG 27 +#else +# define NGREG 36 +#endif +/* Must match kernels psw_t alignment. */ +typedef greg_t gregset_t[NGREG] __attribute__ ((aligned(8))); + +typedef union + { + double d; + float f; + } fpreg_t; + +/* Register set for the floating-point registers. */ +typedef struct + { + unsigned int fpc; + fpreg_t fprs[16]; + } fpregset_t; + +/* Context to describe whole processor state. */ +typedef struct + { + __psw_t psw; + unsigned long gregs[16]; + unsigned int aregs[16]; + fpregset_t fpregs; + } mcontext_t; + +/* Userlevel context. */ +struct ucontext + { + unsigned long int uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + __sigset_t uc_sigmask; + }; + + +#endif /* sys/ucontext.h */ |