s3: libsmb: Add cli_smb2_chkpath() and use from cli_chkpath().
[sfrench/samba-autobuild/.git] / source3 / libsmb / proto.h
index 469246e8adbd62f0835622afbb9a1d0059144f1a..05d91f79f835d87b75e2d0f5d5ab27f3b2db3eaf 100644 (file)
 #ifndef _LIBSMB_PROTO_H_
 #define _LIBSMB_PROTO_H_
 
-#include "ads.h"
+#include "auth_info.h"
+
+struct smb_trans_enc_state;
+struct cli_credentials;
 
 /* The following definitions come from libsmb/cliconnect.c  */
 
-NTSTATUS cli_session_setup(struct cli_state *cli,
-                          const char *user,
-                          const char *pass, int passlen,
-                          const char *ntpass, int ntpasslen,
-                          const char *workgroup);
+struct cli_credentials *cli_session_creds_init(TALLOC_CTX *mem_ctx,
+                                              const char *username,
+                                              const char *domain,
+                                              const char *realm,
+                                              const char *password,
+                                              bool use_kerberos,
+                                              bool fallback_after_kerberos,
+                                              bool use_ccache,
+                                              bool password_is_nt_hash);
+NTSTATUS cli_session_creds_prepare_krb5(struct cli_state *cli,
+                                       struct cli_credentials *creds);
+struct tevent_req *cli_session_setup_creds_send(TALLOC_CTX *mem_ctx,
+                                       struct tevent_context *ev,
+                                       struct cli_state *cli,
+                                       struct cli_credentials *creds);
+NTSTATUS cli_session_setup_creds_recv(struct tevent_req *req);
+NTSTATUS cli_session_setup_creds(struct cli_state *cli,
+                                struct cli_credentials *creds);
+NTSTATUS cli_session_setup_anon(struct cli_state *cli);
 struct tevent_req *cli_session_setup_guest_create(TALLOC_CTX *mem_ctx,
-                                                 struct event_context *ev,
+                                                 struct tevent_context *ev,
                                                  struct cli_state *cli,
                                                  struct tevent_req **psmbreq);
 struct tevent_req *cli_session_setup_guest_send(TALLOC_CTX *mem_ctx,
-                                               struct event_context *ev,
+                                               struct tevent_context *ev,
                                                struct cli_state *cli);
 NTSTATUS cli_session_setup_guest_recv(struct tevent_req *req);
-struct tevent_req *cli_ulogoff_send(TALLOC_CTX *mem_ctx,
-                                   struct tevent_context *ev,
-                                   struct cli_state *cli);
-NTSTATUS cli_ulogoff_recv(struct tevent_req *req);
 NTSTATUS cli_ulogoff(struct cli_state *cli);
 struct tevent_req *cli_tcon_andx_create(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *share, const char *dev,
                                        const char *pass, int passlen,
                                        struct tevent_req **psmbreq);
 struct tevent_req *cli_tcon_andx_send(TALLOC_CTX *mem_ctx,
-                                     struct event_context *ev,
+                                     struct tevent_context *ev,
                                      struct cli_state *cli,
                                      const char *share, const char *dev,
                                      const char *pass, int passlen);
 NTSTATUS cli_tcon_andx_recv(struct tevent_req *req);
 NTSTATUS cli_tcon_andx(struct cli_state *cli, const char *share,
                       const char *dev, const char *pass, int passlen);
-struct tevent_req *cli_tdis_send(TALLOC_CTX *mem_ctx,
-                                 struct tevent_context *ev,
-                                 struct cli_state *cli);
-NTSTATUS cli_tdis_recv(struct tevent_req *req);
+NTSTATUS cli_tree_connect_creds(struct cli_state *cli,
+                               const char *share, const char *dev,
+                               struct cli_credentials *creds);
+NTSTATUS cli_tree_connect(struct cli_state *cli, const char *share,
+                         const char *dev, const char *pass);
 NTSTATUS cli_tdis(struct cli_state *cli);
-NTSTATUS cli_negprot(struct cli_state *cli, enum protocol_types max_protocol);
-struct tevent_req *cli_negprot_send(TALLOC_CTX *mem_ctx,
-                                   struct event_context *ev,
-                                   struct cli_state *cli,
-                                   enum protocol_types max_protocol);
-NTSTATUS cli_negprot_recv(struct tevent_req *req);
 NTSTATUS cli_connect_nb(const char *host, const struct sockaddr_storage *dest_ss,
                        uint16_t port, int name_type, const char *myname,
                        int signing_state, int flags, struct cli_state **pcli);
@@ -81,6 +89,25 @@ NTSTATUS cli_start_connection(struct cli_state **output_cli,
                              const char *dest_host,
                              const struct sockaddr_storage *dest_ss, int port,
                              int signing_state, int flags);
+NTSTATUS cli_smb1_setup_encryption(struct cli_state *cli,
+                                  struct cli_credentials *creds);
+struct tevent_req *cli_full_connection_creds_send(
+       TALLOC_CTX *mem_ctx, struct tevent_context *ev,
+       const char *my_name, const char *dest_host,
+       const struct sockaddr_storage *dest_ss, int port,
+       const char *service, const char *service_type,
+       struct cli_credentials *creds,
+       int flags, int signing_state);
+NTSTATUS cli_full_connection_creds_recv(struct tevent_req *req,
+                                       struct cli_state **output_cli);
+NTSTATUS cli_full_connection_creds(struct cli_state **output_cli,
+                                  const char *my_name,
+                                  const char *dest_host,
+                                  const struct sockaddr_storage *dest_ss, int port,
+                                  const char *service, const char *service_type,
+                                  struct cli_credentials *creds,
+                                  int flags,
+                                  int signing_state);
 NTSTATUS cli_full_connection(struct cli_state **output_cli,
                             const char *my_name,
                             const char *dest_host,
@@ -91,7 +118,7 @@ NTSTATUS cli_full_connection(struct cli_state **output_cli,
                             int signing_state);
 NTSTATUS cli_raw_tcon(struct cli_state *cli,
                      const char *service, const char *pass, const char *dev,
-                     uint16 *max_xmit, uint16 *tid);
+                     uint16_t *max_xmit, uint16_t *tid);
 struct cli_state *get_ipc_connect(char *server,
                                struct sockaddr_storage *server_ss,
                                const struct user_auth_info *user_info);
