sembuf.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * include/asm-xtensa/sembuf.h
  3. *
  4. * The semid64_ds structure for Xtensa architecture.
  5. *
  6. * This file is subject to the terms and conditions of the GNU General Public
  7. * License. See the file "COPYING" in the main directory of this archive
  8. * for more details.
  9. *
  10. * Copyright (C) 2001 - 2005 Tensilica Inc.
  11. *
  12. * Note extra padding because this structure is passed back and forth
  13. * between kernel and user space.
  14. *
  15. * Pad space is left for:
  16. * - 64-bit time_t to solve y2038 problem
  17. * - 2 miscellaneous 32-bit values
  18. *
  19. */
  20. #ifndef _XTENSA_SEMBUF_H
  21. #define _XTENSA_SEMBUF_H
  22. #include <asm/byteorder.h>
  23. struct semid64_ds {
  24. struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
  25. #ifdef __XTENSA_EL__
  26. __kernel_time_t sem_otime; /* last semop time */
  27. unsigned long __unused1;
  28. __kernel_time_t sem_ctime; /* last change time */
  29. unsigned long __unused2;
  30. #else
  31. unsigned long __unused1;
  32. __kernel_time_t sem_otime; /* last semop time */
  33. unsigned long __unused2;
  34. __kernel_time_t sem_ctime; /* last change time */
  35. #endif
  36. unsigned long sem_nsems; /* no. of semaphores in array */
  37. unsigned long __unused3;
  38. unsigned long __unused4;
  39. };
  40. #endif /* __ASM_XTENSA_SEMBUF_H */