diff options
author | Rafal Szczesniak <mimir@samba.org> | 2005-07-25 22:56:28 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:30:03 -0500 |
commit | a04e899bc07825acecd0e1d3bd5e9898b52a0bd9 (patch) | |
tree | 507d0c69b5de197b4f059e82d251c6e321fa17ec | |
parent | 2440a008a82f73c8310cde18cbfb53e39c99d362 (diff) | |
download | samba-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)
-rw-r--r-- | source4/libcli/composite/monitor.h | 37 | ||||
-rw-r--r-- | source4/libnet/userinfo.h | 36 | ||||
-rw-r--r-- | source4/libnet/userman.h | 28 |
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; +}; |