diff options
author | Mike Waychison <mikew@google.com> | 2005-09-06 18:17:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:57:25 -0400 |
commit | ae7817745eef3b4ed3c2e36cb403e0c50f17d4e4 (patch) | |
tree | f1824d3eb053123cb359865925ef7e38e3fb37d0 /ipc/util.h | |
parent | f35279d3f713e5c97b98cbdbf47d98f79942c11f (diff) |
[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.h | 8 |
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 { | |||
30 | struct ipc_id_ary* entries; | 30 | struct ipc_id_ary* entries; |
31 | }; | 31 | }; |
32 | 32 | ||
33 | struct seq_file; | ||
33 | void __init ipc_init_ids(struct ipc_ids* ids, int size); | 34 | void __init ipc_init_ids(struct ipc_ids* ids, int size); |
35 | #ifdef CONFIG_PROC_FS | ||
36 | void __init ipc_init_proc_interface(const char *path, const char *header, | ||
37 | struct ipc_ids *ids, | ||
38 | int (*show)(struct seq_file *, void *)); | ||
39 | #else | ||
40 | #define ipc_init_proc_interface(path, header, ids, show) do {} while (0) | ||
41 | #endif | ||
34 | 42 | ||
35 | /* must be called with ids->sem acquired.*/ | 43 | /* must be called with ids->sem acquired.*/ |
36 | int ipc_findkey(struct ipc_ids* ids, key_t key); | 44 | int ipc_findkey(struct ipc_ids* ids, key_t key); |