shmbuf.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /*
  3. * include/asm-xtensa/shmbuf.h
  4. *
  5. * The shmid64_ds structure for Xtensa architecture.
  6. * Note extra padding because this structure is passed back and forth
  7. * between kernel and user space, but the padding is on the wrong
  8. * side for big-endian xtensa, for historic reasons.
  9. *
  10. * Pad space is left for:
  11. * - 2 miscellaneous 32-bit values
  12. *
  13. * This file is subject to the terms and conditions of the GNU General Public
  14. * License. See the file "COPYING" in the main directory of this archive
  15. * for more details.
  16. *
  17. * Copyright (C) 2001 - 2005 Tensilica Inc.
  18. */
  19. #ifndef _XTENSA_SHMBUF_H
  20. #define _XTENSA_SHMBUF_H
  21. struct shmid64_ds {
  22. struct ipc64_perm shm_perm; /* operation perms */
  23. size_t shm_segsz; /* size of segment (bytes) */
  24. unsigned long shm_atime; /* last attach time */
  25. unsigned long shm_atime_high;
  26. unsigned long shm_dtime; /* last detach time */
  27. unsigned long shm_dtime_high;
  28. unsigned long shm_ctime; /* last change time */
  29. unsigned long shm_ctime_high;
  30. __kernel_pid_t shm_cpid; /* pid of creator */
  31. __kernel_pid_t shm_lpid; /* pid of last operator */
  32. unsigned long shm_nattch; /* no. of current attaches */
  33. unsigned long __unused4;
  34. unsigned long __unused5;
  35. };
  36. struct 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. #endif /* _XTENSA_SHMBUF_H */