@@ -16,15 +16,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <sys/ipc.h> /* For __key_t */
-
-struct __old_ipc_perm
-{
- __key_t __key; /* Key. */
- unsigned int uid; /* Owner's user ID. */
- unsigned int gid; /* Owner's group ID. */
- unsigned int cuid; /* Creator's user ID. */
- unsigned int cgid; /* Creator's group ID. */
- unsigned int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
-};
+#define __OLD_IPC_ID_TYPE unsigned int
+#define __OLD_IPC_MODE_TYPE unsigned int
+#define __OLD_IPC_SEQ_TYPE unsigned short int
+#include <sysdeps/unix/sysv/linux/ipc_priv.h>
@@ -16,17 +16,30 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _IPC_PRIV_H
+#define _IPC_PRIV_H
+
#include <sys/ipc.h> /* For __key_t */
+#ifndef __OLD_IPC_ID_TYPE
+# define __OLD_IPC_ID_TYPE unsigned short int
+#endif
+#ifndef __OLD_IPC_MODE_TYPE
+# define __OLD_IPC_MODE_TYPE unsigned short int
+#endif
+#ifndef __OLD_IPC_SEQ_TYPE
+# define __OLD_IPC_SEQ_TYPE unsigned short int
+#endif
+
struct __old_ipc_perm
{
__key_t __key; /* Key. */
- unsigned short int uid; /* Owner's user ID. */
- unsigned short int gid; /* Owner's group ID. */
- unsigned short int cuid; /* Creator's user ID. */
- unsigned short int cgid; /* Creator's group ID. */
- unsigned short int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
+ __OLD_IPC_ID_TYPE uid; /* Owner's user ID. */
+ __OLD_IPC_ID_TYPE gid; /* Owner's group ID. */
+ __OLD_IPC_ID_TYPE cuid; /* Creator's user ID. */
+ __OLD_IPC_ID_TYPE cgid; /* Creator's group ID. */
+ __OLD_IPC_MODE_TYPE mode; /* Read/write permission. */
+ __OLD_IPC_SEQ_TYPE __seq; /* Sequence number. */
};
#define SEMCTL_ARG_ADDRESS(__arg) &__arg.array
@@ -38,3 +51,5 @@ struct __old_ipc_perm
(__nsops), 0, (__sops), (__timeout)
#include <ipc_ops.h>
+
+#endif /* _IPC_PRIV_H */
@@ -16,15 +16,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <sys/ipc.h>
-
-struct __old_ipc_perm
-{
- __key_t __key; /* Key. */
- int uid; /* Owner's user ID. */
- int gid; /* Owner's group ID. */
- int cuid; /* Creator's user ID. */
- int cgid; /* Creator's group ID. */
- int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
-};
+#define __OLD_IPC_ID_TYPE int
+#define __OLD_IPC_MODE_TYPE int
+#define __OLD_IPC_SEQ_TYPE unsigned short int
+#include <sysdeps/unix/sysv/linux/ipc_priv.h>
@@ -16,22 +16,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <sys/ipc.h> /* For __key_t */
-
-struct __old_ipc_perm
-{
- __key_t __key; /* Key. */
- unsigned int uid; /* Owner's user ID. */
- unsigned int gid; /* Owner's group ID. */
- unsigned int cuid; /* Creator's user ID. */
- unsigned int cgid; /* Creator's group ID. */
- unsigned int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
-};
-
-#define SEMCTL_ARG_ADDRESS(__arg) &__arg.array
-
-#define MSGRCV_ARGS(__msgp, __msgtyp) \
- ((long int []){ (long int) __msgp, __msgtyp })
-
-#include <ipc_ops.h>
+#define __OLD_IPC_ID_TYPE unsigned int
+#define __OLD_IPC_MODE_TYPE unsigned int
+#define __OLD_IPC_SEQ_TYPE unsigned short int
+#include <sysdeps/unix/sysv/linux/ipc_priv.h>
@@ -16,24 +16,18 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <sys/ipc.h> /* For __key_t */
-
-struct __old_ipc_perm
-{
- __key_t __key; /* Key. */
- unsigned int uid; /* Owner's user ID. */
- unsigned int gid; /* Owner's group ID. */
- unsigned int cuid; /* Creator's user ID. */
- unsigned int cgid; /* Creator's group ID. */
- unsigned int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
-};
+#define __OLD_IPC_ID_TYPE unsigned int
+#define __OLD_IPC_MODE_TYPE unsigned int
+#define __OLD_IPC_SEQ_TYPE unsigned short int
+#include <sysdeps/unix/sysv/linux/ipc_priv.h>
/* SPARC semctl multiplex syscall expects the union pointed address, not
the union address itself. */
+#undef SEMCTL_ARG_ADDRESS
#define SEMCTL_ARG_ADDRESS(__arg) __arg.array
/* Also for msgrcv it does not use the kludge on final 2 arguments. */
+#undef MSGRCV_ARGS
#define MSGRCV_ARGS(__msgp, __msgtyp) __msgp, __msgtyp
#include <ipc_ops.h>
deleted file mode 100644
@@ -1,30 +0,0 @@
-/* Old SysV permission definition for Linux. x86_64 version.
- Copyright (C) 2016-2019 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 <sys/ipc.h> /* For __key_t */
-
-struct __old_ipc_perm
-{
- __key_t __key; /* Key. */
- unsigned short uid; /* Owner's user ID. */
- unsigned short gid; /* Owner's group ID. */
- unsigned short cuid; /* Creator's user ID. */
- unsigned short cgid; /* Creator's group ID. */
- unsigned short mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
-};