2 Unix SMB/CIFS implementation.
4 Copyright (C) Volker Lendecke 2011
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 struct tevent_req *smb2cli_negprot_send(TALLOC_CTX *mem_ctx,
24 struct tevent_context *ev,
25 struct cli_state *cli);
26 NTSTATUS smb2cli_negprot_recv(struct tevent_req *req);
27 NTSTATUS smb2cli_negprot(struct cli_state *cli);
29 struct tevent_req *smb2cli_sesssetup_send(TALLOC_CTX *mem_ctx,
30 struct tevent_context *ev,
31 struct cli_state *cli,
35 NTSTATUS smb2cli_sesssetup_recv(struct tevent_req *req);
36 NTSTATUS smb2cli_sesssetup(struct cli_state *cli, const char *user,
37 const char *domain, const char *pass);
39 struct tevent_req *smb2cli_logoff_send(TALLOC_CTX *mem_ctx,
40 struct tevent_context *ev,
41 struct cli_state *cli);
42 NTSTATUS smb2cli_logoff_recv(struct tevent_req *req);
43 NTSTATUS smb2cli_logoff(struct cli_state *cli);
45 struct tevent_req *smb2cli_tcon_send(TALLOC_CTX *mem_ctx,
46 struct tevent_context *ev,
47 struct cli_state *cli,
49 NTSTATUS smb2cli_tcon_recv(struct tevent_req *req);
50 NTSTATUS smb2cli_tcon(struct cli_state *cli, const char *share);
52 struct tevent_req *smb2cli_tdis_send(TALLOC_CTX *mem_ctx,
53 struct tevent_context *ev,
54 struct cli_state *cli);
55 NTSTATUS smb2cli_tdis_recv(struct tevent_req *req);
56 NTSTATUS smb2cli_tdis(struct cli_state *cli);
58 struct tevent_req *smb2cli_create_send(
60 struct tevent_context *ev,
61 struct cli_state *cli,
63 uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
64 uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
65 uint32_t desired_access,
66 uint32_t file_attributes,
67 uint32_t share_access,
68 uint32_t create_disposition,
69 uint32_t create_options,
70 struct smb2_create_blobs *blobs);
71 NTSTATUS smb2cli_create_recv(struct tevent_req *req,
72 uint64_t *fid_persistent,
73 uint64_t *fid_volatile);
74 NTSTATUS smb2cli_create(struct cli_state *cli,
76 uint8_t oplock_level, /* SMB2_OPLOCK_LEVEL_* */
77 uint32_t impersonation_level, /* SMB2_IMPERSONATION_* */
78 uint32_t desired_access,
79 uint32_t file_attributes,
80 uint32_t share_access,
81 uint32_t create_disposition,
82 uint32_t create_options,
83 struct smb2_create_blobs *blobs,
84 uint64_t *fid_persistent,
85 uint64_t *fid_volatile);
87 #endif /* __SMB2CLI_H__ */