shm.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020: #ifndef _SYS_SHM_H
021: # error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
022: #endif
023:
024: #include <bits/types.h>
025:
026:
027: #define SHM_R 0400
028: #define SHM_W 0200
029:
030:
031: #define SHM_RDONLY 010000
032: #define SHM_RND 020000
033: #define SHM_REMAP 040000
034: #define SHM_EXEC 0100000
035:
036:
037: #define SHM_LOCK 11
038: #define SHM_UNLOCK 12
039:
040: __BEGIN_DECLS
041:
042:
043: #define SHMLBA (__getpagesize ())
044: extern int __getpagesize (void) __THROW __attribute__ ((__const__));
045:
046:
047:
048: typedef unsigned long int shmatt_t;
049:
050:
051: struct shmid_ds
052: {
053: struct ipc_perm shm_perm;
054: size_t shm_segsz;
055: __time_t shm_atime;
056: #if __WORDSIZE == 32
057: unsigned long int __unused1;
058: #endif
059: __time_t shm_dtime;
060: #if __WORDSIZE == 32
061: unsigned long int __unused2;
062: #endif
063: __time_t shm_ctime;
064: #if __WORDSIZE == 32
065: unsigned long int __unused3;
066: #endif
067: __pid_t shm_cpid;
068: __pid_t shm_lpid;
069: shmatt_t shm_nattch;
070: unsigned long int __unused4;
071: unsigned long int __unused5;
072: };
073:
074: #ifdef __USE_MISC
075:
076:
077: # define SHM_STAT 13
078: # define SHM_INFO 14
079:
080:
081: # define SHM_DEST 01000
082: # define SHM_LOCKED 02000
083: # define SHM_HUGETLB 04000
084: # define SHM_NORESERVE 010000
085:
086: struct shminfo
087: {
088: unsigned long int shmmax;
089: unsigned long int shmmin;
090: unsigned long int shmmni;
091: unsigned long int shmseg;
092: unsigned long int shmall;
093: unsigned long int __unused1;
094: unsigned long int __unused2;
095: unsigned long int __unused3;
096: unsigned long int __unused4;
097: };
098:
099: struct shm_info
100: {
101: int used_ids;
102: unsigned long int shm_tot;
103: unsigned long int shm_rss;
104: unsigned long int shm_swp;
105: unsigned long int swap_attempts;
106: unsigned long int swap_successes;
107: };
108:
109: #endif
110:
111: __END_DECLS
112:
© Andrew Scott 2006 -
2025,
All Rights Reserved