summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-08-22 18:03:08 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:01:11 -0500
commitf98f86394a654722fa13ef1dc3c4dea82d452442 (patch)
tree255d3d15ada5c22112e8f8824bf5a4f5a89fb496 /source3/include
parent47e519e23875499ef5c0ce18ec5cb4d5ef3c3257 (diff)
downloadsamba-f98f86394a654722fa13ef1dc3c4dea82d452442.tar.gz
samba-f98f86394a654722fa13ef1dc3c4dea82d452442.tar.bz2
samba-f98f86394a654722fa13ef1dc3c4dea82d452442.zip
r9483: Changed DIR to SMB_STRUCT_DIR because of the amazing stupidity of a UNIX vendor
not understanding abstract data types :-(. Jeremy. (This used to be commit be5b4e2fa3ed30b0ff01b47d2354e5f782a12e25)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/includes.h12
-rw-r--r--source3/include/vfs.h15
2 files changed, 20 insertions, 7 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 6cab2525b0..c9208d2b25 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -744,6 +744,18 @@ typedef int socklen_t;
#endif
/*
+ * Type for DIR structure.
+ */
+
+#ifndef SMB_STRUCT_DIR
+# if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_STRUCT_DIR64)
+# define SMB_STRUCT_DIR DIR64
+# else
+# define SMB_STRUCT_DIR DIR
+# endif
+#endif
+
+/*
* Defines for 64 bit fcntl locks.
*/
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index c7c7575d90..3bd0fda9a4 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -59,7 +59,8 @@
/* Changed to version 12 to add mask and attributes to opendir(). JRA
Also include aio calls. JRA. */
/* Changed to version 13 as the internal structure of files_struct has changed. JRA */
-#define SMB_VFS_INTERFACE_VERSION 13
+/* Changed to version 14 as the we had to change DIR to SMB_STRUCT_DIR. JRA */
+#define SMB_VFS_INTERFACE_VERSION 14
/* to bug old modules which are trying to compile with the old functions */
@@ -224,14 +225,14 @@ struct vfs_ops {
/* Directory operations */
- DIR *(*opendir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, const char *mask, uint32 attributes);
- SMB_STRUCT_DIRENT *(*readdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp);
- void (*seekdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp, long offset);
- long (*telldir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp);
- void (*rewind_dir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp);
+ SMB_STRUCT_DIR *(*opendir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, const char *mask, uint32 attributes);
+ SMB_STRUCT_DIRENT *(*readdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp);
+ void (*seekdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp, long offset);
+ long (*telldir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp);
+ void (*rewind_dir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp);
int (*mkdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, mode_t mode);
int (*rmdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path);
- int (*closedir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dir);
+ int (*closedir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dir);
/* File operations */