summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-09-17 23:06:57 +0000
committerJeremy Allison <jra@samba.org>1998-09-17 23:06:57 +0000
commitb8b67f4fab4a6fd686c5796c2701882197a7bd9d (patch)
tree3f465f69a283a44e5c8414a3326f53caea4664d0 /source3/include
parentac9b687cc2496409e1c8d86393812faf94ec7550 (diff)
downloadsamba-b8b67f4fab4a6fd686c5796c2701882197a7bd9d.tar.gz
samba-b8b67f4fab4a6fd686c5796c2701882197a7bd9d.tar.bz2
samba-b8b67f4fab4a6fd686c5796c2701882197a7bd9d.zip
configure configure.in: Added checks for statvfs64. Last bit of 64 bit widening (I hope :-).
include/config.h.in: Added #undef STAT_STATVFS64. include/includes.h: Added SMB_STRUCT_STATVFS type, Changed SMB_BIG_INTEGER to SMB_BIG_UINT and SMB_BIG_INT types. include/smb.h: Added flag defines from CIFS spec. lib/debug.c: Fixed one more mode_t issue. lib/system.c: Added sys_statvfs wrapper. lib/util.c: Changed trim_string to use size_t. param/loadparm.c: Moved "blocking locks" into locking section. Alphabetised locking options. Question - shuld we do this for all options ? passdb/ldap.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT. passdb/nispass.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT. passdb/smbpass.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT. smbd/dfree.c: Changed to use 64 bit types if available. Moved to use unsigned types. smbd/dosmode.c: Fixed one more mode_t issue. smbd/negprot.c: Changed literals to be FLAG_ #defines. smbd/nttrans.c: Removed dead code. smbd/open.c: Changed disk_free call. smbd/process.c: Changed literals to be FLAG_ #defines. smbd/reply.c: Changed disk_free call. smbd/trans2.c: Fixed but in SMB_QUERY_FS_VOLUME_INFO call. Was using UNICODE - should use ascii. tests/summary.c: Added STAT_STATVFS64 check. Jeremy. (This used to be commit c512b1b91fb7f2a7a93b9033a33e06d966daadb4)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/config.h.in1
-rw-r--r--source3/include/includes.h18
-rw-r--r--source3/include/proto.h4
-rw-r--r--source3/include/smb.h18
4 files changed, 33 insertions, 8 deletions
diff --git a/source3/include/config.h.in b/source3/include/config.h.in
index 2934d438dc..4e4127e448 100644
--- a/source3/include/config.h.in
+++ b/source3/include/config.h.in
@@ -95,6 +95,7 @@
#undef STAT_STATFS3_OSF1
#undef STAT_STATFS4
#undef STAT_STATVFS
+#undef STAT_STATVFS64
#undef HAVE_NETMASK_IFREQ
#undef HAVE_NETMASK_AIX
#undef HAVE_CRYPT
diff --git a/source3/include/includes.h b/source3/include/includes.h
index d8da84bd4e..788e4485ab 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -375,6 +375,18 @@
#endif
/*
+ * Type for statvfs structure.
+ */
+
+#ifndef SMB_STRUCT_STATVFS
+# if defined(STAT_STATVFS64)
+# define SMB_STRUCT_STATVFS struct statvfs64
+# else
+# define SMB_STRUCT_STATVFS struct statvfs
+# endif
+#endif
+
+/*
* Defines for 64 bit fcntl locks.
*/
@@ -411,9 +423,11 @@
#endif
#if defined(HAVE_LONGLONG)
-#define SMB_BIG_INTEGER unsigned long long
+#define SMB_BIG_UINT unsigned long long
+#define SMB_BIG_INT long long
#else
-#define SMB_BIG_INTEGER unsigned long
+#define SMB_BIG_UINT unsigned long
+#define SMB_BIG_INT long
#endif
#ifndef MIN
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 6ddc92824d..8b063bcfd9 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -158,6 +158,7 @@ int sys_select(int maxfd, fd_set *fds,struct timeval *tval);
int sys_stat(char *fname,SMB_STRUCT_STAT *sbuf);
int sys_fstat(int fd,SMB_STRUCT_STAT *sbuf);
int sys_lstat(char *fname,SMB_STRUCT_STAT *sbuf);
+int sys_statvfs( const char *path, SMB_STRUCT_STATVFS *fsd);
int sys_ftruncate(int fd, SMB_OFF_T offset);
SMB_OFF_T sys_lseek(int fd, SMB_OFF_T offset, int whence);
int sys_fseek(FILE *fp, SMB_OFF_T offset, int whence);
@@ -1669,7 +1670,6 @@ BOOL claim_connection(connection_struct *conn,char *name,int max_connections,BOO
/*The following definitions come from smbd/dfree.c */
-int sys_disk_free(char *path,int *bsize,int *dfree,int *dsize);
/*The following definitions come from smbd/dir.c */
@@ -1796,7 +1796,7 @@ uint16 fd_attempt_close(file_fd_struct *fd_ptr);
void open_file_shared(files_struct *fsp,connection_struct *conn,char *fname,int share_mode,int ofun,
mode_t mode,int oplock_request, int *Access,int *action);
int open_directory(files_struct *fsp,connection_struct *conn,
- char *fname, int smb_ofun, int unixmode, int *action);
+ char *fname, int smb_ofun, mode_t unixmode, int *action);
BOOL check_file_sharing(connection_struct *conn,char *fname, BOOL rename_op);
/*The following definitions come from smbd/oplock.c */
diff --git a/source3/include/smb.h b/source3/include/smb.h
index aa963f9163..de482de6d6 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -708,8 +708,8 @@ struct passdb_ops {
*/
void *(*startsmbpwent)(BOOL);
void (*endsmbpwent)(void *);
- SMB_BIG_INTEGER (*getsmbpwpos)(void *);
- BOOL (*setsmbpwpos)(void *, SMB_BIG_INTEGER);
+ SMB_BIG_UINT (*getsmbpwpos)(void *);
+ BOOL (*setsmbpwpos)(void *, SMB_BIG_UINT);
/*
* smb password database query functions.
@@ -925,6 +925,15 @@ struct bitmap {
#define smb_vwv16 69
#define smb_vwv17 71
+/* flag defines. CIFS spec 3.1.1 */
+#define FLAG_SUPPORT_LOCKREAD 0x01
+#define FLAG_CLIENT_BUF_AVAIL 0x02
+#define FLAG_RESERVED 0x04
+#define FLAG_CASELESS_PATHNAMES 0x08
+#define FLAG_CANONICAL_PATHNAMES 0x10
+#define FLAG_REQUEST_OPLOCK 0x20
+#define FLAG_REQUEST_BATCH_OPLOCK 0x40
+#define FLAG_REPLY 0x80
/* the complete */
#define SMBmkdir 0x00 /* create directory */
@@ -1115,7 +1124,7 @@ struct bitmap {
/* these are for the NT create_and_X */
#define smb_ntcreate_NameLength (smb_vwv0 + 5)
#define smb_ntcreate_Flags (smb_vwv0 + 7)
-#define smb_ntcreate_RootDirectoryFid (smb_wvw0 + 11)
+#define smb_ntcreate_RootDirectoryFid (smb_vwv0 + 11)
#define smb_ntcreate_DesiredAccess (smb_vwv0 + 15)
#define smb_ntcreate_AllocationSize (smb_vwv0 + 19)
#define smb_ntcreate_FileAttributes (smb_vwv0 + 27)
@@ -1494,7 +1503,8 @@ extern int unix_ERR_code;
/*
* Core protocol.
*/
-#define CORE_OPLOCK_REQUEST(inbuf) ((CVAL(inbuf,smb_flg)&((1<<5)|(1<<6)))>>5)
+#define CORE_OPLOCK_REQUEST(inbuf) \
+ ((CVAL(inbuf,smb_flg)&(FLAG_REQUEST_OPLOCK|FLAG_REQUEST_BATCH_OPLOCK))>>5)
/*
* Extended protocol.