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