@@ -105,6 +132,9 @@ struct cli_state *get_ipc_connect_master_ip_bcast(TALLOC_CTX *ctx,
 
 /* The following definitions come from libsmb/clidfs.c  */
 
+NTSTATUS cli_cm_force_encryption_creds(struct cli_state *c,
+                                      struct cli_credentials *creds,
+                                      const char *sharename);
 NTSTATUS cli_cm_force_encryption(struct cli_state *c,
                        const char *username,
                        const char *password,
@@ -115,7 +145,6 @@ NTSTATUS cli_cm_open(TALLOC_CTX *ctx,
                                const char *server,
                                const char *share,
                                const struct user_auth_info *auth_info,
-                               bool show_hdr,
                                bool force_encrypt,
                                int max_protocol,
                                int port,
@@ -123,6 +152,13 @@ NTSTATUS cli_cm_open(TALLOC_CTX *ctx,
                                struct cli_state **pcli);
 void cli_cm_display(struct cli_state *c);
 struct client_dfs_referral;
+NTSTATUS cli_dfs_get_referral_ex(TALLOC_CTX *ctx,
+                       struct cli_state *cli,
+                       const char *path,
+                       uint16_t max_referral_level,
+                       struct client_dfs_referral **refs,
+                       size_t *num_refs,
+                       size_t *consumed);
 NTSTATUS cli_dfs_get_referral(TALLOC_CTX *ctx,
                        struct cli_state *cli,
                        const char *path,
@@ -143,58 +179,40 @@ bool cli_check_msdfs_proxy(TALLOC_CTX *ctx,
                        char **pp_newserver,
                        char **pp_newshare,
                        bool force_encrypt,
-                       const char *username,
-                       const char *password,
-                       const char *domain);
+                       struct cli_credentials *creds);
 
 /* The following definitions come from libsmb/clientgen.c  */
 
 int cli_set_message(char *buf,int num_words,int num_bytes,bool zero);
 unsigned int cli_set_timeout(struct cli_state *cli, unsigned int timeout);
-void cli_setup_packet_buf(struct cli_state *cli, char *buf);
-NTSTATUS cli_set_domain(struct cli_state *cli, const char *domain);
-NTSTATUS cli_set_username(struct cli_state *cli, const char *username);
-NTSTATUS cli_set_password(struct cli_state *cli, const char *password);
-NTSTATUS cli_init_creds(struct cli_state *cli, const char *username, const char *domain, const char *password);
+bool cli_set_backup_intent(struct cli_state *cli, bool flag);
+extern struct GUID cli_state_client_guid;
 struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx,
                                   int fd,
                                   const char *remote_name,
-                                  const char *remote_realm,
                                   int signing_state,
                                   int flags);
-bool cli_state_encryption_on(struct cli_state *cli);
 void cli_nt_pipes_close(struct cli_state *cli);
 void cli_shutdown(struct cli_state *cli);
-void cli_sockopt(struct cli_state *cli, const char *options);
-const struct sockaddr_storage *cli_state_local_sockaddr(struct cli_state *cli);
-const struct sockaddr_storage *cli_state_remote_sockaddr(struct cli_state *cli);
-const char *cli_state_remote_name(struct cli_state *cli);
-const char *cli_state_remote_realm(struct cli_state *cli);
 uint16_t cli_state_get_vc_num(struct cli_state *cli);
-uint32_t cli_state_server_session_key(struct cli_state *cli);
-uint16 cli_setpid(struct cli_state *cli, uint16 pid);
-uint16_t cli_getpid(struct cli_state *cli);
+uint32_t cli_setpid(struct cli_state *cli, uint32_t pid);
+uint32_t cli_getpid(struct cli_state *cli);
 bool cli_state_has_tcon(struct cli_state *cli);
-uint16_t cli_state_get_tid(struct cli_state *cli);
-uint16_t cli_state_set_tid(struct cli_state *cli, uint16_t tid);
+uint32_t cli_state_get_tid(struct cli_state *cli);
+uint32_t cli_state_set_tid(struct cli_state *cli, uint32_t tid);
+struct smbXcli_tcon;
+struct smbXcli_tcon *cli_state_save_tcon(struct cli_state *cli);
+void cli_state_restore_tcon(struct cli_state *cli, struct smbXcli_tcon *tcon);
 uint16_t cli_state_get_uid(struct cli_state *cli);
 uint16_t cli_state_set_uid(struct cli_state *cli, uint16_t uid);
 bool cli_set_case_sensitive(struct cli_state *cli, bool case_sensitive);
-enum protocol_types cli_state_protocol(struct cli_state *cli);
-uint32_t cli_state_capabilities(struct cli_state *cli);
 uint32_t cli_state_available_size(struct cli_state *cli, uint32_t ofs);
-uint16_t cli_state_max_requests(struct cli_state *cli);
-const uint8_t *cli_state_server_challenge(struct cli_state *cli);
-const DATA_BLOB *cli_state_server_gss_blob(struct cli_state *cli);
-uint16_t cli_state_security_mode(struct cli_state *cli);
-int cli_state_server_time_zone(struct cli_state *cli);
 time_t cli_state_server_time(struct cli_state *cli);
-struct tevent_req *cli_echo_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
+struct tevent_req *cli_echo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
                                 struct cli_state *cli, uint16_t num_echos,
                                 DATA_BLOB data);
 NTSTATUS cli_echo_recv(struct tevent_req *req);
 NTSTATUS cli_echo(struct cli_state *cli, uint16_t num_echos, DATA_BLOB data);
-bool cli_ucs2(struct cli_state *cli);
 bool is_andx_req(uint8_t cmd);
 NTSTATUS cli_smb(TALLOC_CTX *mem_ctx, struct cli_state *cli,
                 uint8_t smb_command, uint8_t additional_flags,
@@ -208,13 +226,12 @@ NTSTATUS cli_smb(TALLOC_CTX *mem_ctx, struct cli_state *cli,
 
 const char *cli_errstr(struct cli_state *cli);
 NTSTATUS cli_nt_error(struct cli_state *cli);
-void cli_dos_error(struct cli_state *cli, uint8 *eclass, uint32 *ecode);
+void cli_dos_error(struct cli_state *cli, uint8_t *eclass, uint32_t *ecode);
 int cli_errno(struct cli_state *cli);
 bool cli_is_error(struct cli_state *cli);
 bool cli_is_nt_error(struct cli_state *cli);
 bool cli_is_dos_error(struct cli_state *cli);
 bool cli_state_is_connected(struct cli_state *cli);
-void cli_state_disconnect(struct cli_state *cli);
 
 /* The following definitions come from libsmb/clifile.c  */
 
@@ -233,7 +250,7 @@ NTSTATUS cli_setpathinfo(struct cli_state *cli,
                         size_t data_len);
 
 struct tevent_req *cli_posix_symlink_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *oldname,
                                        const char *newname);
@@ -242,7 +259,7 @@ NTSTATUS cli_posix_symlink(struct cli_state *cli,
                        const char *oldname,
                        const char *newname);
 struct tevent_req *cli_posix_readlink_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname,
                                        size_t len);
@@ -251,7 +268,7 @@ NTSTATUS cli_posix_readlink_recv(struct tevent_req *req, struct cli_state *cli,
 NTSTATUS cli_posix_readlink(struct cli_state *cli, const char *fname,
                        char *linkpath, size_t len);
 struct tevent_req *cli_posix_hardlink_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *oldname,
                                        const char *newname);
@@ -261,21 +278,32 @@ NTSTATUS cli_posix_hardlink(struct cli_state *cli,
                        const char *newname);
 uint32_t unix_perms_to_wire(mode_t perms);
 mode_t wire_perms_to_unix(uint32_t perms);
-struct tevent_req *cli_posix_getfacl_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+struct tevent_req *cli_posix_getacl_send(TALLOC_CTX *mem_ctx,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname);
-NTSTATUS cli_posix_getfacl_recv(struct tevent_req *req,
+NTSTATUS cli_posix_getacl_recv(struct tevent_req *req,
                                TALLOC_CTX *mem_ctx,
                                size_t *prb_size,
                                char **retbuf);
-NTSTATUS cli_posix_getfacl(struct cli_state *cli,
+NTSTATUS cli_posix_getacl(struct cli_state *cli,
                        const char *fname,
                        TALLOC_CTX *mem_ctx,
                        size_t *prb_size,
                        char **retbuf);
+struct tevent_req *cli_posix_setacl_send(TALLOC_CTX *mem_ctx,
+                                       struct tevent_context *ev,
+                                       struct cli_state *cli,
+                                       const char *fname,
+                                       const void *acl_buf,
+                                       size_t acl_buf_size);
+NTSTATUS cli_posix_setacl_recv(struct tevent_req *req);
+NTSTATUS cli_posix_setacl(struct cli_state *cli,
+                       const char *fname,
+                       const void *acl_buf,
+                       size_t acl_buf_size);
 struct tevent_req *cli_posix_stat_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname);
 NTSTATUS cli_posix_stat_recv(struct tevent_req *req,
@@ -284,14 +312,14 @@ NTSTATUS cli_posix_stat(struct cli_state *cli,
                        const char *fname,
                        SMB_STRUCT_STAT *sbuf);
 struct tevent_req *cli_posix_chmod_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname,
                                        mode_t mode);
 NTSTATUS cli_posix_chmod_recv(struct tevent_req *req);
 NTSTATUS cli_posix_chmod(struct cli_state *cli, const char *fname, mode_t mode);
 struct tevent_req *cli_posix_chown_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname,
                                        uid_t uid,
@@ -302,14 +330,18 @@ NTSTATUS cli_posix_chown(struct cli_state *cli,
                        uid_t uid,
                        gid_t gid);
 struct tevent_req *cli_rename_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
-                                struct cli_state *cli,
-                                const char *fname_src,
-                                const char *fname_dst);
+                                  struct tevent_context *ev,
+                                  struct cli_state *cli,
+                                  const char *fname_src,
+                                  const char *fname_dst,
+                                  bool replace);
 NTSTATUS cli_rename_recv(struct tevent_req *req);
