diff options
Diffstat (limited to 'source3/include/libsmb_internal.h')
-rw-r--r-- | source3/include/libsmb_internal.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h new file mode 100644 index 0000000000..21fe47d4b2 --- /dev/null +++ b/source3/include/libsmb_internal.h @@ -0,0 +1,67 @@ +#ifndef _LIBSMB_INTERNAL_H_ +#define _LIBSMB_INTERNAL_H_ + +#define SMBC_MAX_NAME 1023 +#define SMBC_FILE_MODE (S_IFREG | 0444) +#define SMBC_DIR_MODE (S_IFDIR | 0555) + + +#include "../include/libsmbclient.h" + + +struct _SMBCSRV { + struct cli_state cli; + dev_t dev; + BOOL no_pathinfo2; + int server_fd; + + SMBCSRV *next, *prev; + +}; + +/* + * Keep directory entries in a list + */ +struct smbc_dir_list { + struct smbc_dir_list *next; + struct smbc_dirent *dirent; +}; + + +/* + * Structure for open file management + */ +struct _SMBCFILE { + int cli_fd; + char *fname; + off_t offset; + struct _SMBCSRV *srv; + BOOL file; + struct smbc_dir_list *dir_list, *dir_end, *dir_next; + int dir_type, dir_error; + + SMBCFILE *next, *prev; +}; + + +struct smbc_internal_data { + + /** INTERNAL: is this handle initialized ? + */ + int _initialized; + + /** INTERNAL: dirent pointer location + */ + char _dirent[512]; + + /** INTERNAL: server connection list + */ + SMBCSRV * _servers; + + /** INTERNAL: open file/dir list + */ + SMBCFILE * _files; +}; + + +#endif |