libcli/smb: pass smbXcli_tcon to smb2cli_flush*()
[kai/samba.git] / source3 / torture / vfstest.h
1 /*
2    Unix SMB/CIFS implementation.
3    VFS module tester
4
5    Copyright (C) Simo Sorce 2002
6    Copyright (C) Eric Lorimer 2002
7
8    Most of this code was ripped off of rpcclient.
9    Copyright (C) Tim Potter 2000-2001
10
11    This program is free software; you can redistribute it and/or modify
12    it under the terms of the GNU General Public License as published by
13    the Free Software Foundation; either version 3 of the License, or
14    (at your option) any later version.
15
16    This program is distributed in the hope that it will be useful,
17    but WITHOUT ANY WARRANTY; without even the implied warranty of
18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19    GNU General Public License for more details.
20
21    You should have received a copy of the GNU General Public License
22    along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 */
24
25 struct func_entry {
26         char *name;
27         int (*fn)(struct connection_struct *conn, const char *path);
28 };
29
30 struct vfs_state {
31         struct connection_struct *conn;
32         uint64_t mid;
33         struct files_struct *files[1024];
34         DIR *currentdir;
35         void *data;
36         size_t data_size;
37 };
38
39 struct smb_request *vfstest_get_smbreq(TALLOC_CTX *mem_ctx,
40                                        struct vfs_state *vfs);
41
42 struct cmd_set {
43         const char *name;
44         NTSTATUS (*fn)(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, 
45                        const char **argv);
46         const char *description;
47         const char *usage;
48 };
49
50 NTSTATUS cmd_test_chain(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
51                         int argc, const char **argv);