diff options
author | Sami Kerola | 2012-10-14 17:01:05 +0200 |
---|---|---|
committer | Karel Zak | 2012-11-23 14:58:21 +0100 |
commit | 058e81540fbb0d2b780245361fa13376478b7375 (patch) | |
tree | 00aa984458223ade6f0f5d11609b3bef4743185a /sys-utils/ipcutils.h | |
parent | ipcs: determine ipc limits from /proc (diff) | |
download | kernel-qcow2-util-linux-058e81540fbb0d2b780245361fa13376478b7375.tar.gz kernel-qcow2-util-linux-058e81540fbb0d2b780245361fa13376478b7375.tar.xz kernel-qcow2-util-linux-058e81540fbb0d2b780245361fa13376478b7375.zip |
ipcs: read shared memory values from /proc
[kzak@redhat.com: - move to ipcutils.{c,h},
- fix datatypes to be arch independent]
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
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 */ |