#define _LIBSMB_PROTO_H_
#include "ads.h"
+#include "auth_info.h"
struct smb_trans_enc_state;
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);
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);
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,
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 */
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,
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);
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,
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 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);