18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 28c2ecf20Sopenharmony_ci#ifndef _SPARC_SHMBUF_H 38c2ecf20Sopenharmony_ci#define _SPARC_SHMBUF_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci/* 68c2ecf20Sopenharmony_ci * The shmid64_ds structure for sparc architecture. 78c2ecf20Sopenharmony_ci * Note extra padding because this structure is passed back and forth 88c2ecf20Sopenharmony_ci * between kernel and user space. 98c2ecf20Sopenharmony_ci * 108c2ecf20Sopenharmony_ci * Pad space is left for: 118c2ecf20Sopenharmony_ci * - 2 miscellaneous 32-bit values 128c2ecf20Sopenharmony_ci */ 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistruct shmid64_ds { 158c2ecf20Sopenharmony_ci struct ipc64_perm shm_perm; /* operation perms */ 168c2ecf20Sopenharmony_ci#if defined(__sparc__) && defined(__arch64__) 178c2ecf20Sopenharmony_ci long shm_atime; /* last attach time */ 188c2ecf20Sopenharmony_ci long shm_dtime; /* last detach time */ 198c2ecf20Sopenharmony_ci long shm_ctime; /* last change time */ 208c2ecf20Sopenharmony_ci#else 218c2ecf20Sopenharmony_ci unsigned long shm_atime_high; 228c2ecf20Sopenharmony_ci unsigned long shm_atime; /* last attach time */ 238c2ecf20Sopenharmony_ci unsigned long shm_dtime_high; 248c2ecf20Sopenharmony_ci unsigned long shm_dtime; /* last detach time */ 258c2ecf20Sopenharmony_ci unsigned long shm_ctime_high; 268c2ecf20Sopenharmony_ci unsigned long shm_ctime; /* last change time */ 278c2ecf20Sopenharmony_ci#endif 288c2ecf20Sopenharmony_ci size_t shm_segsz; /* size of segment (bytes) */ 298c2ecf20Sopenharmony_ci __kernel_pid_t shm_cpid; /* pid of creator */ 308c2ecf20Sopenharmony_ci __kernel_pid_t shm_lpid; /* pid of last operator */ 318c2ecf20Sopenharmony_ci unsigned long shm_nattch; /* no. of current attaches */ 328c2ecf20Sopenharmony_ci unsigned long __unused1; 338c2ecf20Sopenharmony_ci unsigned long __unused2; 348c2ecf20Sopenharmony_ci}; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_cistruct shminfo64 { 378c2ecf20Sopenharmony_ci unsigned long shmmax; 388c2ecf20Sopenharmony_ci unsigned long shmmin; 398c2ecf20Sopenharmony_ci unsigned long shmmni; 408c2ecf20Sopenharmony_ci unsigned long shmseg; 418c2ecf20Sopenharmony_ci unsigned long shmall; 428c2ecf20Sopenharmony_ci unsigned long __unused1; 438c2ecf20Sopenharmony_ci unsigned long __unused2; 448c2ecf20Sopenharmony_ci unsigned long __unused3; 458c2ecf20Sopenharmony_ci unsigned long __unused4; 468c2ecf20Sopenharmony_ci}; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#endif /* _SPARC_SHMBUF_H */ 49