summaryrefslogtreecommitdiff
path: root/source3/torture/vfstest.h
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2002-08-18 18:04:00 +0000
committerSimo Sorce <idra@samba.org>2002-08-18 18:04:00 +0000
commit789e6e6b4e2aea9802d67fdb9dfcd7c283ef811d (patch)
tree808410796059709a45ac2d1a9184706ba1e0a270 /source3/torture/vfstest.h
parent12be900eceab860ff32d34cdd0cf8da8543c1082 (diff)
downloadsamba-789e6e6b4e2aea9802d67fdb9dfcd7c283ef811d.tar.gz
samba-789e6e6b4e2aea9802d67fdb9dfcd7c283ef811d.tar.bz2
samba-789e6e6b4e2aea9802d67fdb9dfcd7c283ef811d.zip
A new utility to test VFS system and modules
Just now it is acommandline tool like smbclient and rpcclient that is able to perform operations on the file system passing through the vfs layer It is not complete yet, some functions have simply faked up data, but module loading works yet and basic operations too. Thanks to Eric Lorimer for helping out with the initial setup. Simo. (This used to be commit 42ae5eb82657d4905bdaf247286f95599380afbb)
Diffstat (limited to 'source3/torture/vfstest.h')
-rw-r--r--source3/torture/vfstest.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/source3/torture/vfstest.h b/source3/torture/vfstest.h
new file mode 100644
index 0000000000..b086faa402
--- /dev/null
+++ b/source3/torture/vfstest.h
@@ -0,0 +1,45 @@
+/*
+ Unix SMB/CIFS implementation.
+ VFS module tester
+
+ Copyright (C) Simo Sorce 2002
+ Copyright (C) Eric Lorimer 2002
+
+ Most of this code was ripped off of rpcclient.
+ Copyright (C) Tim Potter 2000-2001
+
+ 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
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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.
+*/
+
+struct func_entry {
+ char *name;
+ int (*fn)(struct connection_struct *conn, const char *path);
+};
+
+struct vfs_state {
+ struct connection_struct *conn;
+ struct files_struct *files[1024];
+ DIR *currentdir;
+ void *data;
+ size_t data_size;
+};
+
+struct cmd_set {
+ char *name;
+ NTSTATUS (*fn)(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
+ char **argv);
+ char *description;
+ char *usage;
+};