aboutsummaryrefslogtreecommitdiff
path: root/sysvipc
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /sysvipc
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-zack/build-layout-experiment.tar
glibc-zack/build-layout-experiment.tar.gz
glibc-zack/build-layout-experiment.tar.bz2
glibc-zack/build-layout-experiment.zip
Prepare for radical source tree reorganization.zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
Diffstat (limited to 'sysvipc')
-rw-r--r--sysvipc/Makefile38
-rw-r--r--sysvipc/Versions20
-rw-r--r--sysvipc/ftok.c35
-rw-r--r--sysvipc/msgctl.c32
-rw-r--r--sysvipc/msgget.c32
-rw-r--r--sysvipc/msgrcv.c35
-rw-r--r--sysvipc/msgsnd.c35
-rw-r--r--sysvipc/semctl.c32
-rw-r--r--sysvipc/semget.c32
-rw-r--r--sysvipc/semop.c31
-rw-r--r--sysvipc/semtimedop.c32
-rw-r--r--sysvipc/shmat.c33
-rw-r--r--sysvipc/shmctl.c31
-rw-r--r--sysvipc/shmdt.c32
-rw-r--r--sysvipc/shmget.c32
-rw-r--r--sysvipc/sys/ipc.h54
-rw-r--r--sysvipc/sys/msg.h82
-rw-r--r--sysvipc/sys/sem.h67
-rw-r--r--sysvipc/sys/shm.h63
-rw-r--r--sysvipc/test-sysvmsg.c128
-rw-r--r--sysvipc/test-sysvsem.c123
-rw-r--r--sysvipc/test-sysvshm.c131
22 files changed, 0 insertions, 1130 deletions
diff --git a/sysvipc/Makefile b/sysvipc/Makefile
deleted file mode 100644
index 9ac44bafca..0000000000
--- a/sysvipc/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 1995-2017 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-#
-# Sub-makefile for sysvipc portion of the library.
-#
-subdir := sysvipc
-
-include ../Makeconfig
-
-headers := sys/ipc.h sys/msg.h sys/sem.h sys/shm.h \
- bits/ipctypes.h bits/ipc.h bits/msq.h bits/sem.h bits/shm.h
-
-routines := ftok \
- msgsnd msgrcv msgget msgctl \
- semop semget semctl semtimedop \
- shmat shmdt shmget shmctl
-
-tests := test-sysvmsg test-sysvsem test-sysvshm
-
-include ../Rules
-
-CFLAGS-msgrcv.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-msgsnd.c = -fexceptions -fasynchronous-unwind-tables
diff --git a/sysvipc/Versions b/sysvipc/Versions
deleted file mode 100644
index 4c797e25ce..0000000000
--- a/sysvipc/Versions
+++ /dev/null
@@ -1,20 +0,0 @@
-libc {
- GLIBC_2.0 {
- # f*
- ftok;
-
- # m*
- msgctl; msgget; msgrcv; msgsnd;
-
- # s*
- semctl; semget; semop; shmat; shmctl; shmdt; shmget;
- }
- GLIBC_2.3.3 {
- # Non-standard function.
- semtimedop;
- }
- GLIBC_PRIVATE {
- # Cancellation point entries.
- __libc_msgrcv; __libc_msgsnd;
- }
-}
diff --git a/sysvipc/ftok.c b/sysvipc/ftok.c
deleted file mode 100644
index 00749031eb..0000000000
--- a/sysvipc/ftok.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/ipc.h>
-#include <sys/stat.h>
-
-key_t
-ftok (const char *pathname, int proj_id)
-{
- struct stat64 st;
- key_t key;
-
- if (__xstat64 (_STAT_VER, pathname, &st) < 0)
- return (key_t) -1;
-
- key = ((st.st_ino & 0xffff) | ((st.st_dev & 0xff) << 16)
- | ((proj_id & 0xff) << 24));
-
- return key;
-}
diff --git a/sysvipc/msgctl.c b/sysvipc/msgctl.c
deleted file mode 100644
index 01a07a8ba5..0000000000
--- a/sysvipc/msgctl.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/msg.h>
-#include <errno.h>
-
-/* Allows to control internal state and destruction of message queue
- objects. */
-
-int
-msgctl (int msqid, int cmd, struct msqid_ds *buf)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (msgctl)
diff --git a/sysvipc/msgget.c b/sysvipc/msgget.c
deleted file mode 100644
index 0a439444db..0000000000
--- a/sysvipc/msgget.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/msg.h>
-#include <errno.h>
-
-/* Return descriptor for message queue associated with KEY. The MSGFLG
- parameter describes how to proceed with clashing of key values. */
-
-int
-msgget (key_t key, int msgflg)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (msgget)
diff --git a/sysvipc/msgrcv.c b/sysvipc/msgrcv.c
deleted file mode 100644
index bc7744e430..0000000000
--- a/sysvipc/msgrcv.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/msg.h>
-#include <errno.h>
-
-/* Read a message from the queue associated with the message queue
- descriptor MSQID. At most MSGSZ bytes of the message are placed
- in the buffer specified by the MSGP parameter. The MSGTYP parameter
- describes which message is returned in MSGFLG describes the behaviour
- in buffer overflow or queue underflow. */
-
-ssize_t
-msgrcv (int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (msgrcv)
diff --git a/sysvipc/msgsnd.c b/sysvipc/msgsnd.c
deleted file mode 100644
index b3346eb7e1..0000000000
--- a/sysvipc/msgsnd.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/msg.h>
-#include <errno.h>
-
-/* Send a message to the queue associated with the message queue
- descriptor MSQID. The parameter MSGP points to a structure
- describing messages where the parameter MSGSZ gives the length
- of the text. The MSGFLG parameter describes the action taken
- when the limit of the message queue length is reached. */
-
-int
-msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (msgsnd)
diff --git a/sysvipc/semctl.c b/sysvipc/semctl.c
deleted file mode 100644
index 117a86a72c..0000000000
--- a/sysvipc/semctl.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/sem.h>
-#include <errno.h>
-
-/* Return identifier for array of NSEMS semaphores associated with
- KEY. */
-
-int
-semctl (int semid, int semnum, int cmd, ...)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (semctl)
diff --git a/sysvipc/semget.c b/sysvipc/semget.c
deleted file mode 100644
index 697597181e..0000000000
--- a/sysvipc/semget.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/sem.h>
-#include <errno.h>
-
-/* Return identifier for array of NSEMS semaphores associated with
- KEY. */
-
-int
-semget (key_t key, int nsems, int semflg)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (semget)
diff --git a/sysvipc/semop.c b/sysvipc/semop.c
deleted file mode 100644
index 11fea80a32..0000000000
--- a/sysvipc/semop.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/sem.h>
-#include <errno.h>
-
-/* Perform user-defined atomical operation of array of semaphores. */
-
-int
-semop (int semid, struct sembuf *sops, size_t nsops)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (semop)
diff --git a/sysvipc/semtimedop.c b/sysvipc/semtimedop.c
deleted file mode 100644
index 567730634e..0000000000
--- a/sysvipc/semtimedop.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/sem.h>
-#include <errno.h>
-
-/* Perform user-defined atomical operation of array of semaphores. */
-
-int
-semtimedop (int semid, struct sembuf *sops, size_t nsops,
- const struct timespec *timeout)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (semtimedop)
diff --git a/sysvipc/shmat.c b/sysvipc/shmat.c
deleted file mode 100644
index 4872c906ba..0000000000
--- a/sysvipc/shmat.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/shm.h>
-#include <errno.h>
-
-/* Attach the shared memory segment associated with SHMID to the data
- segment of the calling process. SHMADDR and SHMFLG determine how
- and where the segment is attached. */
-
-void *
-shmat (int shmid, const void *shmaddr, int shmflg)
-{
- __set_errno (ENOSYS);
- return (void *) -1;
-}
-
-stub_warning (shmat)
diff --git a/sysvipc/shmctl.c b/sysvipc/shmctl.c
deleted file mode 100644
index a8e93a32d5..0000000000
--- a/sysvipc/shmctl.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/shm.h>
-#include <errno.h>
-
-/* Provide operations to control over shared memory segments. */
-
-int
-shmctl (int shmid, int cmd, struct shmid_ds *buf)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (shmctl)
diff --git a/sysvipc/shmdt.c b/sysvipc/shmdt.c
deleted file mode 100644
index 16f4583d6e..0000000000
--- a/sysvipc/shmdt.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/shm.h>
-#include <errno.h>
-
-/* Detach shared memory segment starting at address specified by SHMADDR
- from the caller's data segment. */
-
-int
-shmdt (const void *shmaddr)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (shmdt)
diff --git a/sysvipc/shmget.c b/sysvipc/shmget.c
deleted file mode 100644
index 57f6c98f60..0000000000
--- a/sysvipc/shmget.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/shm.h>
-#include <errno.h>
-
-/* Return an identifier for an shared memory segment of at least size SIZE
- which is associated with KEY. */
-
-int
-shmget (key_t key, size_t size, int shmflg)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-
-stub_warning (shmget)
diff --git a/sysvipc/sys/ipc.h b/sysvipc/sys/ipc.h
deleted file mode 100644
index 9d724a8884..0000000000
--- a/sysvipc/sys/ipc.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H 1
-
-#include <features.h>
-
-/* Get system dependent definition of `struct ipc_perm' and more. */
-#include <bits/ipctypes.h>
-#include <bits/ipc.h>
-
-#ifndef __uid_t_defined
-typedef __uid_t uid_t;
-# define __uid_t_defined
-#endif
-
-#ifndef __gid_t_defined
-typedef __gid_t gid_t;
-# define __gid_t_defined
-#endif
-
-#ifndef __mode_t_defined
-typedef __mode_t mode_t;
-# define __mode_t_defined
-#endif
-
-#ifndef __key_t_defined
-typedef __key_t key_t;
-# define __key_t_defined
-#endif
-
-__BEGIN_DECLS
-
-/* Generates key for System V style IPC. */
-extern key_t ftok (const char *__pathname, int __proj_id) __THROW;
-
-__END_DECLS
-
-#endif /* sys/ipc.h */
diff --git a/sysvipc/sys/msg.h b/sysvipc/sys/msg.h
deleted file mode 100644
index 3610050014..0000000000
--- a/sysvipc/sys/msg.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_MSG_H
-#define _SYS_MSG_H
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-/* Get common definition of System V style IPC. */
-#include <sys/ipc.h>
-
-/* Get system dependent definition of `struct msqid_ds' and more. */
-#include <bits/msq.h>
-
-/* Define types required by the standard. */
-#include <bits/types/time_t.h>
-
-#ifndef __pid_t_defined
-typedef __pid_t pid_t;
-# define __pid_t_defined
-#endif
-
-#ifndef __ssize_t_defined
-typedef __ssize_t ssize_t;
-# define __ssize_t_defined
-#endif
-
-/* The following System V style IPC functions implement a message queue
- system. The definition is found in XPG2. */
-
-#ifdef __USE_GNU
-/* Template for struct to be used as argument for `msgsnd' and `msgrcv'. */
-struct msgbuf
- {
- __syscall_slong_t mtype; /* type of received/sent message */
- char mtext[1]; /* text of the message */
- };
-#endif
-
-
-__BEGIN_DECLS
-
-/* Message queue control operation. */
-extern int msgctl (int __msqid, int __cmd, struct msqid_ds *__buf) __THROW;
-
-/* Get messages queue. */
-extern int msgget (key_t __key, int __msgflg) __THROW;
-
-/* Receive message from message queue.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz,
- long int __msgtyp, int __msgflg);
-
-/* Send message to message queue.
-
- This function is a cancellation point and therefore not marked with
- __THROW. */
-extern int msgsnd (int __msqid, const void *__msgp, size_t __msgsz,
- int __msgflg);
-
-__END_DECLS
-
-#endif /* sys/msg.h */
diff --git a/sysvipc/sys/sem.h b/sysvipc/sys/sem.h
deleted file mode 100644
index 1fa58c5f09..0000000000
--- a/sysvipc/sys/sem.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SEM_H
-#define _SYS_SEM_H 1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-/* Get common definition of System V style IPC. */
-#include <sys/ipc.h>
-
-/* Get system dependent definition of `struct semid_ds' and more. */
-#include <bits/sem.h>
-
-#ifdef __USE_GNU
-# include <bits/types/struct_timespec.h>
-#endif
-
-/* The following System V style IPC functions implement a semaphore
- handling. The definition is found in XPG2. */
-
-/* Structure used for argument to `semop' to describe operations. */
-struct sembuf
-{
- unsigned short int sem_num; /* semaphore number */
- short int sem_op; /* semaphore operation */
- short int sem_flg; /* operation flag */
-};
-
-
-__BEGIN_DECLS
-
-/* Semaphore control operation. */
-extern int semctl (int __semid, int __semnum, int __cmd, ...) __THROW;
-
-/* Get semaphore. */
-extern int semget (key_t __key, int __nsems, int __semflg) __THROW;
-
-/* Operate on semaphore. */
-extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) __THROW;
-
-#ifdef __USE_GNU
-/* Operate on semaphore with timeout. */
-extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops,
- const struct timespec *__timeout) __THROW;
-#endif
-
-__END_DECLS
-
-#endif /* sys/sem.h */
diff --git a/sysvipc/sys/shm.h b/sysvipc/sys/shm.h
deleted file mode 100644
index c83fd4c3d5..0000000000
--- a/sysvipc/sys/shm.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H 1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-/* Get common definition of System V style IPC. */
-#include <sys/ipc.h>
-
-/* Get system dependent definition of `struct shmid_ds' and more. */
-#include <bits/shm.h>
-
-/* Define types required by the standard. */
-#include <bits/types/time_t.h>
-
-#ifdef __USE_XOPEN
-# ifndef __pid_t_defined
-typedef __pid_t pid_t;
-# define __pid_t_defined
-# endif
-#endif /* X/Open */
-
-
-__BEGIN_DECLS
-
-/* The following System V style IPC functions implement a shared memory
- facility. The definition is found in XPG4.2. */
-
-/* Shared memory control operation. */
-extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __THROW;
-
-/* Get shared memory segment. */
-extern int shmget (key_t __key, size_t __size, int __shmflg) __THROW;
-
-/* Attach shared memory segment. */
-extern void *shmat (int __shmid, const void *__shmaddr, int __shmflg)
- __THROW;
-
-/* Detach shared memory segment. */
-extern int shmdt (const void *__shmaddr) __THROW;
-
-__END_DECLS
-
-#endif /* sys/shm.h */
diff --git a/sysvipc/test-sysvmsg.c b/sysvipc/test-sysvmsg.c
deleted file mode 100644
index a0d84f3a39..0000000000
--- a/sysvipc/test-sysvmsg.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Basic tests for SYSV message queue functions.
- Copyright (C) 2016-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-#include <support/support.h>
-#include <support/check.h>
-#include <support/temp_file.h>
-
-#define TEXTSIZE 32
-struct msgbuf_t
-{
-#ifdef _GNU_SOURCE
- __syscall_slong_t type;
-#else
- long type;
-#endif
- char buf[TEXTSIZE];
-};
-
-#define MSGTYPE 0x01020304
-#define MSGDATA "0123456789"
-
-/* These are for the temporary file we generate. */
-static char *name;
-static int msqid;
-
-static void
-remove_msq (void)
-{
- /* Enforce message queue removal in case of early test failure.
- Ignore error since the msgq may already have being removed. */
- msgctl (msqid, IPC_RMID, NULL);
-}
-
-static void
-do_prepare (int argc, char *argv[])
-{
- int fd = create_temp_file ("tst-sysvmsg.", &name);
- if (fd == -1)
- FAIL_EXIT1 ("cannot create temporary file (errno=%d)", errno);
-}
-
-#define PREPARE do_prepare
-
-/* It is not an extensive test, but rather a functional one aimed to check
- correct parameter passing on kernel. */
-
-#define MSGQ_MODE 0644
-
-static int
-do_test (void)
-{
- atexit (remove_msq);
-
- key_t key = ftok (name, 'G');
- if (key == -1)
- FAIL_EXIT1 ("ftok failed");
-
- msqid = msgget (key, MSGQ_MODE | IPC_CREAT);
- if (msqid == -1)
- {
- if (errno == ENOSYS)
- FAIL_UNSUPPORTED ("msgget not supported");
- FAIL_EXIT1 ("msgget failed (errno=%d)", errno);
- }
-
- /* Get message queue kernel information and do some sanity checks. */
- struct msqid_ds msginfo;
- if (msgctl (msqid, IPC_STAT, &msginfo) == -1)
- FAIL_EXIT1 ("msgctl with IPC_STAT failed (errno=%d)", errno);
-
- if (msginfo.msg_perm.__key != key)
- FAIL_EXIT1 ("msgid_ds::msg_perm::key (%d) != %d",
- (int) msginfo.msg_perm.__key, (int) key);
- if (msginfo.msg_perm.mode != MSGQ_MODE)
- FAIL_EXIT1 ("msgid_ds::msg_perm::mode (%o) != %o",
- msginfo.msg_perm.mode, MSGQ_MODE);
- if (msginfo.msg_qnum != 0)
- FAIL_EXIT1 ("msgid_ds::msg_qnum (%lu) != 0",
- (long unsigned) msginfo.msg_qnum);
-
- /* Check if last argument (IPC_NOWAIT) is correctly handled. */
- struct msgbuf_t msg2rcv = { 0 };
- if (msgrcv (msqid, &msg2rcv, sizeof (msg2rcv.buf), MSGTYPE,
- IPC_NOWAIT) == -1
- && errno != ENOMSG)
- FAIL_EXIT1 ("msgrcv failed (errno=%d)", errno);
-
- struct msgbuf_t msg2snd = { MSGTYPE, MSGDATA };
- if (msgsnd (msqid, &msg2snd, sizeof (msg2snd.buf), 0) == -1)
- FAIL_EXIT1 ("msgsnd failed (errno=%d)", errno);
-
- if (msgrcv (msqid, &msg2rcv, sizeof (msg2rcv.buf), MSGTYPE, 0) == -1)
- FAIL_EXIT1 ("msgrcv failed (errno=%d)", errno);
-
- int ret = 0;
- if (strncmp (msg2snd.buf, msg2rcv.buf, TEXTSIZE) != 0)
- ret = 1;
-
- if (msgctl (msqid, IPC_RMID, NULL) == -1)
- FAIL_EXIT1 ("msgctl failed");
-
- return ret;
-}
-
-#include <support/test-driver.c>
diff --git a/sysvipc/test-sysvsem.c b/sysvipc/test-sysvsem.c
deleted file mode 100644
index 279eca9b09..0000000000
--- a/sysvipc/test-sysvsem.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Basic tests for SYSV semaphore functions.
- Copyright (C) 2016-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-
-#include <support/support.h>
-#include <support/check.h>
-#include <support/temp_file.h>
-
-/* These are for the temporary file we generate. */
-static char *name;
-static int semid;
-
-static void
-remove_sem (void)
-{
- /* Enforce message queue removal in case of early test failure.
- Ignore error since the sem may already have being removed. */
- semctl (semid, 0, IPC_RMID, 0);
-}
-
-static void
-do_prepare (int argc, char *argv[])
-{
- int fd = create_temp_file ("tst-sysvsem.", &name);
- if (fd == -1)
- FAIL_EXIT1 ("cannot create temporary file (errno=%d)", errno);
-}
-
-#define PREPARE do_prepare
-
-/* It is not an extensive test, but rather a functional one aimed to check
- correct parameter passing on kernel. */
-
-#define SEM_MODE 0644
-
-union semun
-{
- int val;
- struct semid_ds *buf;
- unsigned short *array;
-};
-
-static int
-do_test (void)
-{
- atexit (remove_sem);
-
- key_t key = ftok (name, 'G');
- if (key == -1)
- FAIL_EXIT1 ("ftok failed");
-
- semid = semget(key, 1, IPC_CREAT | IPC_EXCL | SEM_MODE);
- if (semid == -1)
- {
- if (errno == ENOSYS)
- FAIL_UNSUPPORTED ("msgget not supported");
- FAIL_EXIT1 ("semget failed (errno=%d)", errno);
- }
-
- /* Get semaphore kernel information and do some sanity checks. */
- struct semid_ds seminfo;
- if (semctl (semid, 0, IPC_STAT, (union semun) { .buf = &seminfo }) == -1)
- FAIL_EXIT1 ("semctl with IPC_STAT failed (errno=%d)", errno);
-
- if (seminfo.sem_perm.__key != key)
- FAIL_EXIT1 ("semid_ds::sem_perm::key (%d) != %d",
- (int) seminfo.sem_perm.__key, (int) key);
- if (seminfo.sem_perm.mode != SEM_MODE)
- FAIL_EXIT1 ("semid_ds::sem_perm::mode (%o) != %o",
- seminfo.sem_perm.mode, SEM_MODE);
- if (seminfo.sem_nsems != 1)
- FAIL_EXIT1 ("semid_ds::sem_nsems (%lu) != 1",
- (long unsigned) seminfo.sem_nsems);
-
- /* Some lock/unlock basic tests. */
- struct sembuf sb1 = { 0, 1, 0 };
- if (semop (semid, &sb1, 1) == -1)
- FAIL_EXIT1 ("semop failed (errno=%i)", errno);
-
- struct sembuf sb2 = { 0, -1, 0 };
- if (semop (semid, &sb2, 1) == -1)
- FAIL_EXIT1 ("semop failed (errno=%i)", errno);
-
-#ifdef _GNU_SOURCE
- /* Set a time for half a second. The semaphore operation should timeout
- with EAGAIN. */
- struct timespec ts = { 0 /* sec */, 500000000 /* nsec */ };
- if (semtimedop (semid, &sb2, 1, &ts) != -1
- || (errno != EAGAIN && errno != ENOSYS))
- FAIL_EXIT1 ("semtimedop succeed or returned errno != {EAGAIN,ENOSYS} "
- "(errno=%i)", errno);
-#endif
-
- /* Finally free up the semnaphore resource. */
- if (semctl (semid, 0, IPC_RMID, 0) == -1)
- FAIL_EXIT1 ("semctl failed (errno=%d)", errno);
-
- return 0;
-}
-
-#include <support/test-driver.c>
diff --git a/sysvipc/test-sysvshm.c b/sysvipc/test-sysvshm.c
deleted file mode 100644
index b7ccd0e20e..0000000000
--- a/sysvipc/test-sysvshm.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Basic tests for SYSV shared memory functions.
- Copyright (C) 2016-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-#include <support/support.h>
-#include <support/check.h>
-#include <support/temp_file.h>
-
-/* These are for the temporary file we generate. */
-static char *name;
-static int shmid;
-
-static void
-remove_shm (void)
-{
- /* Enforce message queue removal in case of early test failure.
- Ignore error since the shm may already have being removed. */
- shmctl (shmid, IPC_RMID, 0);
-}
-
-static void
-do_prepare (int argc, char *argv[])
-{
- int fd = create_temp_file ("tst-sysvshm.", &name);
- if (fd == -1)
- FAIL_EXIT1 ("cannot create temporary file (errno=%d)", errno);
-}
-
-#define PREPARE do_prepare
-
-/* It is not an extensive test, but rather a functional one aimed to check
- correct parameter passing on kernel. */
-
-#define CHECK_EQ(v, k) \
- if ((v) != (k)) \
- FAIL_EXIT1("%d != %d", v, k)
-
-#define SHM_MODE 0666
-
-static int
-do_test (void)
-{
- atexit (remove_shm);
-
- key_t key = ftok (name, 'G');
- if (key == -1)
- FAIL_EXIT1 ("ftok failed");
-
- long int pgsz = sysconf (_SC_PAGESIZE);
- if (pgsz == -1)
- FAIL_EXIT1 ("sysconf (_SC_PAGESIZE) failed (errno = %d)", errno);
-
- shmid = shmget(key, pgsz, IPC_CREAT | IPC_EXCL | SHM_MODE);
- if (shmid == -1)
- {
- if (errno == ENOSYS)
- FAIL_UNSUPPORTED ("shmget not supported");
- FAIL_EXIT1 ("shmget failed (errno=%d)", errno);
- }
-
- /* Get shared memory kernel information and do some sanity checks. */
- struct shmid_ds shminfo;
- if (shmctl (shmid, IPC_STAT, &shminfo) == -1)
- FAIL_EXIT1 ("shmctl with IPC_STAT failed (errno=%d)", errno);
-
- if (shminfo.shm_perm.__key != key)
- FAIL_EXIT1 ("shmid_ds::shm_perm::key (%d) != %d",
- (int) shminfo.shm_perm.__key, (int) key);
- if (shminfo.shm_perm.mode != SHM_MODE)
- FAIL_EXIT1 ("shmid_ds::shm_perm::mode (%o) != %o",
- shminfo.shm_perm.mode, SHM_MODE);
- if (shminfo.shm_segsz != pgsz)
- FAIL_EXIT1 ("shmid_ds::shm_segsz (%lu) != %lu",
- (long unsigned) shminfo.shm_segsz, pgsz);
-
- /* Attach on shared memory and realize some operations. */
- int *shmem = shmat (shmid, NULL, 0);
- if (shmem == (void*) -1)
- FAIL_EXIT1 ("shmem failed (errno=%d)", errno);
-
- shmem[0] = 0x55555555;
- shmem[32] = 0x44444444;
- shmem[64] = 0x33333333;
- shmem[128] = 0x22222222;
-
- if (shmdt (shmem) == -1)
- FAIL_EXIT1 ("shmem failed (errno=%d)", errno);
-
- shmem = shmat (shmid, NULL, SHM_RDONLY);
- if (shmem == (void*) -1)
- FAIL_EXIT1 ("shmem failed (errno=%d)", errno);
-
- CHECK_EQ (shmem[0], 0x55555555);
- CHECK_EQ (shmem[32], 0x44444444);
- CHECK_EQ (shmem[64], 0x33333333);
- CHECK_EQ (shmem[128], 0x22222222);
-
- if (shmdt (shmem) == -1)
- FAIL_EXIT1 ("shmem failed (errno=%d)", errno);
-
- /* Finally free up the semnaphore resource. */
- if (shmctl (shmid, IPC_RMID, 0) == -1)
- FAIL_EXIT1 ("semctl failed (errno=%d)", errno);
-
- return 0;
-}
-
-#include <support/test-driver.c>