summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-07-30 21:18:57 +0000
committerJeremy Allison <jra@samba.org>1998-07-30 21:18:57 +0000
commit7284bb5ca049a682097bb25afcf25d40f1ac5479 (patch)
tree542affec24b496d6114f465bc65abb73823e367e /source3/include
parent7d5d83ececdc43f0523b7b231537e230d9686034 (diff)
downloadsamba-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.h5
-rw-r--r--source3/include/smb.h18
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];