summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorRafal Szczesniak <mimir@samba.org>2005-07-25 22:56:28 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:30:03 -0500
commita04e899bc07825acecd0e1d3bd5e9898b52a0bd9 (patch)
tree507d0c69b5de197b4f059e82d251c6e321fa17ec /source4
parent2440a008a82f73c8310cde18cbfb53e39c99d362 (diff)
downloadsamba-a04e899bc07825acecd0e1d3bd5e9898b52a0bd9.tar.gz
samba-a04e899bc07825acecd0e1d3bd5e9898b52a0bd9.tar.bz2
samba-a04e899bc07825acecd0e1d3bd5e9898b52a0bd9.zip
r8760: Rework monitor messaging code a bit, as Metze once suggested.
enum type has now been replaced with unsigned 32-bit field and message data is passed as void pointer. This allows various extension implementers to plug their monitor messages in more easily. rafal (This used to be commit 4a6ab58133a59d3da3209b3e46c2a8cf848d25e7)
Diffstat (limited to 'source4')
-rw-r--r--source4/libcli/composite/monitor.h37
-rw-r--r--source4/libnet/userinfo.h36
-rw-r--r--source4/libnet/userman.h28
3 files changed, 75 insertions, 26 deletions
diff --git a/source4/libcli/composite/monitor.h b/source4/libcli/composite/monitor.h
index 729f37204f..6173ca9057 100644
--- a/source4/libcli/composite/monitor.h
+++ b/source4/libcli/composite/monitor.h
@@ -21,35 +21,20 @@
*/
/*
- * Monitor structure definition. Composite function monitoring allows client
- * application to be notified on function progress. This enables eg. gui
- * client to display progress bars, status messages, etc.
+ * Monitor structure and message types definitions. Composite function monitoring
+ * allows client application to be notified on function progress. This enables
+ * eg. gui client to display progress bars, status messages, etc.
*/
-enum monitor_type {
- rpc_create_user,
- rpc_open_user,
- rpc_query_user,
- rpc_close_user
-};
-
-struct monitor_msg {
- enum monitor_type type;
- union monitor_data {
- struct rpc_create_user {
- uint32_t rid;
- } rpc_create_user;
- struct rpc_open_user {
- uint32_t rid, access_mask;
- } rpc_open_user;
+#define rpc_create_user (0x00000001) /* userman.h */
+#define rpc_open_user (0x00000002) /* userinfo.h */
+#define rpc_query_user (0x00000003) /* userinfo.h */
+#define rpc_close_user (0x00000004) /* userinfo.h */
- struct rpc_query_user {
- uint16_t level;
- } rpc_query_user;
- struct rpc_close_user {
- uint32_t rid;
- } rpc_close_user;
- } data;
+struct monitor_msg {
+ uint32_t type;
+ void *data;
+ size_t data_size;
};
diff --git a/source4/libnet/userinfo.h b/source4/libnet/userinfo.h
new file mode 100644
index 0000000000..d1e69726c0
--- /dev/null
+++ b/source4/libnet/userinfo.h
@@ -0,0 +1,36 @@
+/*
+ Unix SMB/CIFS implementation.
+
+ Copyright (C) Rafal Szczesniak 2005
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+
+/*
+ * Monitor messages sent from userinfo.c functions
+ */
+
+struct msg_rpc_open_user {
+ uint32_t rid, access_mask;
+};
+
+struct msg_rpc_query_user {
+ uint16_t level;
+};
+
+struct msg_rpc_close_user {
+ uint32_t rid;
+};
diff --git a/source4/libnet/userman.h b/source4/libnet/userman.h
new file mode 100644
index 0000000000..6ad842f51c
--- /dev/null
+++ b/source4/libnet/userman.h
@@ -0,0 +1,28 @@
+/*
+ Unix SMB/CIFS implementation.
+
+ Copyright (C) Rafal Szczesniak 2005
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+
+/*
+ * Monitor messages sent from userman.c functions
+ */
+
+struct msg_rpc_create_user {
+ uint32_t rid;
+};