diff options
Diffstat (limited to 'sysdeps/gnu')
-rw-r--r-- | sysdeps/gnu/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/gnu/bits/ipc-perm.h | 33 | ||||
-rw-r--r-- | sysdeps/gnu/bits/ipc.h | 13 |
3 files changed, 38 insertions, 12 deletions
diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile index e3ba3d0ff5..4798ff692b 100644 --- a/sysdeps/gnu/Makefile +++ b/sysdeps/gnu/Makefile @@ -44,3 +44,7 @@ librt-sysdep_routines += rt-unwind-resume librt-shared-only-routines += rt-unwind-resume CFLAGS-rt-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables endif + +ifeq ($(subdir),sysvipc) +sysdep_headers += bits/ipc-perm.h +endif diff --git a/sysdeps/gnu/bits/ipc-perm.h b/sysdeps/gnu/bits/ipc-perm.h new file mode 100644 index 0000000000..f5a7d7b134 --- /dev/null +++ b/sysdeps/gnu/bits/ipc-perm.h @@ -0,0 +1,33 @@ +/* struct ipc_perm definition. + Copyright (C) 1995-2023 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 + <https://www.gnu.org/licenses/>. */ + +#ifndef _SYS_IPC_H +# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + unsigned short int __seq; /* Sequence number. */ + }; diff --git a/sysdeps/gnu/bits/ipc.h b/sysdeps/gnu/bits/ipc.h index e41c11c3de..b62beb1323 100644 --- a/sysdeps/gnu/bits/ipc.h +++ b/sysdeps/gnu/bits/ipc.h @@ -37,15 +37,4 @@ /* Special key values. */ #define IPC_PRIVATE ((__key_t) 0) /* Private key. */ - -/* Data structure used to pass permission information to IPC operations. */ -struct 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. */ - }; +#include <bits/ipc-perm.h> |