From ae7817745eef3b4ed3c2e36cb403e0c50f17d4e4 Mon Sep 17 00:00:00 2001 From: Mike Waychison Date: Tue, 6 Sep 2005 15:17:09 -0700 Subject: [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 Cc: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- ipc/util.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ipc/util.h') diff --git a/ipc/util.h b/ipc/util.h index 44348ca5a70..fc9a28be079 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); -- cgit v1.2.3