r25301: Merge my includes.h cleanups.
[tprouty/samba.git] / source4 / libnet / libnet.h
index f1ea6f4b0298925cc5f371bd293f6076b02de41f..03cca1b7fe909b1803da4c24319241b60ceb3538 100644 (file)
@@ -1,11 +1,12 @@
 /* 
    Unix SMB/CIFS implementation.
    
-   Copyright (C) Stefan Metzmacher     2004
+   Copyright (C) Stefan Metzmacher      2004
+   Copyright (C) Rafal Szczesniak       2005-2006
    
    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
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    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.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-struct libnet_context {
-       TALLOC_CTX *mem_ctx;
-};
-
-/* struct for doing a remote password change */
+#include "librpc/gen_ndr/misc.h"
 
-enum libnet_ChangePassword_level {
-       LIBNET_CHANGE_PASSWORD_GENERIC,
-       LIBNET_CHANGE_PASSWORD_RPC,
-       LIBNET_CHANGE_PASSWORD_ADS,
-       LIBNET_CHANGE_PASSWORD_RAP
-};
+struct libnet_context {
+       /* here we need:
+        * a client env context
+        * a user env context
+        */
+       struct cli_credentials *cred;
 
-union libnet_ChangePassword {
+       /* samr connection parameters - opened handles and related properties */
        struct {
-               enum libnet_ChangePassword_level level;
-
-               struct _libnet_ChangePassword_in {
-                       const char *account_name;
-                       const char *domain_name;
-                       const char *oldpassword;
-                       const char *newpassword;
-               } in;
-
-               struct _libnet_ChangePassword_out {
-                       const char *error_string;
-               } out;
-       } generic;
+               struct dcerpc_pipe *pipe;
+               char *name;
+               struct dom_sid *sid;
+               uint32_t access_mask;
+               struct policy_handle handle;
+               struct policy_handle connect_handle;
+               int buf_size;
+       } samr;
 
+       /* lsa connection parameters - opened handles and related properties */
        struct {
-               enum libnet_ChangePassword_level level;
-               struct _libnet_ChangePassword_in in;
-               struct _libnet_ChangePassword_out out;
-       } rpc;
+               struct dcerpc_pipe *pipe;
+               char *name;
+               uint32_t access_mask;
+               struct policy_handle handle;
+       } lsa;
 
-       struct {
-               enum libnet_ChangePassword_level level;
-               struct _libnet_ChangePassword_in in;
-               struct _libnet_ChangePassword_out out;
-       } ads;
+       /* name resolution methods */
+       const char **name_res_methods;
 
-       struct {
-               enum libnet_ChangePassword_level level;
-               struct _libnet_ChangePassword_in in;
-               struct _libnet_ChangePassword_out out;
-       } rap;
+       struct event_context *event_ctx;
 };
+
+
+#include "lib/ldb/include/ldb.h"
+#include "libnet/composite.h"
+#include "libnet/userman.h"
+#include "libnet/userinfo.h"
+#include "libnet/groupinfo.h"
+#include "libnet/libnet_passwd.h"
+#include "libnet/libnet_time.h"
+#include "libnet/libnet_rpc.h"
+#include "libnet/libnet_join.h"
+#include "libnet/libnet_site.h"
+#include "libnet/libnet_become_dc.h"
+#include "libnet/libnet_unbecome_dc.h"
+#include "libnet/libnet_vampire.h"
+#include "libnet/libnet_user.h"
+#include "libnet/libnet_group.h"
+#include "libnet/libnet_share.h"
+#include "libnet/libnet_lookup.h"
+#include "libnet/libnet_domain.h"
+#include "libnet/libnet_proto.h"