1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-25 17:57:42 +03:00

libcli/smb: add smb2cli_req_get_send_iov()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Stefan Metzmacher 2014-09-24 08:59:58 +02:00 committed by Jeremy Allison
parent 5c5a33cfcb
commit a00fe90c3c
2 changed files with 38 additions and 0 deletions

View File

@ -3720,6 +3720,34 @@ NTSTATUS smb2cli_req_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
return status;
}
NTSTATUS smb2cli_req_get_sent_iov(struct tevent_req *req,
struct iovec *sent_iov)
{
struct smbXcli_req_state *state =
tevent_req_data(req,
struct smbXcli_req_state);
if (tevent_req_is_in_progress(req)) {
return STATUS_PENDING;
}
sent_iov[0].iov_base = state->smb2.hdr;
sent_iov[0].iov_len = sizeof(state->smb2.hdr);
sent_iov[1].iov_base = discard_const(state->smb2.fixed);
sent_iov[1].iov_len = state->smb2.fixed_len;
if (state->smb2.dyn != NULL) {
sent_iov[2].iov_base = discard_const(state->smb2.dyn);
sent_iov[2].iov_len = state->smb2.dyn_len;
} else {
sent_iov[2].iov_base = NULL;
sent_iov[2].iov_len = 0;
}
return NT_STATUS_OK;
}
static const struct {
enum protocol_types proto;
const char *smb1_name;

View File

@ -347,6 +347,16 @@ NTSTATUS smb2cli_req_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
const struct smb2cli_req_expected_response *expected,
size_t num_expected);
/*
* This expects an iov[3] array, that is filled with references to
* the buffers used for the sending the requests into the socket.
*
* This can only be called after smb2cli_req_recv(subreq) before
* the TALLOC_FREE(subreq).
*/
NTSTATUS smb2cli_req_get_sent_iov(struct tevent_req *req,
struct iovec *sent_iov);
struct tevent_req *smbXcli_negprot_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbXcli_conn *conn,