summaryrefslogtreecommitdiff
path: root/source3/include/vfs.h
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-01-10 00:28:09 +0000
committerJeremy Allison <jra@samba.org>2002-01-10 00:28:09 +0000
commit3454945146bdef0108f3a55fb32456cccf15f188 (patch)
treea8f95d74555b8f68edc577d2d0308e0af9186b3d /source3/include/vfs.h
parent3375267106fb0af332a516c6403700acbd1133ab (diff)
downloadsamba-3454945146bdef0108f3a55fb32456cccf15f188.tar.gz
samba-3454945146bdef0108f3a55fb32456cccf15f188.tar.bz2
samba-3454945146bdef0108f3a55fb32456cccf15f188.zip
Getting ready to add UNIX extensions in HEAD also.
Jeremy (This used to be commit 6210d4aa196c944e47076e316980f76ac9c6b02d)
Diffstat (limited to 'source3/include/vfs.h')
-rw-r--r--source3/include/vfs.h53
1 files changed, 28 insertions, 25 deletions
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 5a8451fb14..1856255385 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -39,6 +39,7 @@
* vfs_ops below. JRA.
*/
+/* Changed to version 2 for CIFS UNIX extensions (mknod and link added). JRA. */
#define SMB_VFS_INTERFACE_VERSION 2
/* VFS operations structure */
@@ -49,36 +50,36 @@ struct security_descriptor_info;
struct vfs_ops {
- /* Disk operations */
+ /* Disk operations */
- int (*connect)(struct connection_struct *conn, const char *service, const char *user);
- void (*disconnect)(struct connection_struct *conn);
- SMB_BIG_UINT (*disk_free)(struct connection_struct *conn, const char *path, BOOL small_query, SMB_BIG_UINT *bsize,
- SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize);
+ int (*connect)(struct connection_struct *conn, const char *service, const char *user);
+ void (*disconnect)(struct connection_struct *conn);
+ SMB_BIG_UINT (*disk_free)(struct connection_struct *conn, const char *path, BOOL small_query, SMB_BIG_UINT *bsize,
+ SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize);
- /* Directory operations */
+ /* Directory operations */
- DIR *(*opendir)(struct connection_struct *conn, const char *fname);
- struct dirent *(*readdir)(struct connection_struct *conn, DIR *dirp);
- int (*mkdir)(struct connection_struct *conn, const char *path, mode_t mode);
- int (*rmdir)(struct connection_struct *conn, const char *path);
- int (*closedir)(struct connection_struct *conn, DIR *dir);
+ DIR *(*opendir)(struct connection_struct *conn, const char *fname);
+ struct dirent *(*readdir)(struct connection_struct *conn, DIR *dirp);
+ int (*mkdir)(struct connection_struct *conn, const char *path, mode_t mode);
+ int (*rmdir)(struct connection_struct *conn, const char *path);
+ int (*closedir)(struct connection_struct *conn, DIR *dir);
- /* File operations */
+ /* File operations */
- int (*open)(struct connection_struct *conn, const char *fname, int flags, mode_t mode);
- int (*close)(struct files_struct *fsp, int fd);
- ssize_t (*read)(struct files_struct *fsp, int fd, void *data, size_t n);
- ssize_t (*write)(struct files_struct *fsp, int fd, const void *data, size_t n);
- SMB_OFF_T (*lseek)(struct files_struct *fsp, int filedes, SMB_OFF_T offset, int whence);
- int (*rename)(struct connection_struct *conn, const char *old, const char *new);
- int (*fsync)(struct files_struct *fsp, int fd);
- int (*stat)(struct connection_struct *conn, const char *fname, SMB_STRUCT_STAT *sbuf);
- int (*fstat)(struct files_struct *fsp, int fd, SMB_STRUCT_STAT *sbuf);
- int (*lstat)(struct connection_struct *conn, const char *path, SMB_STRUCT_STAT *sbuf);
- int (*unlink)(struct connection_struct *conn, const char *path);
- int (*chmod)(struct connection_struct *conn, const char *path, mode_t mode);
- int (*fchmod)(struct files_struct *fsp, int fd, mode_t mode);
+ int (*open)(struct connection_struct *conn, const char *fname, int flags, mode_t mode);
+ int (*close)(struct files_struct *fsp, int fd);
+ ssize_t (*read)(struct files_struct *fsp, int fd, void *data, size_t n);
+ ssize_t (*write)(struct files_struct *fsp, int fd, const void *data, size_t n);
+ SMB_OFF_T (*lseek)(struct files_struct *fsp, int filedes, SMB_OFF_T offset, int whence);
+ int (*rename)(struct connection_struct *conn, const char *old, const char *new);
+ int (*fsync)(struct files_struct *fsp, int fd);
+ int (*stat)(struct connection_struct *conn, const char *fname, SMB_STRUCT_STAT *sbuf);
+ int (*fstat)(struct files_struct *fsp, int fd, SMB_STRUCT_STAT *sbuf);
+ int (*lstat)(struct connection_struct *conn, const char *path, SMB_STRUCT_STAT *sbuf);
+ int (*unlink)(struct connection_struct *conn, const char *path);
+ int (*chmod)(struct connection_struct *conn, const char *path, mode_t mode);
+ int (*fchmod)(struct files_struct *fsp, int fd, mode_t mode);
int (*chown)(struct connection_struct *conn, const char *path, uid_t uid, gid_t gid);
int (*fchown)(struct files_struct *fsp, int fd, uid_t uid, gid_t gid);
int (*chdir)(struct connection_struct *conn, const char *path);
@@ -88,6 +89,8 @@ struct vfs_ops {
BOOL (*lock)(struct files_struct *fsp, int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type);
int (*symlink)(struct connection_struct *conn, const char *oldpath, const char *newpath);
int (*readlink)(struct connection_struct *conn, const char *path, char *buf, size_t bufsiz);
+ int (*link)(struct connection_struct *conn, const char *oldpath, const char *newpath);
+ int (*mknod)(struct connection_struct *conn, const char *path, mode_t mode, SMB_DEV_T dev);
/* NT ACL operations. */