sembuf.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. struct semid64_ds {
  24. struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
  25. #ifdef __XTENSA_EL__
  26. unsigned long sem_otime; /* last semop time */
  27. unsigned long sem_otime_high;
  28. unsigned long sem_ctime; /* last change time */
  29. unsigned long sem_ctime_high;
  30. #else
  31. unsigned long sem_otime_high;
  32. unsigned long sem_otime; /* last semop time */
  33. unsigned long sem_ctime_high;
  34. unsigned long 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 */