- initialising mach_passwd_file locks to zero (prev. uninit.)
[jra/samba/.git] / source3 / include / rpcclient.h
1 /*
2    Unix SMB/Netbios implementation.
3    Version 1.9.
4    SMB parameters and setup
5    Copyright (C) Andrew Tridgell 1992-1998
6    Copyright (C) Luke Kenneth Casson Leighton 1996-1998
7    Copyright (C) Jeremy Allison 1998
8
9    This program is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 2 of the License, or
12    (at your option) any later version.
13
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18
19    You should have received a copy of the GNU General Public License
20    along with this program; if not, write to the Free Software
21    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 */
23
24 #ifndef _RPCCLIENT_H
25 #define _RPCCLIENT_H
26
27 #define report fprintf
28
29 struct tar_client_info
30 {
31     int blocksize;
32     BOOL inc;
33     BOOL reset;
34     BOOL excl;
35     char type;
36     int attrib;
37     char **cliplist;
38     int clipn;
39     int tp;
40     int num_files;
41     int buf_size;
42     int bytes_written;
43     char *buf;
44     int handle;
45     int print_mode;
46     char *file_mode;
47 };
48
49 struct nt_client_info
50 {
51     /************* \PIPE\NETLOGON stuff ******************/
52
53     fstring mach_acct;
54
55     uint8 sess_key[16];
56     DOM_CRED clnt_cred;
57     DOM_CRED rtn_cred;
58
59     NET_ID_INFO_CTR ctr;
60     NET_USER_INFO_3 user_info3;
61
62     /************** \PIPE\winreg stuff ********************/
63
64     POLICY_HND reg_pol_connect;
65
66     /************** \PIPE\lsarpc stuff ********************/
67
68     POLICY_HND lsa_info_pol;
69
70     /* domain member */
71     DOM_SID level3_sid;
72     DOM_SID level5_sid;
73
74     /* domain controller */
75     fstring level3_dom;
76     fstring level5_dom;
77
78     /************** \PIPE\samr stuff  ********************/
79
80     POLICY_HND samr_pol_connect;
81     POLICY_HND samr_pol_open_domain;
82     POLICY_HND samr_pol_open_builtindom;
83     POLICY_HND samr_pol_open_user;
84
85     struct acct_info *sam;
86     int num_sam_entries;
87 };
88
89 struct client_info
90 {
91     struct in_addr dest_ip;
92     fstring dest_host;
93     fstring query_host;
94     uint8 name_type;
95
96     fstring myhostname;
97     fstring mach_acct;
98
99     pstring cur_dir;
100     pstring base_dir;
101     pstring file_sel;
102
103     fstring service;
104     fstring share;
105     fstring svc_type;
106
107     time_t newer_than;
108     int archive_level;
109     int dir_total;
110     int put_total_time_ms;
111     int put_total_size;
112     int get_total_time_ms;
113     int get_total_size;
114     int print_mode;
115     BOOL translation;
116     BOOL recurse_dir;
117     BOOL prompt;
118     BOOL lowercase;
119     BOOL abort_mget;
120
121     struct tar_client_info tar;
122     struct nt_client_info dom;
123 };
124
125 enum action_type {ACTION_HEADER, ACTION_ENUMERATE, ACTION_FOOTER};
126
127 #endif /* _RPCCLIENT_H */