-NTSTATUS cli_rename(struct cli_state *cli, const char *fname_src, const char *fname_dst);
+NTSTATUS cli_rename(struct cli_state *cli,
+                   const char *fname_src,
+                   const char *fname_dst,
+                   bool replace);
 struct tevent_req *cli_ntrename_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
+                                struct tevent_context *ev,
                                 struct cli_state *cli,
                                 const char *fname_src,
                                 const char *fname_dst);
@@ -317,7 +349,7 @@ NTSTATUS cli_ntrename_recv(struct tevent_req *req);
 NTSTATUS cli_ntrename(struct cli_state *cli, const char *fname_src, const char *fname_dst);
 
 struct tevent_req *cli_nt_hardlink_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
+                                struct tevent_context *ev,
                                 struct cli_state *cli,
                                 const char *fname_src,
                                 const char *fname_dst);
@@ -325,7 +357,7 @@ NTSTATUS cli_nt_hardlink_recv(struct tevent_req *req);
 NTSTATUS cli_nt_hardlink(struct cli_state *cli, const char *fname_src, const char *fname_dst);
 
 struct tevent_req *cli_unlink_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
+                                struct tevent_context *ev,
                                 struct cli_state *cli,
                                 const char *fname,
                                 uint16_t mayhave_attrs);
