r23792: convert Samba4 to GPLv3
[samba.git] / source4 / ntvfs / posix / pvfs_seek.c
index c4dd30bd85c5bc4f3a418da829aa30221d1fc479..3ea8b7cb6ecbf95d139b05fa941cc78715c43dcd 100644 (file)
@@ -7,7 +7,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
@@ -16,8 +16,7 @@
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "includes.h"
   seek in a file
 */
 NTSTATUS pvfs_seek(struct ntvfs_module_context *ntvfs,
-                  struct smbsrv_request *req, struct smb_seek *io)
+                  struct ntvfs_request *req,
+                  union smb_seek *io)
 {
        struct pvfs_state *pvfs = ntvfs->private_data;
        struct pvfs_file *f;
        struct pvfs_file_handle *h;
        NTSTATUS status;
 
-       f = pvfs_find_fd(pvfs, req, io->in.fnum);
+       f = pvfs_find_fd(pvfs, req, io->lseek.in.file.ntvfs);
        if (!f) {
                return NT_STATUS_INVALID_HANDLE;
        }
@@ -42,22 +42,22 @@ NTSTATUS pvfs_seek(struct ntvfs_module_context *ntvfs,
 
        status = NT_STATUS_OK;
 
-       switch (io->in.mode) {
+       switch (io->lseek.in.mode) {
        case SEEK_MODE_START:
-               h->seek_offset = io->in.offset;
+               h->seek_offset = io->lseek.in.offset;
                break;
 
        case SEEK_MODE_CURRENT:
-               h->seek_offset += io->in.offset;
+               h->seek_offset += io->lseek.in.offset;
                break;
 
        case SEEK_MODE_END:
                status = pvfs_resolve_name_fd(pvfs, h->fd, h->name);
-               h->seek_offset = h->name->st.st_size + io->in.offset;
+               h->seek_offset = h->name->st.st_size + io->lseek.in.offset;
                break;
        }
 
-       io->out.offset = h->seek_offset;
+       io->lseek.out.offset = h->seek_offset;
 
        return status;
 }