shmbuf.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _PARISC_SHMBUF_H
  3. #define _PARISC_SHMBUF_H
  4. #include <asm/bitsperlong.h>
  5. #include <asm/ipcbuf.h>
  6. #include <asm/posix_types.h>
  7. /*
  8. * The shmid64_ds structure for parisc architecture.
  9. * Note extra padding because this structure is passed back and forth
  10. * between kernel and user space.
  11. *
  12. * Pad space is left for:
  13. * - 2 miscellaneous 32-bit values
  14. */
  15. struct shmid64_ds {
  16. struct ipc64_perm shm_perm; /* operation perms */
  17. #if __BITS_PER_LONG == 64
  18. long shm_atime; /* last attach time */
  19. long shm_dtime; /* last detach time */
  20. long shm_ctime; /* last change time */
  21. #else
  22. unsigned long shm_atime_high;
  23. unsigned long shm_atime; /* last attach time */
  24. unsigned long shm_dtime_high;
  25. unsigned long shm_dtime; /* last detach time */
  26. unsigned long shm_ctime_high;
  27. unsigned long shm_ctime; /* last change time */
  28. unsigned int __pad4;
  29. #endif
  30. __kernel_size_t shm_segsz; /* size of segment (bytes) */
  31. __kernel_pid_t shm_cpid; /* pid of creator */
  32. __kernel_pid_t shm_lpid; /* pid of last operator */
  33. unsigned long shm_nattch; /* no. of current attaches */
  34. unsigned long __unused1;
  35. unsigned long __unused2;
  36. };
  37. struct shminfo64 {
  38. unsigned long shmmax;
  39. unsigned long shmmin;
  40. unsigned long shmmni;
  41. unsigned long shmseg;
  42. unsigned long shmall;
  43. unsigned long __unused1;
  44. unsigned long __unused2;
  45. unsigned long __unused3;
  46. unsigned long __unused4;
  47. };
  48. #endif /* _PARISC_SHMBUF_H */