@@ -333,26 +365,26 @@ NTSTATUS cli_unlink_recv(struct tevent_req *req);
 NTSTATUS cli_unlink(struct cli_state *cli, const char *fname, uint16_t mayhave_attrs);
 
 struct tevent_req *cli_mkdir_send(TALLOC_CTX *mem_ctx,
-                                 struct event_context *ev,
+                                 struct tevent_context *ev,
                                  struct cli_state *cli,
                                  const char *dname);
 NTSTATUS cli_mkdir_recv(struct tevent_req *req);
 NTSTATUS cli_mkdir(struct cli_state *cli, const char *dname);
 struct tevent_req *cli_rmdir_send(TALLOC_CTX *mem_ctx,
-                                 struct event_context *ev,
+                                 struct tevent_context *ev,
                                  struct cli_state *cli,
                                  const char *dname);
 NTSTATUS cli_rmdir_recv(struct tevent_req *req);
 NTSTATUS cli_rmdir(struct cli_state *cli, const char *dname);
 struct tevent_req *cli_nt_delete_on_close_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        uint16_t fnum,
                                        bool flag);
 NTSTATUS cli_nt_delete_on_close_recv(struct tevent_req *req);
 NTSTATUS cli_nt_delete_on_close(struct cli_state *cli, uint16_t fnum, bool flag);
 struct tevent_req *cli_ntcreate_send(TALLOC_CTX *mem_ctx,
-                                    struct event_context *ev,
+                                    struct tevent_context *ev,
                                     struct cli_state *cli,
                                     const char *fname,
                                     uint32_t CreatFlags,
@@ -362,7 +394,9 @@ struct tevent_req *cli_ntcreate_send(TALLOC_CTX *mem_ctx,
                                     uint32_t CreateDisposition,
                                     uint32_t CreateOptions,
                                     uint8_t SecurityFlags);
-NTSTATUS cli_ntcreate_recv(struct tevent_req *req, uint16_t *pfnum);
+NTSTATUS cli_ntcreate_recv(struct tevent_req *req,
+                       uint16_t *pfnum,
+                       struct smb_create_returns *cr);
 NTSTATUS cli_ntcreate(struct cli_state *cli,
                      const char *fname,
                      uint32_t CreatFlags,
@@ -372,37 +406,30 @@ NTSTATUS cli_ntcreate(struct cli_state *cli,
                      uint32_t CreateDisposition,
                      uint32_t CreateOptions,
                      uint8_t SecurityFlags,
-                     uint16_t *pfid);
-uint8_t *smb_bytes_push_str(uint8_t *buf, bool ucs2, const char *str,
-                           size_t str_len, size_t *pconverted_size);
-uint8_t *smb_bytes_push_bytes(uint8_t *buf, uint8_t prefix,
-                             const uint8_t *bytes, size_t num_bytes);
-uint8_t *trans2_bytes_push_str(uint8_t *buf, bool ucs2,
-                              const char *str, size_t str_len,
-                              size_t *pconverted_size);
-uint8_t *trans2_bytes_push_bytes(uint8_t *buf,
-                                const uint8_t *bytes, size_t num_bytes);
-struct tevent_req *cli_open_create(TALLOC_CTX *mem_ctx,
-                                  struct event_context *ev,
+                     uint16_t *pfid,
+                     struct smb_create_returns *cr);
+struct tevent_req *cli_openx_create(TALLOC_CTX *mem_ctx,
+                                  struct tevent_context *ev,
                                   struct cli_state *cli, const char *fname,
                                   int flags, int share_mode,
                                   struct tevent_req **psmbreq);
-struct tevent_req *cli_open_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
+struct tevent_req *cli_openx_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
                                 struct cli_state *cli, const char *fname,
                                 int flags, int share_mode);
-NTSTATUS cli_open_recv(struct tevent_req *req, uint16_t *fnum);
+NTSTATUS cli_openx_recv(struct tevent_req *req, uint16_t *fnum);
+NTSTATUS cli_openx(struct cli_state *cli, const char *fname, int flags, int share_mode, uint16_t *pfnum);
 NTSTATUS cli_open(struct cli_state *cli, const char *fname, int flags, int share_mode, uint16_t *pfnum);
 struct tevent_req *cli_close_create(TALLOC_CTX *mem_ctx,
-                                   struct event_context *ev,
+                                   struct tevent_context *ev,
                                    struct cli_state *cli, uint16_t fnum,
                                    struct tevent_req **psubreq);
 struct tevent_req *cli_close_send(TALLOC_CTX *mem_ctx,
-                                 struct event_context *ev,
+                                 struct tevent_context *ev,
                                  struct cli_state *cli, uint16_t fnum);
 NTSTATUS cli_close_recv(struct tevent_req *req);
 NTSTATUS cli_close(struct cli_state *cli, uint16_t fnum);
 struct tevent_req *cli_ftruncate_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        uint16_t fnum,
                                        uint64_t size);
