2002-11-04 05:01:48 +03:00
# 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)
2004-10-07 08:01:18 +04:00
# include "include/libsmbclient.h"
2002-11-04 05:01:48 +03:00
struct _SMBCSRV {
struct cli_state cli ;
dev_t dev ;
2005-06-02 00:17:16 +04:00
BOOL no_pathinfo ;
2002-11-04 05:01:48 +03:00
BOOL no_pathinfo2 ;
2005-03-11 02:41:19 +03:00
BOOL no_nt_session ;
2002-11-04 05:01:48 +03:00
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 ;
2005-03-23 00:17:01 +03:00
SMB_OFF_T offset ;
2002-11-04 05:01:48 +03:00
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 ;
2005-03-11 02:41:19 +03:00
/** INTERNAL: dirent pointer location
*
* 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 ) .
*
* According to < linux / limits . h > , NAME_MAX is 255. Is it longer
* anyplace else ?
*/
char _dirent [ 1024 ] ;
2002-11-04 05:01:48 +03:00
/** INTERNAL: server connection list
*/
SMBCSRV * _servers ;
/** INTERNAL: open file/dir list
*/
SMBCFILE * _files ;
} ;
# endif