1 #ifndef _LIBSMB_INTERNAL_H_
2 #define _LIBSMB_INTERNAL_H_
4 #define SMBC_MAX_NAME 1023
5 #define SMBC_FILE_MODE (S_IFREG | 0444)
6 #define SMBC_DIR_MODE (S_IFDIR | 0555)
9 #include "include/libsmbclient.h"
13 struct cli_state
*cli
;
24 * Keep directory entries in a list
26 struct smbc_dir_list
{
27 struct smbc_dir_list
*next
;
28 struct smbc_dirent
*dirent
;
33 * Structure for open file management
41 struct smbc_dir_list
*dir_list
, *dir_end
, *dir_next
;
42 int dir_type
, dir_error
;
44 SMBCFILE
*next
, *prev
;
48 struct smbc_internal_data
{
51 * Is this handle initialized ?
55 /* dirent pointer location
57 * Leave room for any urlencoded filename and the comment field.
59 * We really should use sizeof(struct smbc_dirent) plus (NAME_MAX * 3)
60 * plus whatever the max length of a comment is, plus a couple of null
61 * terminators (one after the filename, one after the comment).
63 * According to <linux/limits.h>, NAME_MAX is 255. Is it longer
69 * server connection list
79 * Log to standard error instead of the more typical standard output
84 * Support "Create Time" in get/set with the *xattr() functions, if
85 * true. This replaces the dos attribute strings C_TIME, A_TIME and
86 * M_TIME with CHANGE_TIME, ACCESS_TIME and WRITE_TIME, and adds
87 * CREATE_TIME. Default is FALSE, i.e. to use the old-style shorter
88 * names and to not support CREATE time, for backward compatibility.
90 BOOL _full_time_names
;
93 * The share mode of a file being opened. To match POSIX semantics
94 * (and maintain backward compatibility), DENY_NONE is the default.
96 smbc_share_mode _share_mode
;
99 * Authentication function which includes the context. This will be
100 * used if set; otherwise context->callbacks.auth_fn() will be used.
102 smbc_get_auth_data_with_context_fn _auth_fn_with_context
;
105 * An opaque (to this library) user data handle which can be set
106 * and retrieved with smbc_option_set() and smbc_option_get().