#define _LIBSMB_INTERNAL_H_
#include "../include/libsmbclient.h"
+#include "libsmb/clirap.h"
#define SMBC_MAX_NAME 1023
#define SMBC_FILE_MODE (S_IFREG | 0444)
bool no_pathinfo;
bool no_pathinfo2;
bool no_nt_session;
- POLICY_HND pol;
+ struct policy_handle pol;
SMBCSRV *next, *prev;
/* True when this handle is initialized */
bool initialized;
- /* dirent pointer location
- *
+ /* dirent pointer location */
+ struct smbc_dirent dirent;
+ /*
* Leave room for any urlencoded filename and the comment field.
*
- * We really should use sizeof(struct smbc_dirent) plus (NAME_MAX * 3)
- * plus whatever the max length of a comment is, plus a couple of null
- * terminators (one after the filename, one after the comment).
+ * We use (NAME_MAX * 3) plus whatever the max length of a comment is,
+ * plus a couple of null terminators (one after the filename,
+ * one after the comment).
*
* According to <linux/limits.h>, NAME_MAX is 255. Is it longer
* anyplace else?
*/
- char dirent[1024];
+ char _dirent_name[1024];
/*
* server connection list
*/
SMBCFILE * files;
- /*
- * Log to standard error instead of the more typical standard output
- */
- bool debug_stderr;
-
/*
* Support "Create Time" in get/set with the *xattr() functions, if
* true. This replaces the dos attribute strings C_TIME, A_TIME and
*/
smbc_smb_encrypt_level smb_encryption_level;
+ /*
+ * Should we request case sensitivity of file names?
+ */
+ bool case_sensitive;
+
+ /*
+ * Auth info needed for DFS traversal.
+ */
+
+ struct user_auth_info *auth_info;
+
struct smbc_server_cache * server_cache;
/* POSIX emulation functions */
smbc_stat_fn stat_fn;
smbc_fstat_fn fstat_fn;
#endif
+ smbc_statvfs_fn statvfs_fn;
+ smbc_fstatvfs_fn fstatvfs_fn;
smbc_ftruncate_fn ftruncate_fn;
#if 0 /* Left in libsmbclient.h for backward compatibility */
smbc_close_fn close_fn;
ssize_t
SMBC_write_ctx(SMBCCTX *context,
SMBCFILE *file,
- void *buf,
+ const void *buf,
size_t count);
int
bool
SMBC_getatr(SMBCCTX * context,
SMBCSRV *srv,
- char *path,
+ const char *path,
uint16 *mode,
SMB_OFF_T *size,
struct timespec *create_time_ts,
/* Functions in libsmb_path.c */
-int
-SMBC_urldecode(char *dest,
- char *src,
- size_t max_dest_len);
-
-int
-SMBC_urlencode(char *dest,
- char *src,
- int max_dest_len);
-
int
SMBC_parse_path(TALLOC_CTX *ctx,
SMBCCTX *context,
struct stat *st);
+int
+SMBC_statvfs_ctx(SMBCCTX *context,
+ char *path,
+ struct statvfs *st);
+
+
+int
+SMBC_fstatvfs_ctx(SMBCCTX *context,
+ SMBCFILE *file,
+ struct statvfs *st);
+
+
/* Functions in libsmb_xattr.c */
int
SMBC_setxattr_ctx(SMBCCTX *context,