libsmb: Use cli_ntcreate in cli_chkpath
[samba.git] / source3 / libsmb / cli_smb2_fnum.c
index f70639e41bd49294ec0bc804cb6de89387785468..87c56b5564dd852f82aa0725aba730261b46111c 100644 (file)
@@ -1627,87 +1627,6 @@ NTSTATUS cli_smb2_qpathinfo_basic(struct cli_state *cli,
        return status;
 }
 
-struct cli_smb2_chkpath_state {
-       struct tevent_context *ev;
-       struct cli_state *cli;
-};
-
-static void cli_smb2_chkpath_opened(struct tevent_req *subreq);
-static void cli_smb2_chkpath_closed(struct tevent_req *subreq);
-
-struct tevent_req *cli_smb2_chkpath_send(
-       TALLOC_CTX *mem_ctx,
-       struct tevent_context *ev,
-       struct cli_state *cli,
-       const char *name)
-{
-       struct tevent_req *req = NULL, *subreq = NULL;
-       struct cli_smb2_chkpath_state *state = NULL;
-
-       req = tevent_req_create(
-               mem_ctx, &state, struct cli_smb2_chkpath_state);
-       if (req == NULL) {
-               return NULL;
-       }
-       state->ev = ev;
-       state->cli = cli;
-
-       /* Ensure this is a directory. */
-       subreq = cli_smb2_create_fnum_send(
-               state,                             /* mem_ctx */
-               ev,                                /* ev */
-               cli,                               /* cli */
-               name,                              /* fname */
-               0,                                 /* create_flags */
-               SMB2_IMPERSONATION_IMPERSONATION,  /* impersonation_level */
-               FILE_READ_ATTRIBUTES,              /* desired_access */
-               FILE_ATTRIBUTE_DIRECTORY,          /* file_attributes */
-               FILE_SHARE_READ|
-               FILE_SHARE_WRITE|
-               FILE_SHARE_DELETE,                 /* share_access */
-               FILE_OPEN,                         /* create_disposition */
-               FILE_DIRECTORY_FILE,               /* create_options */
-               NULL);                             /* in_cblobs */
-       if (tevent_req_nomem(subreq, req)) {
-               return tevent_req_post(req, ev);
-       }
-       tevent_req_set_callback(subreq, cli_smb2_chkpath_opened, req);
-       return req;
-}
-
-static void cli_smb2_chkpath_opened(struct tevent_req *subreq)
-{
-       struct tevent_req *req = tevent_req_callback_data(
-               subreq, struct tevent_req);
-       struct cli_smb2_chkpath_state *state = tevent_req_data(
-               req, struct cli_smb2_chkpath_state);
-       NTSTATUS status;
-       uint16_t fnum = 0xffff;
-
-       status = cli_smb2_create_fnum_recv(subreq, &fnum, NULL, NULL, NULL);
-       TALLOC_FREE(subreq);
-       if (tevent_req_nterror(req, status)) {
-               return;
-       }
-
-       subreq = cli_smb2_close_fnum_send(state, state->ev, state->cli, fnum);
-       if (tevent_req_nomem(subreq, req)) {
-               return;
-       }
-       tevent_req_set_callback(subreq, cli_smb2_chkpath_closed, req);
-}
-
-static void cli_smb2_chkpath_closed(struct tevent_req *subreq)
-{
-       NTSTATUS status = cli_smb2_close_fnum_recv(subreq);
-       tevent_req_simple_finish_ntstatus(subreq, status);
-}
-
-NTSTATUS cli_smb2_chkpath_recv(struct tevent_req *req)
-{
-       return tevent_req_simple_recv_ntstatus(req);
-}
-
 struct cli_smb2_query_info_fnum_state {
        DATA_BLOB outbuf;
 };