/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1#ifndef _ASM_SHMBUF_H2#define _ASM_SHMBUF_H34#include <asm/ipcbuf.h>5#include <asm/posix_types.h>67/*8* The shmid64_ds structure for the MIPS architecture.9* Note extra padding because this structure is passed back and forth10* between kernel and user space.11*12* As MIPS was lacking proper padding after shm_?time, we use 48 bits13* of the padding at the end to store a few additional bits of the time.14* libc implementations need to take care to convert this into a proper15* data structure when moving to 64-bit time_t.16*/1718#ifdef __mips6419struct shmid64_ds {20struct ipc64_perm shm_perm; /* operation perms */21__kernel_size_t shm_segsz; /* size of segment (bytes) */22long shm_atime; /* last attach time */23long shm_dtime; /* last detach time */24long shm_ctime; /* last change time */25__kernel_pid_t shm_cpid; /* pid of creator */26__kernel_pid_t shm_lpid; /* pid of last operator */27unsigned long shm_nattch; /* no. of current attaches */28unsigned long __unused1;29unsigned long __unused2;30};31#else32struct shmid64_ds {33struct ipc64_perm shm_perm; /* operation perms */34__kernel_size_t shm_segsz; /* size of segment (bytes) */35unsigned long shm_atime; /* last attach time */36unsigned long shm_dtime; /* last detach time */37unsigned long shm_ctime; /* last change time */38__kernel_pid_t shm_cpid; /* pid of creator */39__kernel_pid_t shm_lpid; /* pid of last operator */40unsigned long shm_nattch; /* no. of current attaches */41unsigned short shm_atime_high;42unsigned short shm_dtime_high;43unsigned short shm_ctime_high;44unsigned short __unused1;45};46#endif4748struct shminfo64 {49unsigned long shmmax;50unsigned long shmmin;51unsigned long shmmni;52unsigned long shmseg;53unsigned long shmall;54unsigned long __unused1;55unsigned long __unused2;56unsigned long __unused3;57unsigned long __unused4;58};5960#endif /* _ASM_SHMBUF_H */616263