Whamcloud - gitweb
LU-2675 cleanup: remove unused mkdirdeep.c and lltrace.h
[fs/lustre-release.git] / libcfs / include / libcfs / libcfs_kernelcomm.h
index ff919b1..f7be4b7 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -77,6 +75,9 @@ enum kuc_generic_message_type {
         KUC_MSG_SHUTDOWN = 1,
 };
 
+/* prototype for callback function on kuc groups */
+typedef int (*libcfs_kkuc_cb_t)(__u32 data, void *cb_arg);
+
 /* KUC Broadcast Groups. This determines which userspace process hears which
  * messages.  Mutliple transports may be used within a group, or multiple
  * groups may use the same transport.  Broadcast
@@ -87,10 +88,13 @@ enum kuc_generic_message_type {
 #define KUC_GRP_MAX           KUC_GRP_HSM
 
 /* Kernel methods */
-extern int libcfs_kkuc_msg_put(cfs_file_t *fp, void *payload);
+extern int libcfs_kkuc_msg_put(struct file *fp, void *payload);
 extern int libcfs_kkuc_group_put(int group, void *payload);
-extern int libcfs_kkuc_group_add(cfs_file_t *fp, int uid, int group);
+extern int libcfs_kkuc_group_add(struct file *fp, int uid, int group,
+                                __u32 data);
 extern int libcfs_kkuc_group_rem(int uid, int group);
+extern int libcfs_kkuc_group_foreach(int group, libcfs_kkuc_cb_t cb_func,
+                                    void *cb_arg);
 
 #define LK_FLG_STOP 0x01
 
@@ -108,7 +112,7 @@ typedef struct lustre_kernelcomm {
 extern int libcfs_ukuc_start(lustre_kernelcomm *l, int groups);
 extern int libcfs_ukuc_stop(lustre_kernelcomm *l);
 extern int libcfs_ukuc_msg_get(lustre_kernelcomm *l, char *buf, int maxsize,
-                        int transport);
+                               int transport);
 
 #endif /* __LIBCFS_KERNELCOMM_H__ */