summaryrefslogtreecommitdiff
path: root/ipc/util.h
diff options
context:
space:
mode:
authorMike Waychison <mikew@google.com>2005-09-06 15:17:09 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-07 16:57:25 -0700
commitae7817745eef3b4ed3c2e36cb403e0c50f17d4e4 (patch)
treef1824d3eb053123cb359865925ef7e38e3fb37d0 /ipc/util.h
parentf35279d3f713e5c97b98cbdbf47d98f79942c11f (diff)
downloadkernel-common-ae7817745eef3b4ed3c2e36cb403e0c50f17d4e4.tar.gz
kernel-common-ae7817745eef3b4ed3c2e36cb403e0c50f17d4e4.tar.bz2
kernel-common-ae7817745eef3b4ed3c2e36cb403e0c50f17d4e4.zip
[PATCH] ipc: add generic struct ipc_ids seq_file iteration
The following two patches convert /proc/sysvipc/* to use seq_file. This gives us the following: - Self-consistent IPC records in proc. - O(n) reading of the files themselves. This patch: Add a generic method for ipc types to be displayed using seq_file. This patch abstracts out seq_file iterating over struct ipc_ids into ipc/util.c Signed-off-by: Mike Waychison <mikew@google.com> Cc: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'ipc/util.h')
-rw-r--r--ipc/util.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ipc/util.h b/ipc/util.h
index 44348ca5a707..fc9a28be0797 100644
--- a/ipc/util.h
+++ b/ipc/util.h
@@ -30,7 +30,15 @@ struct ipc_ids {
struct ipc_id_ary* entries;
};
+struct seq_file;
void __init ipc_init_ids(struct ipc_ids* ids, int size);
+#ifdef CONFIG_PROC_FS
+void __init ipc_init_proc_interface(const char *path, const char *header,
+ struct ipc_ids *ids,
+ int (*show)(struct seq_file *, void *));
+#else
+#define ipc_init_proc_interface(path, header, ids, show) do {} while (0)
+#endif
/* must be called with ids->sem acquired.*/
int ipc_findkey(struct ipc_ids* ids, key_t key);