master
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2#ifndef _ASM_POWERPC_SHMBUF_H
3#define _ASM_POWERPC_SHMBUF_H
4
5#include <asm/ipcbuf.h>
6#include <asm/posix_types.h>
7
8/*
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version
12 * 2 of the License, or (at your option) any later version.
13 */
14
15/*
16 * The shmid64_ds structure for PPC architecture.
17 *
18 * Note extra padding because this structure is passed back and forth
19 * between kernel and user space.
20 *
21 * Pad space is left for:
22 * - 2 miscellaneous 32-bit values
23 */
24
25struct shmid64_ds {
26 struct ipc64_perm shm_perm; /* operation perms */
27#ifdef __powerpc64__
28 long shm_atime; /* last attach time */
29 long shm_dtime; /* last detach time */
30 long shm_ctime; /* last change time */
31#else
32 unsigned long shm_atime_high;
33 unsigned long shm_atime; /* last attach time */
34 unsigned long shm_dtime_high;
35 unsigned long shm_dtime; /* last detach time */
36 unsigned long shm_ctime_high;
37 unsigned long shm_ctime; /* last change time */
38 unsigned long __unused4;
39#endif
40 __kernel_size_t shm_segsz; /* size of segment (bytes) */
41 __kernel_pid_t shm_cpid; /* pid of creator */
42 __kernel_pid_t shm_lpid; /* pid of last operator */
43 unsigned long shm_nattch; /* no. of current attaches */
44 unsigned long __unused5;
45 unsigned long __unused6;
46};
47
48struct shminfo64 {
49 unsigned long shmmax;
50 unsigned long shmmin;
51 unsigned long shmmni;
52 unsigned long shmseg;
53 unsigned long shmall;
54 unsigned long __unused1;
55 unsigned long __unused2;
56 unsigned long __unused3;
57 unsigned long __unused4;
58};
59
60#endif /* _ASM_POWERPC_SHMBUF_H */