Author: hselasky
Date: Tue Dec 22 09:55:44 2015
New Revision: 292594
URL: https://svnweb.freebsd.org/changeset/base/292594

Log:
  Make CUSE usable with platforms where the size of "unsigned long" is
  different from the size of a pointer.

Modified:
  head/lib/libcuse/cuse_lib.c
  head/sys/fs/cuse/cuse.c
  head/sys/fs/cuse/cuse_ioctl.h

Modified: head/lib/libcuse/cuse_lib.c
==============================================================================
--- head/lib/libcuse/cuse_lib.c Tue Dec 22 09:41:33 2015        (r292593)
+++ head/lib/libcuse/cuse_lib.c Tue Dec 22 09:55:44 2015        (r292594)
@@ -711,8 +711,8 @@ cuse_copy_out(const void *src, void *use
        if (pe->is_local) {
                memcpy(user_dst, src, len);
        } else {
-               info.local_ptr = (unsigned long)src;
-               info.peer_ptr = (unsigned long)user_dst;
+               info.local_ptr = (uintptr_t)src;
+               info.peer_ptr = (uintptr_t)user_dst;
                info.length = len;
 
                error = ioctl(f_cuse, CUSE_IOCTL_WRITE_DATA, &info);
@@ -744,8 +744,8 @@ cuse_copy_in(const void *user_src, void 
        if (pe->is_local) {
                memcpy(dst, user_src, len);
        } else {
-               info.local_ptr = (unsigned long)dst;
-               info.peer_ptr = (unsigned long)user_src;
+               info.local_ptr = (uintptr_t)dst;
+               info.peer_ptr = (uintptr_t)user_src;
                info.length = len;
 
                error = ioctl(f_cuse, CUSE_IOCTL_READ_DATA, &info);

Modified: head/sys/fs/cuse/cuse.c
==============================================================================
--- head/sys/fs/cuse/cuse.c     Tue Dec 22 09:41:33 2015        (r292593)
+++ head/sys/fs/cuse/cuse.c     Tue Dec 22 09:55:44 2015        (r292594)
@@ -511,7 +511,7 @@ cuse_client_is_closing(struct cuse_clien
 
 static void
 cuse_client_send_command_locked(struct cuse_client_command *pccmd,
-    unsigned long data_ptr, unsigned long arg, int fflags, int ioflag)
+    uintptr_t data_ptr, unsigned long arg, int fflags, int ioflag)
 {
        unsigned long cuse_fflags = 0;
        struct cuse_server *pcs;
@@ -1547,7 +1547,7 @@ cuse_client_read(struct cdev *dev, struc
 
                cuse_lock();
                cuse_client_send_command_locked(pccmd,
-                   (unsigned long)uio->uio_iov->iov_base,
+                   (uintptr_t)uio->uio_iov->iov_base,
                    (unsigned long)(unsigned int)len, pcc->fflags, ioflag);
 
                error = cuse_client_receive_command_locked(pccmd, 0, 0);
@@ -1607,7 +1607,7 @@ cuse_client_write(struct cdev *dev, stru
 
                cuse_lock();
                cuse_client_send_command_locked(pccmd,
-                   (unsigned long)uio->uio_iov->iov_base,
+                   (uintptr_t)uio->uio_iov->iov_base,
                    (unsigned long)(unsigned int)len, pcc->fflags, ioflag);
 
                error = cuse_client_receive_command_locked(pccmd, 0, 0);

Modified: head/sys/fs/cuse/cuse_ioctl.h
==============================================================================
--- head/sys/fs/cuse/cuse_ioctl.h       Tue Dec 22 09:41:33 2015        
(r292593)
+++ head/sys/fs/cuse/cuse_ioctl.h       Tue Dec 22 09:55:44 2015        
(r292594)
@@ -40,8 +40,8 @@
 struct cuse_dev;
 
 struct cuse_data_chunk {
-       unsigned long local_ptr;
-       unsigned long peer_ptr;
+       uintptr_t local_ptr;
+       uintptr_t peer_ptr;
        unsigned long length;
 };
 
@@ -54,7 +54,7 @@ struct cuse_command {
        struct cuse_dev *dev;
        unsigned long fflags;
        uintptr_t per_file_handle;
-       unsigned long data_pointer;
+       uintptr_t data_pointer;
        unsigned long argument;
        unsigned long command;          /* see CUSE_CMD_XXX */
 };
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to