Author: mimir Date: 2005-07-25 22:56:28 +0000 (Mon, 25 Jul 2005) New Revision: 8760
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8760 Log: 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 Added: branches/SAMBA_4_0/source/libnet/userinfo.h branches/SAMBA_4_0/source/libnet/userman.h Modified: branches/SAMBA_4_0/source/libcli/composite/monitor.h Changeset: Modified: branches/SAMBA_4_0/source/libcli/composite/monitor.h =================================================================== --- branches/SAMBA_4_0/source/libcli/composite/monitor.h 2005-07-25 22:00:56 UTC (rev 8759) +++ branches/SAMBA_4_0/source/libcli/composite/monitor.h 2005-07-25 22:56:28 UTC (rev 8760) @@ -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; +#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_open_user { - uint32_t rid, access_mask; - } rpc_open_user; - 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; }; Added: branches/SAMBA_4_0/source/libnet/userinfo.h =================================================================== --- branches/SAMBA_4_0/source/libnet/userinfo.h 2005-07-25 22:00:56 UTC (rev 8759) +++ branches/SAMBA_4_0/source/libnet/userinfo.h 2005-07-25 22:56:28 UTC (rev 8760) @@ -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; +}; Added: branches/SAMBA_4_0/source/libnet/userman.h =================================================================== --- branches/SAMBA_4_0/source/libnet/userman.h 2005-07-25 22:00:56 UTC (rev 8759) +++ branches/SAMBA_4_0/source/libnet/userman.h 2005-07-25 22:56:28 UTC (rev 8760) @@ -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; +};