blob: faee1be08d67b223deef379a411df0ec40f51fbe [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _SPARC_SEMBUF_H
2#define _SPARC_SEMBUF_H
3
Sam Ravnborgfcb07082008-06-05 23:39:32 +02004/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07005 * The semid64_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 */
Sam Ravnborgfcb07082008-06-05 23:39:32 +020013#if defined(__sparc__) && defined(__arch64__)
14# define PADDING(x)
15#else
16# define PADDING(x) unsigned int x;
17#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
19struct semid64_ds {
20 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
Sam Ravnborgfcb07082008-06-05 23:39:32 +020021 PADDING(__pad1)
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 __kernel_time_t sem_otime; /* last semop time */
Sam Ravnborgfcb07082008-06-05 23:39:32 +020023 PADDING(__pad2)
Linus Torvalds1da177e2005-04-16 15:20:36 -070024 __kernel_time_t sem_ctime; /* last change time */
25 unsigned long sem_nsems; /* no. of semaphores in array */
26 unsigned long __unused1;
27 unsigned long __unused2;
28};
Sam Ravnborgfcb07082008-06-05 23:39:32 +020029#undef PADDING
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
31#endif /* _SPARC64_SEMBUF_H */