shmbuf.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * include/asm-xtensa/shmbuf.h
  3. *
  4. * The shmid64_ds structure for Xtensa architecture.
  5. * Note extra padding because this structure is passed back and forth
  6. * between kernel and user space.
  7. *
  8. * Pad space is left for:
  9. * - 64-bit time_t to solve y2038 problem
  10. * - 2 miscellaneous 32-bit values
  11. *
  12. * This file is subject to the terms and conditions of the GNU General Public
  13. * License. See the file "COPYING" in the main directory of this archive
  14. * for more details.
  15. *
  16. * Copyright (C) 2001 - 2005 Tensilica Inc.
  17. */
  18. #ifndef _XTENSA_SHMBUF_H
  19. #define _XTENSA_SHMBUF_H
  20. #if defined (__XTENSA_EL__)
  21. struct shmid64_ds {
  22. struct ipc64_perm shm_perm; /* operation perms */
  23. size_t shm_segsz; /* size of segment (bytes) */
  24. __kernel_time_t shm_atime; /* last attach time */
  25. unsigned long __unused1;
  26. __kernel_time_t shm_dtime; /* last detach time */
  27. unsigned long __unused2;
  28. __kernel_time_t shm_ctime; /* last change time */
  29. unsigned long __unused3;
  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. #elif defined (__XTENSA_EB__)
  37. struct shmid64_ds {
  38. struct ipc64_perm shm_perm; /* operation perms */
  39. size_t shm_segsz; /* size of segment (bytes) */
  40. __kernel_time_t shm_atime; /* last attach time */
  41. unsigned long __unused1;
  42. __kernel_time_t shm_dtime; /* last detach time */
  43. unsigned long __unused2;
  44. __kernel_time_t shm_ctime; /* last change time */
  45. unsigned long __unused3;
  46. __kernel_pid_t shm_cpid; /* pid of creator */
  47. __kernel_pid_t shm_lpid; /* pid of last operator */
  48. unsigned long shm_nattch; /* no. of current attaches */
  49. unsigned long __unused4;
  50. unsigned long __unused5;
  51. };
  52. #else
  53. # error endian order not defined
  54. #endif
  55. struct shminfo64 {
  56. unsigned long shmmax;
  57. unsigned long shmmin;
  58. unsigned long shmmni;
  59. unsigned long shmseg;
  60. unsigned long shmall;
  61. unsigned long __unused1;
  62. unsigned long __unused2;
  63. unsigned long __unused3;
  64. unsigned long __unused4;
  65. };
  66. #endif /* _XTENSA_SHMBUF_H */