diff options
Diffstat (limited to 'sys-utils/ipcutils.h')
-rw-r--r-- | sys-utils/ipcutils.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sys-utils/ipcutils.h b/sys-utils/ipcutils.h index ef539ee6c..8e2bfddfb 100644 --- a/sys-utils/ipcutils.h +++ b/sys-utils/ipcutils.h @@ -99,4 +99,37 @@ extern int ipc_msg_get_limits(struct ipc_limits *lim); extern int ipc_sem_get_limits(struct ipc_limits *lim); extern int ipc_shm_get_limits(struct ipc_limits *lim); +struct ipc_stat { + int id; + key_t key; + uid_t uid; /* current uid */ + gid_t gid; /* current gid */ + uid_t cuid; /* creator uid */ + gid_t cgid; /* creator gid */ + unsigned int mode; +}; + +extern void ipc_print_perms(FILE *f, struct ipc_stat *is); + +/* See 'struct shmid_kernel' in kernel sources + */ +struct shm_data { + struct ipc_stat shm_perm; + + uint64_t shm_nattch; + uint64_t shm_segsz; + time_t shm_atim; + time_t shm_dtim; + time_t shm_ctim; + pid_t shm_cprid; + pid_t shm_lprid; + uint64_t shm_rss; + uint64_t shm_swp; + + struct shm_data *next; +}; + +extern int ipc_shm_get_info(int maxid, int id, struct shm_data **shmds); +extern void ipc_shm_free_info(struct shm_data *shmds); + #endif /* UTIL_LINUX_IPCUTILS_H */ |