s3:libsmb: get rid of cli_state_disconnect
[obnox/samba/samba-obnox.git] / source3 / libsmb / proto.h
index e03d721ef25b4652d2a14f099cbccea8a25a4bee..a584a6376343489119eeb0dee6c88ab46dedd802 100644 (file)
@@ -27,6 +27,7 @@
 #define _LIBSMB_PROTO_H_
 
 #include "ads.h"
+#include "auth_info.h"
 
 struct smb_trans_enc_state;
 
@@ -155,6 +156,7 @@ bool cli_check_msdfs_proxy(TALLOC_CTX *ctx,
 
 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);
+bool cli_set_backup_intent(struct cli_state *cli, bool flag);
 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);
@@ -166,16 +168,10 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx,
                                   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);
 bool cli_state_has_tcon(struct cli_state *cli);
@@ -184,14 +180,7 @@ uint16_t cli_state_set_tid(struct cli_state *cli, uint16_t tid);
 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 cli_state *cli, uint16_t num_echos,
@@ -218,7 +207,6 @@ 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  */
 
@@ -386,15 +374,16 @@ uint8_t *trans2_bytes_push_str(uint8_t *buf, bool ucs2,
                               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 tevent_req *cli_openx_create(TALLOC_CTX *mem_ctx,
                                   struct event_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 event_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,
@@ -462,14 +451,14 @@ struct tevent_req *cli_getattrE_send(TALLOC_CTX *mem_ctx,
                                 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);
@@ -492,12 +481,12 @@ struct tevent_req *cli_getatr_send(TALLOC_CTX *mem_ctx,
                                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,
@@ -590,6 +579,10 @@ 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,
@@ -758,15 +751,15 @@ struct tevent_req *cli_pull_send(TALLOC_CTX *mem_ctx,
                                 struct event_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);