r3642: Extend vfs to add seekdir/telldir/rewinddir. Yes I know I have to
[ira/wip.git] / source3 / smbd / vfs-wrap.c
index 5393dfc75563b64ba6bfca5015ca5123db59e8a1..1444d0e875aed5b89fe67d172931f45fbe3d6fe1 100644 (file)
@@ -93,21 +93,44 @@ DIR *vfswrap_opendir(vfs_handle_struct *handle, connection_struct *conn, const c
        DIR *result;
 
        START_PROFILE(syscall_opendir);
-       result = opendir(fname);
+       result = sys_opendir(fname);
        END_PROFILE(syscall_opendir);
        return result;
 }
 
-struct dirent *vfswrap_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
+SMB_STRUCT_DIRENT *vfswrap_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
 {
        struct dirent *result;
 
        START_PROFILE(syscall_readdir);
-       result = readdir(dirp);
+       result = sys_readdir(dirp);
        END_PROFILE(syscall_readdir);
        return result;
 }
 
+void vfswrap_seekdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp, long offset)
+{
+       START_PROFILE(syscall_seekdir);
+       sys_seekdir(dirp, offset);
+       END_PROFILE(syscall_seekdir);
+}
+
+long vfswrap_telldir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
+{
+       long result;
+       START_PROFILE(syscall_telldir);
+       result = sys_telldir(dirp);
+       END_PROFILE(syscall_telldir);
+       return result;
+}
+
+void vfswrap_rewinddir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
+{
+       START_PROFILE(syscall_rewinddir);
+       sys_rewinddir(dirp);
+       END_PROFILE(syscall_rewinddir);
+}
+
 int vfswrap_mkdir(vfs_handle_struct *handle, connection_struct *conn, const char *path, mode_t mode)
 {
        int result;
@@ -152,7 +175,7 @@ int vfswrap_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *di
        int result;
 
        START_PROFILE(syscall_closedir);
-       result = closedir(dirp);
+       result = sys_closedir(dirp);
        END_PROFILE(syscall_closedir);
        return result;
 }