sembuf.h 1.2 KB

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