summaryrefslogtreecommitdiff
path: root/source3/torture/vfstest.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/torture/vfstest.c')
-rw-r--r--source3/torture/vfstest.c24
1 files changed, 24 insertions, 0 deletions
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[])