2 Unix SMB/CIFS implementation.
4 SMB2 Create Context Blob handling
6 Copyright (C) Andrew Tridgell 2005
7 Copyright (C) Stefan Metzmacher 2008-2009
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef _LIBCLI_SMB_SMB2_CREATE_BLOB_H_
24 #define _LIBCLI_SMB_SMB2_CREATE_BLOB_H_
26 struct smb2_create_blob
{
31 struct smb2_create_blobs
{
33 struct smb2_create_blob
*blobs
;
36 struct smb_create_returns
{
38 uint32_t create_action
;
40 NTTIME last_access_time
;
41 NTTIME last_write_time
;
43 uint64_t allocation_size
;
45 uint32_t file_attributes
;
49 parse a set of SMB2 create blobs
51 NTSTATUS
smb2_create_blob_parse(TALLOC_CTX
*mem_ctx
, const DATA_BLOB buffer
,
52 struct smb2_create_blobs
*blobs
);
55 create a buffer of a set of create blobs
57 NTSTATUS
smb2_create_blob_push(TALLOC_CTX
*mem_ctx
, DATA_BLOB
*buffer
,
58 const struct smb2_create_blobs blobs
);
60 NTSTATUS
smb2_create_blob_add(TALLOC_CTX
*mem_ctx
, struct smb2_create_blobs
*b
,
61 const char *tag
, DATA_BLOB data
);
64 * return the first blob with the given tag
66 struct smb2_create_blob
*smb2_create_blob_find(const struct smb2_create_blobs
*b
,
69 #endif /* _LIBCLI_SMB_SMB2_CREATE_BLOB_H_ */