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