blob: 83a16055363fc4b7498625d4f62e24e62cc31c73 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _SPARC_SHMBUF_H
2#define _SPARC_SHMBUF_H
3
4/*
5 * The shmid64_ds structure for sparc architecture.
6 * Note extra padding because this structure is passed back and forth
7 * between kernel and user space.
8 *
9 * Pad space is left for:
10 * - 64-bit time_t to solve y2038 problem
11 * - 2 miscellaneous 32-bit values
12 */
13
Sam Ravnborg2d141962008-06-05 23:46:22 +020014#if defined(__sparc__) && defined(__arch64__)
15# define PADDING(x)
16#else
17# define PADDING(x) unsigned int x;
18#endif
19
Linus Torvalds1da177e2005-04-16 15:20:36 -070020struct shmid64_ds {
21 struct ipc64_perm shm_perm; /* operation perms */
Sam Ravnborg2d141962008-06-05 23:46:22 +020022 PADDING(__pad1)
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 __kernel_time_t shm_atime; /* last attach time */
Sam Ravnborg2d141962008-06-05 23:46:22 +020024 PADDING(__pad2)
Linus Torvalds1da177e2005-04-16 15:20:36 -070025 __kernel_time_t shm_dtime; /* last detach time */
Sam Ravnborg2d141962008-06-05 23:46:22 +020026 PADDING(__pad3)
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 __kernel_time_t shm_ctime; /* last change time */
28 size_t shm_segsz; /* size of segment (bytes) */
29 __kernel_pid_t shm_cpid; /* pid of creator */
30 __kernel_pid_t shm_lpid; /* pid of last operator */
31 unsigned long shm_nattch; /* no. of current attaches */
32 unsigned long __unused1;
33 unsigned long __unused2;
34};
35
36struct shminfo64 {
37 unsigned long shmmax;
38 unsigned long shmmin;
39 unsigned long shmmni;
40 unsigned long shmseg;
41 unsigned long shmall;
42 unsigned long __unused1;
43 unsigned long __unused2;
44 unsigned long __unused3;
45 unsigned long __unused4;
46};
47
Sam Ravnborg2d141962008-06-05 23:46:22 +020048#undef PADDING
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050#endif /* _SPARC_SHMBUF_H */