shmbuf.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. #include <asm/ipcbuf.h>
  22. #include <asm/posix_types.h>
  23. struct shmid64_ds {
  24. struct ipc64_perm shm_perm; /* operation perms */
  25. __kernel_size_t shm_segsz; /* size of segment (bytes) */
  26. unsigned long shm_atime; /* last attach time */
  27. unsigned long shm_atime_high;
  28. unsigned long shm_dtime; /* last detach time */
  29. unsigned long shm_dtime_high;
  30. unsigned long shm_ctime; /* last change time */
  31. unsigned long shm_ctime_high;
  32. __kernel_pid_t shm_cpid; /* pid of creator */
  33. __kernel_pid_t shm_lpid; /* pid of last operator */
  34. unsigned long shm_nattch; /* no. of current attaches */
  35. unsigned long __unused4;
  36. unsigned long __unused5;
  37. };
  38. struct shminfo64 {
  39. unsigned long shmmax;
  40. unsigned long shmmin;
  41. unsigned long shmmni;
  42. unsigned long shmseg;
  43. unsigned long shmall;
  44. unsigned long __unused1;
  45. unsigned long __unused2;
  46. unsigned long __unused3;
  47. unsigned long __unused4;
  48. };
  49. #endif /* _XTENSA_SHMBUF_H */