Use an anonymous pointer for lpioctl
[openafs.git] / src / afs / afs_syscall.c
index 32ba47e..de3877d 100644 (file)
@@ -10,8 +10,6 @@
 #include <afsconfig.h>
 #include "afs/param.h"
 
-RCSID
-    ("$Header$");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -100,7 +98,7 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst)
 
 #ifdef AFS_SPARC64_LINUX26_ENV
     if (test_thread_flag(TIF_32BIT))
-#elif AFS_SPARC64_LINUX24_ENV
+#elif defined(AFS_SPARC64_LINUX24_ENV)
     if (current->thread.flags & SPARC_FLAG_32BIT)
 #elif defined(AFS_SPARC64_LINUX20_ENV)
     if (current->tss.flags & SPARC_FLAG_32BIT)
@@ -111,7 +109,11 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst)
     if (current->thread.flags & THREAD_IA32)
 
 #elif defined(AFS_PPC64_LINUX26_ENV)
-    if (current->thread_info->flags & _TIF_32BIT)
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
+    if (current->thread_info->flags & _TIF_32BIT) 
+#else
+    if (task_thread_info(current)->flags & _TIF_32BIT) 
+#endif      
 #elif defined(AFS_PPC64_LINUX20_ENV)
     if (current->thread.flags & PPC_FLAG_32BIT)
 
@@ -219,7 +221,8 @@ syscall(syscall, p1, p2, p3, p4, p5, p6)
 /*
  * lsetpag -   interface to afs_setpag().
  */
-lsetpag()
+int
+lsetpag(void)
 {
 
     AFS_STATCNT(lsetpag);
@@ -229,8 +232,8 @@ lsetpag()
 /*
  * lpioctl -   interface to pioctl()
  */
-lpioctl(path, cmd, cmarg, follow)
-     char *path, *cmarg;
+int
+lpioctl(char *path, int cmd, void *cmarg, int follow)
 {
 
     AFS_STATCNT(lpioctl);
@@ -367,7 +370,7 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst)
 
 #ifdef AFS_SPARC64_LINUX26_ENV
     if (test_thread_flag(TIF_32BIT))
-#elif AFS_SPARC64_LINUX24_ENV
+#elif defined(AFS_SPARC64_LINUX24_ENV)
     if (current->thread.flags & SPARC_FLAG_32BIT)
 #elif defined(AFS_SPARC64_LINUX20_ENV)
     if (current->tss.flags & SPARC_FLAG_32BIT)
@@ -378,7 +381,11 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst)
     if (current->thread.flags & THREAD_IA32)
 
 #elif defined(AFS_PPC64_LINUX26_ENV)
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
     if (current->thread_info->flags & _TIF_32BIT) 
+#else
+    if (task_thread_info(current)->flags & _TIF_32BIT) 
+#endif      
 #elif defined(AFS_PPC64_LINUX20_ENV)
     if (current->thread.flags & PPC_FLAG_32BIT) 
 
@@ -482,6 +489,7 @@ afs_syscall(long syscall, long parm1, long parm2, long parm3, long parm4)
     /* eparm is also used by AFSCALL_CALL in afsd.c */
 #else
 #if defined(UKERNEL)
+int
 Afs_syscall()
 {
     register struct a {
@@ -622,8 +630,8 @@ Afs_syscall()
                               p->p_cred->pc_ucred);
 #else
        code =
-           afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3,
-                              uap->parm4);
+           afs_syscall_pioctl((char *)uap->parm1, (unsigned int)uap->parm2, (caddr_t)uap->parm3,
+                              (int) uap->parm4);
 #endif
        AFS_GUNLOCK();
     } else if (uap->syscall == AFSCALL_ICREATE) {
@@ -705,7 +713,8 @@ Afs_syscall()
     }
 
 #if defined(AFS_DARWIN80_ENV)
-    put_vfs_context();
+    if (uap->syscall != AFSCALL_CALL)
+       put_vfs_context();
 #endif
 #ifdef AFS_LINUX20_ENV
     code = -code;