/* send a close */ static NTSTATUS torture_smb2_close(struct smb2_tree *tree, struct smb2_handle handle) { struct smb2_close io; NTSTATUS status; TALLOC_CTX *tmp_ctx = talloc_new(tree); ZERO_STRUCT(io); io.in.file.handle = handle; io.in.flags = SMB2_CLOSE_FLAGS_FULL_INFORMATION; status = smb2_close(tree, &io); if (!NT_STATUS_IS_OK(status)) { printf("close failed - %s\n", nt_errstr(status)); return status; } if (DEBUGLVL(1)) { printf("Close gave:\n"); printf("create_time = %s\n", nt_time_string(tmp_ctx, io.out.create_time)); printf("access_time = %s\n", nt_time_string(tmp_ctx, io.out.access_time)); printf("write_time = %s\n", nt_time_string(tmp_ctx, io.out.write_time)); printf("change_time = %s\n", nt_time_string(tmp_ctx, io.out.change_time)); printf("alloc_size = %lld\n", (long long)io.out.alloc_size); printf("size = %lld\n", (long long)io.out.size); printf("file_attr = 0x%x\n", io.out.file_attr); } talloc_free(tmp_ctx); return status; }
/* simple close wrapper with SMB2 */ NTSTATUS smb2_util_close(struct smb2_tree *tree, struct smb2_handle h) { struct smb2_close c; ZERO_STRUCT(c); c.in.file.handle = h; return smb2_close(tree, &c); }