Implemented encryption algorithm used for a number of RPC buffers.
[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 struct tar_client_info
28 {
29     int blocksize;
30     BOOL inc;
31     BOOL reset;
32     BOOL excl;
33     char type;
34     int attrib;
35     char **cliplist;
36     int clipn;
37     int tp;
38     int num_files;
39     int buf_size;
40     int bytes_written;
41     char *buf;
42     int handle;
43     int print_mode;
44     char *file_mode;
45 };
46
47 struct nt_client_info
48 {
49     /************* \PIPE\NETLOGON stuff ******************/
50
51     fstring mach_acct;
52
53     uint8 sess_key[16];
54     DOM_CRED clnt_cred;
55     DOM_CRED rtn_cred;
56
57     NET_ID_INFO_CTR ctr;
58     NET_USER_INFO_3 user_info3;
59
60     /************** \PIPE\winreg stuff ********************/
61
62     POLICY_HND reg_pol_connect;
63
64     /************** \PIPE\lsarpc stuff ********************/
65
66     POLICY_HND lsa_info_pol;
67
68     /* domain member */
69     DOM_SID level3_sid;
70     DOM_SID level5_sid;
71
72     /* domain controller */
73     fstring level3_dom;
74     fstring level5_dom;
75
76     /************** \PIPE\samr stuff  ********************/
77
78     POLICY_HND samr_pol_connect;
79     POLICY_HND samr_pol_open_domain;
80     POLICY_HND samr_pol_open_builtindom;
81     POLICY_HND samr_pol_open_user;
82
83     struct acct_info *sam;
84     int num_sam_entries;
85 };
86
87 struct client_info
88 {
89     struct in_addr dest_ip;
90     fstring dest_host;
91     fstring query_host;
92     uint8 name_type;
93
94     fstring myhostname;
95     fstring mach_acct;
96
97     pstring cur_dir;
98     pstring base_dir;
99     pstring file_sel;
100
101     fstring service;
102     fstring share;
103     fstring svc_type;
104
105     time_t newer_than;
106     int archive_level;
107     int dir_total;
108     int put_total_time_ms;
109     int put_total_size;
110     int get_total_time_ms;
111     int get_total_size;
112     int print_mode;
113     BOOL translation;
114     BOOL recurse_dir;
115     BOOL prompt;
116     BOOL lowercase;
117     BOOL abort_mget;
118
119     struct tar_client_info tar;
120     struct nt_client_info dom;
121 };
122
123 enum action_type {ACTION_HEADER, ACTION_ENUMERATE, ACTION_FOOTER};
124
125 #endif /* _RPCCLIENT_H */