From ee2e3d56a2a633cecf4d1b06badc6fb8fd12580e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 20 Feb 2012 16:28:14 +0100 Subject: s3-vfstest: Fake smb_requests Autobuild-User: Volker Lendecke Autobuild-Date: Wed Feb 22 17:32:28 CET 2012 on sn-devel-104 --- source3/torture/vfstest.c | 24 ++++++++++++++++++++++++ source3/torture/vfstest.h | 4 ++++ 2 files changed, 28 insertions(+) (limited to 'source3') diff --git a/source3/torture/vfstest.c b/source3/torture/vfstest.c index 6e25b34dee..53b5ee99d9 100644 --- a/source3/torture/vfstest.c +++ b/source3/torture/vfstest.c @@ -416,6 +416,30 @@ void exit_server_cleanly(const char *const reason) exit_server("normal exit"); } +struct smb_request *vfstest_get_smbreq(TALLOC_CTX *mem_ctx, + struct vfs_state *vfs) +{ + struct smb_request *result; + + result = talloc_zero(mem_ctx, struct smb_request); + if (result == NULL) { + return NULL; + } + result->sconn = vfs->conn->sconn; + result->mid = ++vfs->mid; + + result->inbuf = talloc_array(result, uint8_t, smb_size); + if (result->inbuf == NULL) { + goto fail; + } + SSVAL(result->inbuf, smb_mid, result->mid); + smb_setlen(result->inbuf, smb_size-4); + return result; +fail: + TALLOC_FREE(result); + return NULL; +} + /* Main function */ int main(int argc, char *argv[]) diff --git a/source3/torture/vfstest.h b/source3/torture/vfstest.h index 0d71facea9..0c57d5633a 100644 --- a/source3/torture/vfstest.h +++ b/source3/torture/vfstest.h @@ -29,12 +29,16 @@ struct func_entry { struct vfs_state { struct connection_struct *conn; + uint64_t mid; struct files_struct *files[1024]; DIR *currentdir; void *data; size_t data_size; }; +struct smb_request *vfstest_get_smbreq(TALLOC_CTX *mem_ctx, + struct vfs_state *vfs); + struct cmd_set { const char *name; NTSTATUS (*fn)(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, -- cgit