summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/async_smb.h6
-rw-r--r--source3/libsmb/async_smb.c23
-rw-r--r--source3/libsmb/clientgen.c4
-rw-r--r--source3/libsmb/clireadwrite.c12
4 files changed, 16 insertions, 29 deletions
diff --git a/source3/include/async_smb.h b/source3/include/async_smb.h
index ed42baef0d..e9e10023e3 100644
--- a/source3/include/async_smb.h
+++ b/source3/include/async_smb.h
@@ -125,12 +125,6 @@ bool cli_chain_cork(struct cli_state *cli, struct event_context *ev,
size_t size_hint);
void cli_chain_uncork(struct cli_state *cli);
-/*
- * Convenience function to get the SMB part out of an async_req
- */
-
-struct cli_request *cli_request_get(struct async_req *req);
-
NTSTATUS cli_pull_reply(struct async_req *req,
uint8_t *pwct, uint16_t **pvwv,
uint16_t *pnum_bytes, uint8_t **pbytes);
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index b5fa9c44b1..79a924b9db 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -107,7 +107,8 @@ static uint16_t cli_new_mid(struct cli_state *cli)
static char *cli_request_print(TALLOC_CTX *mem_ctx, struct async_req *req)
{
char *result = async_req_print(mem_ctx, req);
- struct cli_request *cli_req = cli_request_get(req);
+ struct cli_request *cli_req = talloc_get_type_abort(
+ req->private_data, struct cli_request);
if (result == NULL) {
return NULL;
@@ -216,7 +217,8 @@ static bool find_andx_cmd_ofs(char *buf, size_t *pofs)
static int cli_async_req_destructor(struct async_req *req)
{
- struct cli_request *cli_req = cli_request_get(req);
+ struct cli_request *cli_req = talloc_get_type_abort(
+ req->private_data, struct cli_request);
int i, pending;
bool found = false;
@@ -560,7 +562,8 @@ NTSTATUS cli_pull_reply(struct async_req *req,
uint8_t *pwct, uint16_t **pvwv,
uint16_t *pnum_bytes, uint8_t **pbytes)
{
- struct cli_request *cli_req = cli_request_get(req);
+ struct cli_request *cli_req = talloc_get_type_abort(
+ req->private_data, struct cli_request);
uint8_t wct, cmd;
uint16_t num_bytes;
size_t wct_ofs, bytes_offset;
@@ -667,20 +670,6 @@ NTSTATUS cli_pull_reply(struct async_req *req,
}
/**
- * Convenience function to get the SMB part out of an async_req
- * @param[in] req The request to look at
- * @retval The private_data as struct cli_request
- */
-
-struct cli_request *cli_request_get(struct async_req *req)
-{
- if (req == NULL) {
- return NULL;
- }
- return talloc_get_type_abort(req->private_data, struct cli_request);
-}
-
-/**
* A PDU has arrived on cli->evt_inbuf
* @param[in] cli The cli_state that received something
*/
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 239ba470a9..9d65fb4e94 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -661,7 +661,7 @@ static void cli_echo_recv_helper(struct async_req *req)
return;
}
- cli_req = cli_request_get(req);
+ cli_req = talloc_get_type_abort(req->private_data, struct cli_request);
if ((num_bytes != cli_req->data.echo.data.length)
|| (memcmp(cli_req->data.echo.data.data, bytes,
@@ -713,7 +713,7 @@ struct async_req *cli_echo_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
TALLOC_FREE(data_copy);
return NULL;
}
- req = cli_request_get(result);
+ req = talloc_get_type_abort(result->private_data, struct cli_request);
client_set_trans_sign_state_on(cli, req->mid);
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index b64a4c68f3..ec63281630 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -83,7 +83,7 @@ struct async_req *cli_read_andx_send(TALLOC_CTX *mem_ctx,
return NULL;
}
- req = cli_request_get(result);
+ req = talloc_get_type_abort(result->private_data, struct cli_request);
req->data.read.ofs = offset;
req->data.read.size = size;
@@ -103,7 +103,8 @@ struct async_req *cli_read_andx_send(TALLOC_CTX *mem_ctx,
NTSTATUS cli_read_andx_recv(struct async_req *req, ssize_t *received,
uint8_t **rcvbuf)
{
- struct cli_request *cli_req = cli_request_get(req);
+ struct cli_request *cli_req = talloc_get_type_abort(
+ req->private_data, struct cli_request);
uint8_t wct;
uint16_t *vwv;
uint16_t num_bytes;
@@ -311,7 +312,8 @@ static void cli_pull_read_done(struct async_req *read_req)
read_req->async.priv, struct async_req);
struct cli_pull_state *state = talloc_get_type_abort(
pull_req->private_data, struct cli_pull_state);
- struct cli_request *read_state = cli_request_get(read_req);
+ struct cli_request *read_state = talloc_get_type_abort(
+ read_req->private_data, struct cli_request);
NTSTATUS status;
status = cli_read_andx_recv(read_req, &read_state->data.read.received,
@@ -342,7 +344,9 @@ static void cli_pull_read_done(struct async_req *read_req)
return;
}
- top_read = cli_request_get(state->reqs[state->top_req]);
+ top_read = talloc_get_type_abort(
+ state->reqs[state->top_req]->private_data,
+ struct cli_request);
DEBUG(10, ("cli_pull_read_done: Pushing %d bytes, %d already "
"pushed\n", (int)top_read->data.read.received,