diff options
author | Jeremy Allison <jra@samba.org> | 1998-07-30 21:18:57 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-07-30 21:18:57 +0000 |
commit | 7284bb5ca049a682097bb25afcf25d40f1ac5479 (patch) | |
tree | 542affec24b496d6114f465bc65abb73823e367e /source3/include | |
parent | 7d5d83ececdc43f0523b7b231537e230d9686034 (diff) | |
download | samba-7284bb5ca049a682097bb25afcf25d40f1ac5479.tar.gz samba-7284bb5ca049a682097bb25afcf25d40f1ac5479.tar.bz2 samba-7284bb5ca049a682097bb25afcf25d40f1ac5479.zip |
Makefile.in: Moved UBIQX stuff into UTILOBJ.
loadparm.c: Added "ole locking compatibility" option (default "true").
locking.c: Changes to implement union in files_struct.
locking_shm.c: Changes to implement union in files_struct.
nttrans.c: Made opening a directory explicit (we have to).
Added create directory code for nttrans.
reply.c: Changes to implement union in files_struct.
server.c: Changes to implement union in files_struct. Added create directory code.
trans2.c: Changes to implement union in files_struct.
smb.h: Changes to implement union in files_struct.
util.c: Changed linked list code to UNIQX linked list. This will make
the other lists I need to implement for ChangeNotify and blocking
locks easier.
Jeremy.
(This used to be commit 3a5eea850bb256b39cff8ace1e4fb4e0c1f5472b)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 5 | ||||
-rw-r--r-- | source3/include/smb.h | 18 |
2 files changed, 19 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 955d746125..56d72bd339 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1023,6 +1023,7 @@ BOOL lp_bind_interfaces_only(void); BOOL lp_net_wksta_user_logon(void); BOOL lp_unix_password_sync(void); BOOL lp_passwd_chat_debug(void); +BOOL lp_ole_locking_compat(void); int lp_os_level(void); int lp_max_ttl(void); int lp_max_wins_ttl(void); @@ -1804,7 +1805,7 @@ BOOL check_name(char *name,int cnum); void sync_file(int cnum, int fnum); void close_file(int fnum, BOOL normal_close); void close_directory(int fnum); -void open_directory(int fnum,int cnum,char *fname, int *action); +int open_directory(int fnum,int cnum,char *fname, int smb_ofun, int unixmode, int *action); BOOL check_file_sharing(int cnum,char *fname, BOOL rename_op); int check_share_mode( share_mode_entry *share, int deny_mode, char *fname, BOOL fcbopen, int *flags); @@ -2043,7 +2044,7 @@ int read_smb_length(int fd,char *inbuf,int timeout); BOOL receive_smb(int fd,char *buffer, int timeout); BOOL client_receive_smb(int fd,char *buffer, int timeout); BOOL receive_local_message(int fd, char *buffer, int buffer_len, int timeout); -BOOL push_smb_message(char *buf, int msg_len); +BOOL push_oplock_pending_smb_message(char *buf, int msg_len); BOOL receive_message_or_smb(int smbfd, int oplock_fd, char *buffer, int buffer_len, int timeout, BOOL *got_smb); diff --git a/source3/include/smb.h b/source3/include/smb.h index 8d846d4531..115d8ce31b 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -169,6 +169,7 @@ implemented */ #define ERRbaddirectory 267 /* Invalid directory name in a path. */ #define ERROR_EAS_DIDNT_FIT 275 /* Extended attributes didn't fit */ #define ERROR_EAS_NOT_SUPPORTED 282 /* Extended attributes not supported */ +#define ERROR_NOTIFY_ENUM_DIR 1022 /* Buffer too small to return change notify. */ #define ERRunknownipc 2142 @@ -437,10 +438,24 @@ typedef struct int real_open_flags; } file_fd_struct; +/* + * Structure used to keep directory state information around. + * Used in NT change-notify code. + */ + +typedef struct +{ + time_t modify_time; + time_t status_time; +} dir_status_struct; + typedef struct { int cnum; - file_fd_struct *fd_ptr; + union { + file_fd_struct *fd_ptr; + dir_status_struct *dir_ptr; + } f_u; int pos; uint32 size; int mode; @@ -463,7 +478,6 @@ typedef struct char *name; } files_struct; - struct uid_cache { int entries; int list[UID_CACHE_SIZE]; |