@@ -414,7 +441,7 @@ NTSTATUS cli_locktype(struct cli_state *cli, uint16_t fnum,
 NTSTATUS cli_lock32(struct cli_state *cli, uint16_t fnum, uint32_t offset,
                    uint32_t len, int timeout, enum brl_type lock_type);
 struct tevent_req *cli_unlock_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
+                                struct tevent_context *ev,
                                 struct cli_state *cli,
                                 uint16_t fnum,
                                 uint64_t offset,
@@ -425,7 +452,7 @@ NTSTATUS cli_lock64(struct cli_state *cli, uint16_t fnum,
                    uint64_t offset, uint64_t len, int timeout,
                    enum brl_type lock_type);
 struct tevent_req *cli_unlock64_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
+                                struct tevent_context *ev,
                                 struct cli_state *cli,
                                 uint16_t fnum,
                                 uint64_t offset,
@@ -433,7 +460,7 @@ struct tevent_req *cli_unlock64_send(TALLOC_CTX *mem_ctx,
 NTSTATUS cli_unlock64_recv(struct tevent_req *req);
 NTSTATUS cli_unlock64(struct cli_state *cli, uint16_t fnum, uint64_t offset, uint64_t len);
 struct tevent_req *cli_posix_lock_send(TALLOC_CTX *mem_ctx,
-                                        struct event_context *ev,
+                                        struct tevent_context *ev,
                                         struct cli_state *cli,
                                         uint16_t fnum,
                                         uint64_t offset,
@@ -445,7 +472,7 @@ NTSTATUS cli_posix_lock(struct cli_state *cli, uint16_t fnum,
                        uint64_t offset, uint64_t len,
                        bool wait_lock, enum brl_type lock_type);
 struct tevent_req *cli_posix_unlock_send(TALLOC_CTX *mem_ctx,
-                                        struct event_context *ev,
+                                        struct tevent_context *ev,
                                         struct cli_state *cli,
                                         uint16_t fnum,
                                         uint64_t offset,
@@ -453,24 +480,24 @@ struct tevent_req *cli_posix_unlock_send(TALLOC_CTX *mem_ctx,
 NTSTATUS cli_posix_unlock_recv(struct tevent_req *req);
 NTSTATUS cli_posix_unlock(struct cli_state *cli, uint16_t fnum, uint64_t offset, uint64_t len);
 struct tevent_req *cli_getattrE_send(TALLOC_CTX *mem_ctx,
-                               struct event_context *ev,
+                               struct tevent_context *ev,
                                struct cli_state *cli,
                                 uint16_t fnum);
 NTSTATUS cli_getattrE_recv(struct tevent_req *req,
                         uint16_t *attr,
-                        SMB_OFF_T *size,
+                        off_t *size,
                         time_t *change_time,
                         time_t *access_time,
                         time_t *write_time);
 NTSTATUS cli_getattrE(struct cli_state *cli,
                        uint16_t fnum,
                        uint16_t *attr,
-                       SMB_OFF_T *size,
+                       off_t *size,
                        time_t *change_time,
                        time_t *access_time,
                        time_t *write_time);
 struct tevent_req *cli_setattrE_send(TALLOC_CTX *mem_ctx,
-                               struct event_context *ev,
+                               struct tevent_context *ev,
                                struct cli_state *cli,
                                uint16_t fnum,
                                time_t change_time,
@@ -483,20 +510,20 @@ NTSTATUS cli_setattrE(struct cli_state *cli,
                        time_t access_time,
                        time_t write_time);
 struct tevent_req *cli_getatr_send(TALLOC_CTX *mem_ctx,
-                               struct event_context *ev,
+                               struct tevent_context *ev,
                                struct cli_state *cli,
                                const char *fname);
 NTSTATUS cli_getatr_recv(struct tevent_req *req,
                                uint16_t *attr,
-                               SMB_OFF_T *size,
+                               off_t *size,
                                time_t *write_time);
 NTSTATUS cli_getatr(struct cli_state *cli,
                        const char *fname,
                        uint16_t *attr,
-                       SMB_OFF_T *size,
+                       off_t *size,
                        time_t *write_time);
 struct tevent_req *cli_setatr_send(TALLOC_CTX *mem_ctx,
-                               struct event_context *ev,
+                               struct tevent_context *ev,
                                struct cli_state *cli,
                                const char *fname,
                                uint16_t attr,
@@ -507,19 +534,21 @@ NTSTATUS cli_setatr(struct cli_state *cli,
                 uint16_t attr,
                 time_t mtime);
 struct tevent_req *cli_chkpath_send(TALLOC_CTX *mem_ctx,
-                                 struct event_context *ev,
+                                 struct tevent_context *ev,
                                  struct cli_state *cli,
                                  const char *fname);
 NTSTATUS cli_chkpath_recv(struct tevent_req *req);
 NTSTATUS cli_chkpath(struct cli_state *cli, const char *path);
 struct tevent_req *cli_dskattr_send(TALLOC_CTX *mem_ctx,
-                                 struct event_context *ev,
+                                 struct tevent_context *ev,
                                  struct cli_state *cli);
 NTSTATUS cli_dskattr_recv(struct tevent_req *req, int *bsize, int *total,
                          int *avail);
 NTSTATUS cli_dskattr(struct cli_state *cli, int *bsize, int *total, int *avail);
+NTSTATUS cli_disk_size(struct cli_state *cli, const char *path, uint64_t *bsize,
+                      uint64_t *total, uint64_t *avail);
 struct tevent_req *cli_ctemp_send(TALLOC_CTX *mem_ctx,
-                               struct event_context *ev,
+                               struct tevent_context *ev,
                                struct cli_state *cli,
                                const char *path);
 NTSTATUS cli_ctemp_recv(struct tevent_req *req,
@@ -549,7 +578,7 @@ NTSTATUS cli_get_ea_list_path(struct cli_state *cli, const char *path,
                size_t *pnum_eas,
                struct ea_struct **pea_list);
 struct tevent_req *cli_posix_open_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname,
                                        int flags,
@@ -558,7 +587,7 @@ NTSTATUS cli_posix_open_recv(struct tevent_req *req, uint16_t *pfnum);
 NTSTATUS cli_posix_open(struct cli_state *cli, const char *fname,
                        int flags, mode_t mode, uint16_t *fnum);
 struct tevent_req *cli_posix_mkdir_send(TALLOC_CTX *mem_ctx,
-                                        struct event_context *ev,
+                                        struct tevent_context *ev,
                                         struct cli_state *cli,
                                         const char *fname,
                                         mode_t mode);
@@ -566,14 +595,14 @@ NTSTATUS cli_posix_mkdir_recv(struct tevent_req *req);
 NTSTATUS cli_posix_mkdir(struct cli_state *cli, const char *fname, mode_t mode);
 
 struct tevent_req *cli_posix_unlink_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname);
 NTSTATUS cli_posix_unlink_recv(struct tevent_req *req);
 NTSTATUS cli_posix_unlink(struct cli_state *cli, const char *fname);
 
 struct tevent_req *cli_posix_rmdir_send(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli,
                                        const char *fname);
 NTSTATUS cli_posix_rmdir_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx);
@@ -586,9 +615,13 @@ struct tevent_req *cli_notify_send(TALLOC_CTX *mem_ctx,
 NTSTATUS cli_notify_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
                         uint32_t *pnum_changes,
                         struct notify_change **pchanges);
+NTSTATUS cli_notify(struct cli_state *cli, uint16_t fnum, uint32_t buffer_size,
+                   uint32_t completion_filter, bool recursive,
+                   TALLOC_CTX *mem_ctx, uint32_t *pnum_changes,
+                   struct notify_change **pchanges);
 
 struct tevent_req *cli_nttrans_create_send(TALLOC_CTX *mem_ctx,
-                                          struct event_context *ev,
+                                          struct tevent_context *ev,
                                           struct cli_state *cli,
                                           const char *fname,
                                           uint32_t CreatFlags,
@@ -601,7 +634,9 @@ struct tevent_req *cli_nttrans_create_send(TALLOC_CTX *mem_ctx,
                                           struct security_descriptor *secdesc,
                                           struct ea_struct *eas,
                                           int num_eas);
-NTSTATUS cli_nttrans_create_recv(struct tevent_req *req, uint16_t *fnum);
+NTSTATUS cli_nttrans_create_recv(struct tevent_req *req,
+                       uint16_t *fnum,
+                       struct smb_create_returns *cr);
 NTSTATUS cli_nttrans_create(struct cli_state *cli,
                            const char *fname,
                            uint32_t CreatFlags,
@@ -614,7 +649,8 @@ NTSTATUS cli_nttrans_create(struct cli_state *cli,
                            struct security_descriptor *secdesc,
                            struct ea_struct *eas,
                            int num_eas,
-                           uint16_t *pfid);
+                           uint16_t *pfid,
+                           struct smb_create_returns *cr);
 
 /* The following definitions come from libsmb/clifsinfo.c  */
 
@@ -625,16 +661,16 @@ NTSTATUS cli_unix_extensions_version_recv(struct tevent_req *req,
                                          uint16_t *pmajor, uint16_t *pminor,
                                          uint32_t *pcaplow,
                                          uint32_t *pcaphigh);
-NTSTATUS cli_unix_extensions_version(struct cli_state *cli, uint16 *pmajor,
-                                    uint16 *pminor, uint32 *pcaplow,
-                                    uint32 *pcaphigh);
+NTSTATUS cli_unix_extensions_version(struct cli_state *cli, uint16_t *pmajor,
+                                    uint16_t *pminor, uint32_t *pcaplow,
+                                    uint32_t *pcaphigh);
 struct tevent_req *cli_set_unix_extensions_capabilities_send(
        TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct cli_state *cli,
        uint16_t major, uint16_t minor, uint32_t caplow, uint32_t caphigh);
 NTSTATUS cli_set_unix_extensions_capabilities_recv(struct tevent_req *req);
 NTSTATUS cli_set_unix_extensions_capabilities(struct cli_state *cli,
-                                             uint16 major, uint16 minor,
-                                             uint32 caplow, uint32 caphigh);
+                                             uint16_t major, uint16_t minor,
+                                             uint32_t caplow, uint32_t caphigh);
 struct tevent_req *cli_get_fs_attr_info_send(TALLOC_CTX *mem_ctx,
                                             struct tevent_context *ev,
                                             struct cli_state *cli);
@@ -642,7 +678,7 @@ NTSTATUS cli_get_fs_attr_info_recv(struct tevent_req *req, uint32_t *fs_attr);
 NTSTATUS cli_get_fs_attr_info(struct cli_state *cli, uint32_t *fs_attr);
 NTSTATUS cli_get_fs_volume_info(struct cli_state *cli,
                                TALLOC_CTX *mem_ctx, char **volume_name,
-                               uint32 *pserial_number, time_t *pdate);
+                               uint32_t *pserial_number, time_t *pdate);
 NTSTATUS cli_get_fs_full_size_info(struct cli_state *cli,
                                   uint64_t *total_allocation_units,
                                   uint64_t *caller_allocation_units,
@@ -650,27 +686,39 @@ NTSTATUS cli_get_fs_full_size_info(struct cli_state *cli,
                                   uint64_t *sectors_per_allocation_unit,
                                   uint64_t *bytes_per_sector);
 NTSTATUS cli_get_posix_fs_info(struct cli_state *cli,
-                              uint32 *optimal_transfer_size,
-                              uint32 *block_size,
+                              uint32_t *optimal_transfer_size,
+                              uint32_t *block_size,
                               uint64_t *total_blocks,
                               uint64_t *blocks_available,
                               uint64_t *user_blocks_available,
                               uint64_t *total_file_nodes,
                               uint64_t *free_file_nodes,
                               uint64_t *fs_identifier);
-NTSTATUS cli_raw_ntlm_smb_encryption_start(struct cli_state *cli,
-                               const char *user,
-                               const char *pass,
-                               const char *domain);
-NTSTATUS cli_gss_smb_encryption_start(struct cli_state *cli);
-NTSTATUS cli_force_encryption(struct cli_state *c,
-                       const char *username,
-                       const char *password,
-                       const char *domain);
+struct tevent_req *cli_posix_whoami_send(TALLOC_CTX *mem_ctx,
+                       struct tevent_context *ev,
+                       struct cli_state *cli);
+NTSTATUS cli_posix_whoami_recv(struct tevent_req *req,
+                       TALLOC_CTX *mem_ctx,
+                       uint64_t *puid,
+                       uint64_t *pgid,
+                       uint32_t *pnum_gids,
+                       uint64_t **pgids,
+                       uint32_t *pnum_sids,
+                       struct dom_sid **psids,
+                       bool *pguest);
+NTSTATUS cli_posix_whoami(struct cli_state *cli,
+                       TALLOC_CTX *mem_ctx,
+                       uint64_t *puid,
+                       uint64_t *pgid,
+                       uint32_t *num_gids,
+                       uint64_t **gids,
+                       uint32_t *num_sids,
+                       struct dom_sid **sids,
+                       bool *pguest);
 
 /* The following definitions come from libsmb/clilist.c  */
 
-NTSTATUS cli_list_old(struct cli_state *cli,const char *Mask,uint16 attribute,
+NTSTATUS cli_list_old(struct cli_state *cli,const char *Mask,uint16_t attribute,
                      NTSTATUS (*fn)(const char *, struct file_info *,
                                 const char *, void *), void *state);
 NTSTATUS cli_list_trans(struct cli_state *cli, const char *mask,
@@ -686,7 +734,7 @@ struct tevent_req *cli_list_send(TALLOC_CTX *mem_ctx,
                                 uint16_t info_level);
 NTSTATUS cli_list_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
                       struct file_info **finfo, size_t *num_finfo);
-NTSTATUS cli_list(struct cli_state *cli,const char *Mask,uint16 attribute,
+NTSTATUS cli_list(struct cli_state *cli,const char *Mask,uint16_t attribute,
                  NTSTATUS (*fn)(const char *, struct file_info *, const char *,
                             void *), void *state);
 
@@ -704,7 +752,7 @@ NTSTATUS cli_message(struct cli_state *cli, const char *host,
 /* The following definitions come from libsmb/clioplock.c  */
 
 struct tevent_req *cli_smb_oplock_break_waiter_send(TALLOC_CTX *mem_ctx,
-                                                   struct event_context *ev,
+                                                   struct tevent_context *ev,
                                                    struct cli_state *cli);
 NTSTATUS cli_smb_oplock_break_waiter_recv(struct tevent_req *req,
                                          uint16_t *pfnum,
@@ -726,10 +774,34 @@ int cli_printjob_del(struct cli_state *cli, int job);
 
 NTSTATUS cli_get_quota_handle(struct cli_state *cli, uint16_t *quota_fnum);
 void free_ntquota_list(SMB_NTQUOTA_LIST **qt_list);
+bool parse_user_quota_record(const uint8_t *rdata,
+                            unsigned int rdata_count,
+                            unsigned int *offset,
+                            SMB_NTQUOTA_STRUCT *pqt);
+bool add_record_to_ntquota_list(TALLOC_CTX *mem_ctx,
+                               SMB_NTQUOTA_STRUCT *pqt,
+                               SMB_NTQUOTA_LIST **pqt_list);
+NTSTATUS parse_user_quota_list(const uint8_t *curdata,
+                              uint32_t curdata_size,
+                              TALLOC_CTX *mem_ctx,
+                              SMB_NTQUOTA_LIST **pqt_list);
+NTSTATUS parse_fs_quota_buffer(const uint8_t *rdata,
+                              unsigned int rdata_count,
+                              SMB_NTQUOTA_STRUCT *pqt);
+NTSTATUS build_user_quota_buffer(SMB_NTQUOTA_LIST *qt_list,
+                                uint32_t maxlen,
+                                TALLOC_CTX *mem_ctx,
+                                DATA_BLOB *outbuf,
+                                SMB_NTQUOTA_LIST **end_ptr);
+NTSTATUS build_fs_quota_buffer(TALLOC_CTX *mem_ctx,
+                              const SMB_NTQUOTA_STRUCT *pqt,
+                              DATA_BLOB *blob,
+                              uint32_t maxlen);
 NTSTATUS cli_get_user_quota(struct cli_state *cli, int quota_fnum,
                            SMB_NTQUOTA_STRUCT *pqt);
-NTSTATUS cli_set_user_quota(struct cli_state *cli, int quota_fnum,
-                           SMB_NTQUOTA_STRUCT *pqt);
+NTSTATUS cli_set_user_quota(struct cli_state *cli,
+                           int quota_fnum,
+                           SMB_NTQUOTA_LIST *qtl);
 NTSTATUS cli_list_user_quota(struct cli_state *cli, int quota_fnum,
                             SMB_NTQUOTA_LIST **pqt_list);
 NTSTATUS cli_get_fs_quota_info(struct cli_state *cli, int quota_fnum,
@@ -740,36 +812,36 @@ NTSTATUS cli_set_fs_quota_info(struct cli_state *cli, int quota_fnum,
 /* The following definitions come from libsmb/clireadwrite.c  */
 
 struct tevent_req *cli_read_andx_create(TALLOC_CTX *mem_ctx,
-                                       struct event_context *ev,
+                                       struct tevent_context *ev,
                                        struct cli_state *cli, uint16_t fnum,
                                        off_t offset, size_t size,
                                        struct tevent_req **psmbreq);
 struct tevent_req *cli_read_andx_send(TALLOC_CTX *mem_ctx,
-                                     struct event_context *ev,
+                                     struct tevent_context *ev,
                                      struct cli_state *cli, uint16_t fnum,
                                      off_t offset, size_t size);
 NTSTATUS cli_read_andx_recv(struct tevent_req *req, ssize_t *received,
                            uint8_t **rcvbuf);
 struct tevent_req *cli_pull_send(TALLOC_CTX *mem_ctx,
-                                struct event_context *ev,
+                                struct tevent_context *ev,
                                 struct cli_state *cli,
                                 uint16_t fnum, off_t start_offset,
-                                SMB_OFF_T size, size_t window_size,
+                                off_t size, size_t window_size,
                                 NTSTATUS (*sink)(char *buf, size_t n,
                                                  void *priv),
                                 void *priv);
-NTSTATUS cli_pull_recv(struct tevent_req *req, SMB_OFF_T *received);
+NTSTATUS cli_pull_recv(struct tevent_req *req, off_t *received);
 NTSTATUS cli_pull(struct cli_state *cli, uint16_t fnum,
-                 off_t start_offset, SMB_OFF_T size, size_t window_size,
+                 off_t start_offset, off_t size, size_t window_size,
                  NTSTATUS (*sink)(char *buf, size_t n, void *priv),
-                 void *priv, SMB_OFF_T *received);
+                 void *priv, off_t *received);
 NTSTATUS cli_read(struct cli_state *cli, uint16_t fnum,
                  char *buf, off_t offset, size_t size,
                  size_t *nread);
 NTSTATUS cli_smbwrite(struct cli_state *cli, uint16_t fnum, char *buf,
                      off_t offset, size_t size1, size_t *ptotal);
 struct tevent_req *cli_write_andx_create(TALLOC_CTX *mem_ctx,
-                                        struct event_context *ev,
+                                        struct tevent_context *ev,
                                         struct cli_state *cli, uint16_t fnum,
                                         uint16_t mode, const uint8_t *buf,
                                         off_t offset, size_t size,
@@ -777,7 +849,7 @@ struct tevent_req *cli_write_andx_create(TALLOC_CTX *mem_ctx,
                                         int num_reqs_before,
                                         struct tevent_req **psmbreq);
 struct tevent_req *cli_write_andx_send(TALLOC_CTX *mem_ctx,
-                                      struct event_context *ev,
+                                      struct tevent_context *ev,
                                       struct cli_state *cli, uint16_t fnum,
                                       uint16_t mode, const uint8_t *buf,
                                       off_t offset, size_t size);
@@ -787,7 +859,7 @@ NTSTATUS cli_writeall(struct cli_state *cli, uint16_t fnum, uint16_t mode,
                      const uint8_t *buf, off_t offset, size_t size,
                      size_t *pwritten);
 
-struct tevent_req *cli_push_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
+struct tevent_req *cli_push_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
                                 struct cli_state *cli,
                                 uint16_t fnum, uint16_t mode,
                                 off_t start_offset, size_t window_size,
@@ -800,10 +872,26 @@ NTSTATUS cli_push(struct cli_state *cli, uint16_t fnum, uint16_t mode,
                  size_t (*source)(uint8_t *buf, size_t n, void *priv),
                  void *priv);
 
+NTSTATUS cli_splice(struct cli_state *srccli, struct cli_state *dstcli,
+                   uint16_t src_fnum, uint16_t dst_fnum,
+                   off_t size,
+                   off_t src_offset, off_t dst_offset,
+                   off_t *written,
+                   int (*splice_cb)(off_t n, void *priv), void *priv);
+
 /* The following definitions come from libsmb/clisecdesc.c  */
 
+NTSTATUS cli_query_security_descriptor(struct cli_state *cli,
+                                      uint16_t fnum,
+                                      uint32_t sec_info,
+                                      TALLOC_CTX *mem_ctx,
+                                      struct security_descriptor **sd);
 NTSTATUS cli_query_secdesc(struct cli_state *cli, uint16_t fnum,
                          TALLOC_CTX *mem_ctx, struct security_descriptor **sd);
+NTSTATUS cli_set_security_descriptor(struct cli_state *cli,
+                                    uint16_t fnum,
+                                    uint32_t sec_info,
+                                    const struct security_descriptor *sd);
 NTSTATUS cli_set_secdesc(struct cli_state *cli, uint16_t fnum,
                         const struct security_descriptor *sd);
 
@@ -816,12 +904,16 @@ size_t clistr_pull_talloc(TALLOC_CTX *ctx,
                          const void *src,
                          int src_len,
                          int flags);
+bool clistr_is_previous_version_path(const char *path,
+                       const char **startp,
+                       const char **endp,
+                       time_t *ptime);
 
 /* The following definitions come from libsmb/clitrans.c  */
 
 struct tevent_req *cli_trans_send(
-       TALLOC_CTX *mem_ctx, struct event_context *ev,
-       struct cli_state *cli, uint8_t cmd,
+       TALLOC_CTX *mem_ctx, struct tevent_context *ev,
+       struct cli_state *cli, uint16_t additional_flags2, uint8_t cmd,
        const char *pipe_name, uint16_t fid, uint16_t function, int flags,
        uint16_t *setup, uint8_t num_setup, uint8_t max_setup,
        uint8_t *param, uint32_t num_param, uint32_t max_param,
@@ -846,36 +938,6 @@ NTSTATUS cli_trans(TALLOC_CTX *mem_ctx, struct cli_state *cli,
                   uint8_t **rparam, uint32_t min_rparam, uint32_t *num_rparam,
                   uint8_t **rdata, uint32_t min_rdata, uint32_t *num_rdata);
 
-/* The following definitions come from libsmb/smb_seal.c  */
-
-NTSTATUS get_enc_ctx_num(const uint8_t *buf, uint16 *p_enc_ctx_num);
-bool common_encryption_on(struct smb_trans_enc_state *es);
-NTSTATUS common_ntlm_decrypt_buffer(struct auth_ntlmssp_state *auth_ntlmssp_state, char *buf);
-NTSTATUS common_ntlm_encrypt_buffer(struct auth_ntlmssp_state *auth_ntlmssp_state,
-                               uint16 enc_ctx_num,
-                               char *buf,
-                               char **ppbuf_out);
-NTSTATUS common_encrypt_buffer(struct smb_trans_enc_state *es, char *buffer, char **buf_out);
-NTSTATUS common_decrypt_buffer(struct smb_trans_enc_state *es, char *buf);
-void common_free_encryption_state(struct smb_trans_enc_state **pp_es);
-void common_free_enc_buffer(struct smb_trans_enc_state *es, char *buf);
-bool cli_encryption_on(struct cli_state *cli);
-void cli_free_encryption_context(struct cli_state *cli);
-void cli_free_enc_buffer(struct cli_state *cli, char *buf);
-
-/* The following definitions come from libsmb/clisigning.c  */
-
-bool cli_simple_set_signing(struct cli_state *cli,
-                           const DATA_BLOB user_session_key,
-                           const DATA_BLOB response);
-void cli_calculate_sign_mac(struct cli_state *cli, char *buf, uint32_t *seqnum);
-bool cli_check_sign_mac(struct cli_state *cli, const char *buf, uint32_t seqnum);
-bool client_is_signing_on(struct cli_state *cli);
-bool client_is_signing_allowed(struct cli_state *cli);
-bool client_is_signing_mandatory(struct cli_state *cli);
-bool cli_set_signing_negotiated(struct cli_state *cli,
-                               bool allowed, bool mandatory);
-
 /* The following definitions come from libsmb/reparse_symlink.c  */
 
 bool symlink_reparse_buffer_marshall(