ABOUT TIME!!!!!!!!
[samba.git] / source / 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\lsarpc stuff ********************/
63
64     /* domain member */
65     DOM_SID level3_sid;
66     DOM_SID level5_sid;
67
68     /* domain controller */
69     fstring level3_dom;
70     fstring level5_dom;
71
72 };
73
74 struct client_info
75 {
76     struct in_addr dest_ip;
77     fstring dest_host;
78
79     fstring myhostname;
80     fstring mach_acct;
81
82     struct tar_client_info tar;
83     struct nt_client_info dom;
84
85         BOOL reuse;
86 };
87
88 enum action_type {ACTION_HEADER, ACTION_ENUMERATE, ACTION_FOOTER};
89
90 /****************************************************************************
91  This defines the commands supported by this client
92  ****************************************************************************/
93 struct command_set
94 {
95         char *name;
96         void (*fn)(struct client_info*, int, char*[]);
97         char *description;
98         char compl_args[2];
99
100 };
101
102 #endif /* _RPCCLIENT_H */