Loading...
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _SPARC_SHMBUF_H
3#define _SPARC_SHMBUF_H
4
5#include <asm/ipcbuf.h>
6#include <asm/posix_types.h>
7
8/*
9 * The shmid64_ds structure for sparc architecture.
10 * Note extra padding because this structure is passed back and forth
11 * between kernel and user space.
12 *
13 * Pad space is left for:
14 * - 2 miscellaneous 32-bit values
15 */
16
17struct shmid64_ds {
18 struct ipc64_perm shm_perm; /* operation perms */
19#if defined(__sparc__) && defined(__arch64__)
20 long shm_atime; /* last attach time */
21 long shm_dtime; /* last detach time */
22 long shm_ctime; /* last change time */
23#else
24 unsigned long shm_atime_high;
25 unsigned long shm_atime; /* last attach time */
26 unsigned long shm_dtime_high;
27 unsigned long shm_dtime; /* last detach time */
28 unsigned long shm_ctime_high;
29 unsigned long shm_ctime; /* last change time */
30#endif
31 __kernel_size_t shm_segsz; /* size of segment (bytes) */
32 __kernel_pid_t shm_cpid; /* pid of creator */
33 __kernel_pid_t shm_lpid; /* pid of last operator */
34 unsigned long shm_nattch; /* no. of current attaches */
35 unsigned long __unused1;
36 unsigned long __unused2;
37};
38
39struct shminfo64 {
40 unsigned long shmmax;
41 unsigned long shmmin;
42 unsigned long shmmni;
43 unsigned long shmseg;
44 unsigned long shmall;
45 unsigned long __unused1;
46 unsigned long __unused2;
47 unsigned long __unused3;
48 unsigned long __unused4;
49};
50
51#endif /* _SPARC_SHMBUF_H */
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _SPARC_SHMBUF_H
3#define _SPARC_SHMBUF_H
4
5/*
6 * The shmid64_ds structure for sparc architecture.
7 * Note extra padding because this structure is passed back and forth
8 * between kernel and user space.
9 *
10 * Pad space is left for:
11 * - 64-bit time_t to solve y2038 problem
12 * - 2 miscellaneous 32-bit values
13 */
14
15#if defined(__sparc__) && defined(__arch64__)
16# define PADDING(x)
17#else
18# define PADDING(x) unsigned int x;
19#endif
20
21struct shmid64_ds {
22 struct ipc64_perm shm_perm; /* operation perms */
23 PADDING(__pad1)
24 __kernel_time_t shm_atime; /* last attach time */
25 PADDING(__pad2)
26 __kernel_time_t shm_dtime; /* last detach time */
27 PADDING(__pad3)
28 __kernel_time_t shm_ctime; /* last change time */
29 size_t shm_segsz; /* size of segment (bytes) */
30 __kernel_pid_t shm_cpid; /* pid of creator */
31 __kernel_pid_t shm_lpid; /* pid of last operator */
32 unsigned long shm_nattch; /* no. of current attaches */
33 unsigned long __unused1;
34 unsigned long __unused2;
35};
36
37struct shminfo64 {
38 unsigned long shmmax;
39 unsigned long shmmin;
40 unsigned long shmmni;
41 unsigned long shmseg;
42 unsigned long shmall;
43 unsigned long __unused1;
44 unsigned long __unused2;
45 unsigned long __unused3;
46 unsigned long __unused4;
47};
48
49#undef PADDING
50
51#endif /* _SPARC_SHMBUF_H */