X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ipc%2Futil.h;h=0181553d31d85d4c3c9c85e712e3db1d17d63e1a;hb=fb7e42413a098cc45b3adf858da290033af62bae;hp=44348ca5a70738ab4033b68d66c97bdcaa626495;hpb=8066eff0a1a0703ad901dbe5646a47dbfc089ef2;p=deliverable%2Flinux.git diff --git a/ipc/util.h b/ipc/util.h index 44348ca5a707..0181553d31d8 100644 --- a/ipc/util.h +++ b/ipc/util.h @@ -2,7 +2,7 @@ * linux/ipc/util.h * Copyright (C) 1999 Christoph Rohland * - * ipc helper functions (c) 1999 Manfred Spraul + * ipc helper functions (c) 1999 Manfred Spraul */ #ifndef _IPC_UTIL_H @@ -25,14 +25,22 @@ struct ipc_ids { int max_id; unsigned short seq; unsigned short seq_max; - struct semaphore sem; + struct mutex mutex; struct ipc_id_ary nullentry; 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.*/ +/* must be called with ids->mutex acquired.*/ int ipc_findkey(struct ipc_ids* ids, key_t key); int ipc_addid(struct ipc_ids* ids, struct kern_ipc_perm* new, int size);