shm.h 888 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef _SYS_SHM_H
  2. #define _SYS_SHM_H
  3. #define __NEED_time_t
  4. #define __NEED_size_t
  5. #define __NEED_pid_t
  6. #include <bits/alltypes.h>
  7. #include <sys/ipc.h>
  8. #include <bits/shm.h>
  9. #define SHM_RDONLY 010000
  10. #define SHM_RND 020000
  11. #define SHM_REMAP 040000
  12. #define SHM_EXEC 0100000
  13. #define SHM_LOCK 11
  14. #define SHM_UNLOCK 12
  15. #define SHM_STAT 13
  16. #define SHM_INFO 14
  17. #define SHM_DEST 01000
  18. #define SHM_LOCKED 02000
  19. #define SHM_HUGETLB 04000
  20. #define SHM_NORESERVE 010000
  21. struct shminfo {
  22. unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
  23. };
  24. struct shm_info {
  25. int used_ids;
  26. unsigned long shm_tot, shm_rss, shm_swp;
  27. #ifdef _GNU_SOURCE
  28. unsigned long swap_attempts, swap_successes;
  29. #else
  30. unsigned long __reserved[2];
  31. #endif
  32. };
  33. void *shmat(int, const void *, int);
  34. int shmctl(int, int, struct shmid_ds *);
  35. int shmdt(const void *);
  36. int shmget(key_t, size_t, int);
  37. #endif