glibc/sysdeps/unix/sysv/linux/bits/shm.h

87 lines
2.7 KiB
C
Raw Normal View History

/* Copyright (C) 1995-2021 Free Software Foundation, Inc.
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
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.
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
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.
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
Prefer https to http for gnu.org and fsf.org URLs Also, change sources.redhat.com to sourceware.org. This patch was automatically generated by running the following shell script, which uses GNU sed, and which avoids modifying files imported from upstream: sed -ri ' s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g ' \ $(find $(git ls-files) -prune -type f \ ! -name '*.po' \ ! -name 'ChangeLog*' \ ! -path COPYING ! -path COPYING.LIB \ ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \ ! -path manual/texinfo.tex ! -path scripts/config.guess \ ! -path scripts/config.sub ! -path scripts/install-sh \ ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \ ! -path INSTALL ! -path locale/programs/charmap-kw.h \ ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \ ! '(' -name configure \ -execdir test -f configure.ac -o -f configure.in ';' ')' \ ! '(' -name preconfigure \ -execdir test -f preconfigure.ac ';' ')' \ -print) and then by running 'make dist-prepare' to regenerate files built from the altered files, and then executing the following to cleanup: chmod a+x sysdeps/unix/sysv/linux/riscv/configure # Omit irrelevant whitespace and comment-only changes, # perhaps from a slightly-different Autoconf version. git checkout -f \ sysdeps/csky/configure \ sysdeps/hppa/configure \ sysdeps/riscv/configure \ sysdeps/unix/sysv/linux/csky/configure # Omit changes that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines git checkout -f \ sysdeps/powerpc/powerpc64/ppc-mcount.S \ sysdeps/unix/sysv/linux/s390/s390-64/syscall.S # Omit change that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
<https://www.gnu.org/licenses/>. */
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
#ifndef _SYS_SHM_H
# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
#endif
Update. 2000-02-27 Ulrich Drepper <drepper@redhat.com> * conform/conformtest.pl (@headers): Add wordexp.h, wctype.h, wchar.h, varargs.h, utmpx.h, utime.h, unistd.h, ulimit.h, ucontext.h, time.h, termios.h, tar.h, sys/wait.h, sys/uio.h, sys/types.h, sys/times.h, sys/timeb.h, sys/time.h, sys/statvfs.h, sys/stat.h, sys/shm.h, sys/sem.h, and sys/resource.h. Implement handling of allow-header. * conform/data/fcntl.h-data: Correct various bugs. * conform/data/fnmatch.h-data: Likewise. * conform/data/math.h-data: Likewise. * conform/data/ndbm.h-data: Likewise. * conform/data/nl_types.h-data: Likewise. * conform/data/poll.h-data: Likewise. * conform/data/pthread.h-data: Likewise. * conform/data/semaphore.h-data: Likewise. * conform/data/setjmp.h-data: Likewise. * conform/data/signal.h-data: Likewise. * conform/data/stdarg.h-data: Likewise. * conform/data/stddef.h-data: Likewise. * conform/data/stdio.h-data: Likewise. * conform/data/stdlib.h-data: Likewise. * conform/data/string.h-data: Likewise. * conform/data/strings.h-data: Likewise. * conform/data/stropts.h-data: Likewise. * conform/data/syslog.h-data: Likewise. * conform/data/sys/ipc.h-data: Likewise. * conform/data/sys/mman.h-data: Likewise. * conform/data/sys/msg.h-data: Likewise. * conform/data/tar.h-data: New file. * conform/data/termios.h-data: New file. * conform/data/time.h-data: New file. * conform/data/ucontext.h-data: New file. * conform/data/ulimit.h-data: New file. * conform/data/unistd.h-data: New file. * conform/data/utime.h-data: New file. * conform/data/utmpx.h-data: New file. * conform/data/varargs.h-data: New file. * conform/data/wchar.h-data: New file. * conform/data/wctype.h-data: New file. * conform/data/wordexp.h-data: New file. * conform/data/sys/resource.h-data: New file. * conform/data/sys/sem.h-data: New file. * conform/data/sys/shm.h-data: New file. * conform/data/sys/stat.h-data: New file. * conform/data/sys/statvfs.h-data: New file. * conform/data/sys/time.h-data: New file. * conform/data/sys/timeb.h-data: New file. * conform/data/sys/times.h-data: New file. * conform/data/sys/types.h-data: New file. * conform/data/sys/uio.h-data: New file. * conform/data/sys/wait.h-data: New file. * grp/grp.h (getgrent_r): Declare only if __USE_GNU. * include/sys/time.h (__itimes): Fix type of second parameter. * io/sys/stat.h (S_IFLNK): Define also if __USE_XOPEN. (S_ISVTX): Likewise. * io/sys/statvfs.h: Define fsblkcnt_t and fsfilcnt_t. * locale/langindo.h: Make ERA_YEAR, INT_CURR_SYMBOL, CURRENCY_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, INT_FRAC_DIGITS, FRAC_DIGITS, P_CS_PRECEDES, P_SEP_BY_SPACE, N_CS_PRECEDES, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN, DECIMAL_POINT, THOUSANDS_SEP, GROUPING, YESEXPR, NOEXPR, YESSTR, and NOSTR only available if __USE_GNU. * math/bits/mathcalls.h: Don't declare tgamma and scalbn if only __USE_XOPEN. * posix/unistd.h: Don't define ptrdiff_t. (sbrk): Correct type of parameter. * sysdeps/generic/sbrk.c: Likewise. * sysdeps/mach/hurd/sbrk.c: Likewise. * posix/sys/types.h: Allow id_t, suseconds_t, fsblkcnt_t, and fsfilcnt_t being defined elsewhere. * resource/sys/resource.h: Define id_t. If __USE_XOPEN use int for type of first parameter if getrlimit, getrlimit64, setrlimit, setrlimit64, getrusage, getpriority, and setpriority. * sysdeps/generic/getpriority.c: Fix type of second parameter. * sysdeps/generic/setpriority.c: Likewise. * sysdeps/mach/hurd/getpriority.c: Likewise. * sysdeps/mach/hurd/setpriority.c: Likewise. * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. * sysdeps/unix/sysv/irix4/setpriority.c: Likewise. * sysdeps/unix/sysv/linux/getpriority.c: Likewise. * sysdeps/generic/utimes.c: Fix parameter of third parameter. * sysdeps/mach/hurd/utimes.c: Likewise. * sysdeps/posix/utimes.c: Likewise. * sysdeps/generic/bits/shm.h: Define shmatt_t type and use it in struct shmid_ds definition. * sysdeps/gnu/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysvipc/sys/shm.h: Define time_t. * sysvipc/sys/sem.h (struct sembuf): Make sem_num field unsigned. * sysdeps/gnu/bits/sem.h: Rename anonymous type struct sem_queue and struct sem_undo to struct __sem_queue and struct __sem_undo resp. * time/time.h: Define suseconds_t if not already done. * sysdeps/unix/sysv/linux/bits/statvfs.h: Rename f_spare to __f_spare. * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise. * sysdeps/unix/sysv/linux/statvfs64.c: Likewise. * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. * intl/bindtextdom.c: Use rwlock to avoid surprising results in multithreaded applications. * intl/dcigettext.c: Likewise. * intl/textdomain.c: Likewise. * intl/*.c: Update copyright. * sysdeps/generic/bits/libc-lock.h: Define __libc_rwlock_* stubs. 2000-02-27 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/configure.in: Treat also "/usr/" as prefix especially. 2000-02-27 Ulrich Drepper <drepper@redhat.com> * po/de.po: Update from translation team. * po/ko.po: Likewise.
2000-02-28 05:08:01 +00:00
#include <bits/types.h>
#include <bits/wordsize.h>
Move SHMLBA to its own header. One difference between bits/shm.h headers for architectures using the Linux kernel is the definition of SHMLBA. This was noted in <https://sourceware.org/ml/libc-alpha/2018-09/msg00175.html> as a reason why even a new architecture (C-SKY) might need its own bits/shm.h; thus, splitting it out of bits/shm.h can allow less duplication of headers for new architectures. This patch moves that definition to its own header, bits/shmlba.h, to allow more sharing of headers between architectures. That move allows the arm, ia64 and sh variants of bits/shm.h to be removed, as they had no other significant differences from the generic bits/shm.h; powerpc and x86 have their own bits/shm.h but do not need to get their own bits/shmlba.h because they use the same SHMLBA as the generic header. Other architectures with their own bits/shm.h get their own bits/shmlba.h without being able to remove their own bits/shm.h until the generic one has been adapted to be able to handle more architectures (where, in addition to the differences seen for bits/msq.h and bits/sem.h, the position of shm_segsz in struct shmid_ds also depends on the architecture). Tested for x86_64 and x86, and with build-many-glibcs.py. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/shmlba.h. * sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shmlba.h>. (SHMLBA): Remove macro. (__getpagesize): Remove function declaration. * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Include <bits/shmlba.h>. (SHMLBA): Remove macro. * sysdeps/unix/sysv/linux/mips/bits/shm.h: Include <bits/shmlba.h>. (SHMLBA): Remove macro. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Include <bits/shmlba.h>. (SHMLBA): Remove macro. (__getpagesize): Remove function declaration. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Include <bits/shmlba.h>. (SHMLBA): Remove macro. (__getshmlba): Remove function declaration. * sysdeps/unix/sysv/linux/x86/bits/shm.h: Include <bits/shmlba.h>. (SHMLBA): Remove macro. (__getpagesize): Remove function declaration. * sysdeps/unix/sysv/linux/arm/bits/shm.h: Remove file. * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/bits/shmlba.h: New file. * sysdeps/unix/sysv/linux/arm/bits/shmlba.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/shmlba.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/shmlba.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/shmlba.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/shmlba.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shmlba.h: Likewise.
2018-10-17 11:55:10 +00:00
#include <bits/shmlba.h>
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
/* Permission flag for shmget. */
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
/* Flags for `shmat'. */
#define SHM_RDONLY 010000 /* attach read-only else read-write */
#define SHM_RND 020000 /* round attach address to SHMLBA */
#define SHM_REMAP 040000 /* take-over region on attach */
2009-01-30 20:33:15 +00:00
#define SHM_EXEC 0100000 /* execution access */
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
/* Commands for `shmctl'. */
#define SHM_LOCK 11 /* lock segment (root only) */
#define SHM_UNLOCK 12 /* unlock segment (root only) */
__BEGIN_DECLS
Update. 2000-02-27 Ulrich Drepper <drepper@redhat.com> * conform/conformtest.pl (@headers): Add wordexp.h, wctype.h, wchar.h, varargs.h, utmpx.h, utime.h, unistd.h, ulimit.h, ucontext.h, time.h, termios.h, tar.h, sys/wait.h, sys/uio.h, sys/types.h, sys/times.h, sys/timeb.h, sys/time.h, sys/statvfs.h, sys/stat.h, sys/shm.h, sys/sem.h, and sys/resource.h. Implement handling of allow-header. * conform/data/fcntl.h-data: Correct various bugs. * conform/data/fnmatch.h-data: Likewise. * conform/data/math.h-data: Likewise. * conform/data/ndbm.h-data: Likewise. * conform/data/nl_types.h-data: Likewise. * conform/data/poll.h-data: Likewise. * conform/data/pthread.h-data: Likewise. * conform/data/semaphore.h-data: Likewise. * conform/data/setjmp.h-data: Likewise. * conform/data/signal.h-data: Likewise. * conform/data/stdarg.h-data: Likewise. * conform/data/stddef.h-data: Likewise. * conform/data/stdio.h-data: Likewise. * conform/data/stdlib.h-data: Likewise. * conform/data/string.h-data: Likewise. * conform/data/strings.h-data: Likewise. * conform/data/stropts.h-data: Likewise. * conform/data/syslog.h-data: Likewise. * conform/data/sys/ipc.h-data: Likewise. * conform/data/sys/mman.h-data: Likewise. * conform/data/sys/msg.h-data: Likewise. * conform/data/tar.h-data: New file. * conform/data/termios.h-data: New file. * conform/data/time.h-data: New file. * conform/data/ucontext.h-data: New file. * conform/data/ulimit.h-data: New file. * conform/data/unistd.h-data: New file. * conform/data/utime.h-data: New file. * conform/data/utmpx.h-data: New file. * conform/data/varargs.h-data: New file. * conform/data/wchar.h-data: New file. * conform/data/wctype.h-data: New file. * conform/data/wordexp.h-data: New file. * conform/data/sys/resource.h-data: New file. * conform/data/sys/sem.h-data: New file. * conform/data/sys/shm.h-data: New file. * conform/data/sys/stat.h-data: New file. * conform/data/sys/statvfs.h-data: New file. * conform/data/sys/time.h-data: New file. * conform/data/sys/timeb.h-data: New file. * conform/data/sys/times.h-data: New file. * conform/data/sys/types.h-data: New file. * conform/data/sys/uio.h-data: New file. * conform/data/sys/wait.h-data: New file. * grp/grp.h (getgrent_r): Declare only if __USE_GNU. * include/sys/time.h (__itimes): Fix type of second parameter. * io/sys/stat.h (S_IFLNK): Define also if __USE_XOPEN. (S_ISVTX): Likewise. * io/sys/statvfs.h: Define fsblkcnt_t and fsfilcnt_t. * locale/langindo.h: Make ERA_YEAR, INT_CURR_SYMBOL, CURRENCY_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, INT_FRAC_DIGITS, FRAC_DIGITS, P_CS_PRECEDES, P_SEP_BY_SPACE, N_CS_PRECEDES, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN, DECIMAL_POINT, THOUSANDS_SEP, GROUPING, YESEXPR, NOEXPR, YESSTR, and NOSTR only available if __USE_GNU. * math/bits/mathcalls.h: Don't declare tgamma and scalbn if only __USE_XOPEN. * posix/unistd.h: Don't define ptrdiff_t. (sbrk): Correct type of parameter. * sysdeps/generic/sbrk.c: Likewise. * sysdeps/mach/hurd/sbrk.c: Likewise. * posix/sys/types.h: Allow id_t, suseconds_t, fsblkcnt_t, and fsfilcnt_t being defined elsewhere. * resource/sys/resource.h: Define id_t. If __USE_XOPEN use int for type of first parameter if getrlimit, getrlimit64, setrlimit, setrlimit64, getrusage, getpriority, and setpriority. * sysdeps/generic/getpriority.c: Fix type of second parameter. * sysdeps/generic/setpriority.c: Likewise. * sysdeps/mach/hurd/getpriority.c: Likewise. * sysdeps/mach/hurd/setpriority.c: Likewise. * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. * sysdeps/unix/sysv/irix4/setpriority.c: Likewise. * sysdeps/unix/sysv/linux/getpriority.c: Likewise. * sysdeps/generic/utimes.c: Fix parameter of third parameter. * sysdeps/mach/hurd/utimes.c: Likewise. * sysdeps/posix/utimes.c: Likewise. * sysdeps/generic/bits/shm.h: Define shmatt_t type and use it in struct shmid_ds definition. * sysdeps/gnu/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysvipc/sys/shm.h: Define time_t. * sysvipc/sys/sem.h (struct sembuf): Make sem_num field unsigned. * sysdeps/gnu/bits/sem.h: Rename anonymous type struct sem_queue and struct sem_undo to struct __sem_queue and struct __sem_undo resp. * time/time.h: Define suseconds_t if not already done. * sysdeps/unix/sysv/linux/bits/statvfs.h: Rename f_spare to __f_spare. * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise. * sysdeps/unix/sysv/linux/statvfs64.c: Likewise. * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. * intl/bindtextdom.c: Use rwlock to avoid surprising results in multithreaded applications. * intl/dcigettext.c: Likewise. * intl/textdomain.c: Likewise. * intl/*.c: Update copyright. * sysdeps/generic/bits/libc-lock.h: Define __libc_rwlock_* stubs. 2000-02-27 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/configure.in: Treat also "/usr/" as prefix especially. 2000-02-27 Ulrich Drepper <drepper@redhat.com> * po/de.po: Update from translation team. * po/ko.po: Likewise.
2000-02-28 05:08:01 +00:00
/* Type to count number of attaches. */
Use single bits/shm.h for all architectures. After my patch to move SHMLBA to its own header, the bits/shm.h headers for architectures using the Linux kernel still vary in a few ways: the use of __syscall_ulong_t; whether padding for 32-bit systems is present before or after time fields, or missing altogether (mips, x32); whether shm_segsz is before or after the time fields; whether, if after time fields, there is extra padding before shm_segsz. This patch arranges for a single header to be used. __syscall_ulong_t is safe to use everywhere, while bits/shm-pad.h is added with new macros __SHM_PAD_AFTER_TIME, __SHM_PAD_BEFORE_TIME, __SHM_SEGSZ_AFTER_TIME and __SHM_PAD_BETWEEN_TIME_AND_SEGSZ to describe the differences. Tested for x86_64 and x86, and with build-many-glibcs.py. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/shm-pad.h. * sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shm-pad.h>. (shmatt_t): Define as __syscall_ulong_t. (__SHM_PAD_TIME): New macro, depending on [__SHM_PAD_BEFORE_TIME] and [__SHM_PAD_AFTER_TIME]. (struct shmid_ds): Define time fields using __SHM_PAD_TIME. Define shm_segsz and associated padding based on [__SHM_SEGSZ_AFTER_TIME] and [__SHM_PAD_BETWEEN_TIME_AND_SEGSZ]. Use __syscall_ulong_t instead of unsigned long int. [__USE_MISC] (struct shminfo): Use __syscall_ulong_t instead of unsigned long int. [__USE_MISC] (struct shm_info): Likewise. * sysdeps/unix/sysv/linux/bits/shm-pad.h: New file. * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Remove. * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/shm.h: Likewise.
2018-10-17 11:56:28 +00:00
typedef __syscall_ulong_t shmatt_t;
#include <bits/types/struct_shmid_ds.h>
y2038: Add support for 64-bit time on legacy ABIs A new build flag, _TIME_BITS, enables the usage of the newer 64-bit time symbols for legacy ABI (where 32-bit time_t is default). The 64 bit time support is only enabled if LFS (_FILE_OFFSET_BITS=64) is also used. Different than LFS support, the y2038 symbols are added only for the required ABIs (armhf, csky, hppa, i386, m68k, microblaze, mips32, mips64-n32, nios2, powerpc32, sparc32, s390-32, and sh). The ABIs with 64-bit time support are unchanged, both for symbol and types redirection. On Linux the full 64-bit time support requires a minimum of kernel version v5.1. Otherwise, the 32-bit fallbacks are used and might results in error with overflow return code (EOVERFLOW). The i686-gnu does not yet support 64-bit time. This patch exports following rediretions to support 64-bit time: * libc: adjtime adjtimex clock_adjtime clock_getres clock_gettime clock_nanosleep clock_settime cnd_timedwait ctime ctime_r difftime fstat fstatat futimens futimes futimesat getitimer getrusage gettimeofday gmtime gmtime_r localtime localtime_r lstat_time lutimes mktime msgctl mtx_timedlock nanosleep nanosleep ntp_gettime ntp_gettimex ppoll pselec pselect pthread_clockjoin_np pthread_cond_clockwait pthread_cond_timedwait pthread_mutex_clocklock pthread_mutex_timedlock pthread_rwlock_clockrdlock pthread_rwlock_clockwrlock pthread_rwlock_timedrdlock pthread_rwlock_timedwrlock pthread_timedjoin_np recvmmsg sched_rr_get_interval select sem_clockwait semctl semtimedop sem_timedwait setitimer settimeofday shmctl sigtimedwait stat thrd_sleep time timegm timerfd_gettime timerfd_settime timespec_get utime utimensat utimes utimes wait3 wait4 * librt: aio_suspend mq_timedreceive mq_timedsend timer_gettime timer_settime * libanl: gai_suspend Reviewed-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
2021-02-17 16:35:19 +00:00
#include <bits/types/struct_shmid64_ds.h>
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
#ifdef __USE_MISC
/* ipcs ctl commands */
# define SHM_STAT 13
# define SHM_INFO 14
# define SHM_STAT_ANY 15
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
/* shm_mode upper byte flags */
# define SHM_DEST 01000 /* segment will be destroyed on last detach */
# define SHM_LOCKED 02000 /* segment will not be swapped */
# define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */
# define SHM_NORESERVE 010000 /* don't check for reservations */
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
struct shminfo
{
Use single bits/shm.h for all architectures. After my patch to move SHMLBA to its own header, the bits/shm.h headers for architectures using the Linux kernel still vary in a few ways: the use of __syscall_ulong_t; whether padding for 32-bit systems is present before or after time fields, or missing altogether (mips, x32); whether shm_segsz is before or after the time fields; whether, if after time fields, there is extra padding before shm_segsz. This patch arranges for a single header to be used. __syscall_ulong_t is safe to use everywhere, while bits/shm-pad.h is added with new macros __SHM_PAD_AFTER_TIME, __SHM_PAD_BEFORE_TIME, __SHM_SEGSZ_AFTER_TIME and __SHM_PAD_BETWEEN_TIME_AND_SEGSZ to describe the differences. Tested for x86_64 and x86, and with build-many-glibcs.py. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/shm-pad.h. * sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shm-pad.h>. (shmatt_t): Define as __syscall_ulong_t. (__SHM_PAD_TIME): New macro, depending on [__SHM_PAD_BEFORE_TIME] and [__SHM_PAD_AFTER_TIME]. (struct shmid_ds): Define time fields using __SHM_PAD_TIME. Define shm_segsz and associated padding based on [__SHM_SEGSZ_AFTER_TIME] and [__SHM_PAD_BETWEEN_TIME_AND_SEGSZ]. Use __syscall_ulong_t instead of unsigned long int. [__USE_MISC] (struct shminfo): Use __syscall_ulong_t instead of unsigned long int. [__USE_MISC] (struct shm_info): Likewise. * sysdeps/unix/sysv/linux/bits/shm-pad.h: New file. * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Remove. * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/shm.h: Likewise.
2018-10-17 11:56:28 +00:00
__syscall_ulong_t shmmax;
__syscall_ulong_t shmmin;
__syscall_ulong_t shmmni;
__syscall_ulong_t shmseg;
__syscall_ulong_t shmall;
__syscall_ulong_t __glibc_reserved1;
__syscall_ulong_t __glibc_reserved2;
__syscall_ulong_t __glibc_reserved3;
__syscall_ulong_t __glibc_reserved4;
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
};
struct shm_info
{
int used_ids;
Use single bits/shm.h for all architectures. After my patch to move SHMLBA to its own header, the bits/shm.h headers for architectures using the Linux kernel still vary in a few ways: the use of __syscall_ulong_t; whether padding for 32-bit systems is present before or after time fields, or missing altogether (mips, x32); whether shm_segsz is before or after the time fields; whether, if after time fields, there is extra padding before shm_segsz. This patch arranges for a single header to be used. __syscall_ulong_t is safe to use everywhere, while bits/shm-pad.h is added with new macros __SHM_PAD_AFTER_TIME, __SHM_PAD_BEFORE_TIME, __SHM_SEGSZ_AFTER_TIME and __SHM_PAD_BETWEEN_TIME_AND_SEGSZ to describe the differences. Tested for x86_64 and x86, and with build-many-glibcs.py. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/shm-pad.h. * sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shm-pad.h>. (shmatt_t): Define as __syscall_ulong_t. (__SHM_PAD_TIME): New macro, depending on [__SHM_PAD_BEFORE_TIME] and [__SHM_PAD_AFTER_TIME]. (struct shmid_ds): Define time fields using __SHM_PAD_TIME. Define shm_segsz and associated padding based on [__SHM_SEGSZ_AFTER_TIME] and [__SHM_PAD_BETWEEN_TIME_AND_SEGSZ]. Use __syscall_ulong_t instead of unsigned long int. [__USE_MISC] (struct shminfo): Use __syscall_ulong_t instead of unsigned long int. [__USE_MISC] (struct shm_info): Likewise. * sysdeps/unix/sysv/linux/bits/shm-pad.h: New file. * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Remove. * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/x86/bits/shm.h: Likewise.
2018-10-17 11:56:28 +00:00
__syscall_ulong_t shm_tot; /* total allocated shm */
__syscall_ulong_t shm_rss; /* total resident shm */
__syscall_ulong_t shm_swp; /* total swapped shm */
__syscall_ulong_t swap_attempts;
__syscall_ulong_t swap_successes;
Update. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sem.h: New file. * sysdeps/unix/sysv/linux/bits/shm.h: New file. * sysdeps/unix/sysv/linux/bits/msg.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc. * sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file. * sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file. * sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file. * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Renamed from msgctl. (__new_msgctl): New function. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Renamed from semctl. (__new_semctl): New function. * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Renamed from shmctl. (__new_shmctl): New function. * sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/semget.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/semop.c: Likewise. * sysdeps/unix/sysv/linux/shmat.c: Likewise. * sysdeps/unix/sysv/linux/shmdt.c: Likewise. * sysdeps/unix/sysv/linux/shmget.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file. * sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed syscalls. * sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are available on sparc since 2.3.39. * sysdeps/unix/sysv/linux/execve.c: Kill warnings. 2000-01-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper prototype. (__real_chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return EINVAL if ruid, euid or suid are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper prototype. Don't include non-existant header. (__chown): Return EINVAL if owner or group are out of the range -1U .. 65534. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid): Inherit standard linux/syscalls.list definitions. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove. * sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide __setresgid symbol.
2000-01-18 04:33:34 +00:00
};
#endif /* __USE_MISC */
__END_DECLS