aix-prototype-fixes-20081215
authorDerrick Brashear <shadow@dementia.org>
Mon, 15 Dec 2008 19:12:04 +0000 (19:12 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 15 Dec 2008 19:12:04 +0000 (19:12 +0000)
LICENSE IPL10

make the prototyping changes work on aix

src/afs/AIX/osi_inode.c
src/afs/afs_syscall.c
src/rx/rx_kcommon.c
src/rx/rx_prototypes.h

index e8a4cbb..d72e42b 100644 (file)
@@ -72,8 +72,8 @@ extern Simple_lock jfs_icache_lock;
 #define IWRITE_UNLOCK(ip)       simple_unlock(&((ip)->afs_inode_lock))
 
 #define        SYSENT(name, arglist, decls)                    \
-name arglist                                           \
-decls {                                                        \
+name decls                                             \
+{                                                      \
        lock_t lockt;                                   \
        int rval1 = 0;                                  \
        label_t jmpbuf;                                 \
@@ -95,8 +95,7 @@ decls {                                                       \
                                                        \
        return(getuerror() ? -1 : rval1);               \
 }                                                      \
-afs_syscall_ ## name arglist                           \
-decls                                                  \
+afs_syscall_ ## name decls                             \
 
 
 /*
@@ -257,7 +256,7 @@ igetinode(dev, vfsp, inode, vpp, perror)
 #define INODESPECIAL   0xffffffff      /* ... from ../vol/viceonode.h  */
 #endif
 
-SYSENT(icreate, (dev, near_inode, param1, param2, param3, param4),)
+SYSENT(icreate, (dev, near_inode, param1, param2, param3, param4), (long dev, long near_inode, long param1, long param2, long param3, long param4))
 {
     struct inode *ip, *newip, *pip;
     register int err, rval1, rc = 0;
@@ -320,7 +319,7 @@ SYSENT(icreate, (dev, near_inode, param1, param2, param3, param4),)
     return getuerror()? -1 : rval1;
 }
 
-SYSENT(iopen, (dev, inode, usrmod),)
+SYSENT(iopen, (dev, inode, usrmod),(int dev, int inode, int usrmod))
 {
     struct file *fp;
     register struct inode *ip;
@@ -388,7 +387,7 @@ idec(dev, inode, inode_p1)
 }
 
 
-SYSENT(iincdec, (dev, inode, inode_p1, amount),)
+SYSENT(iincdec, (dev, inode, inode_p1, amount),(int dev, int inode, int inode_p1, int amount))
 {
     register struct inode *ip;
     char error;
index 91cb82c..0d0efbb 100644 (file)
@@ -630,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) {
index ba14d02..72c8dba 100644 (file)
@@ -126,14 +126,24 @@ rxi_GetUDPSocket(u_short port)
 
 #if !defined(AFS_LINUX26_ENV)
 void
+#ifdef AFS_AIX_ENV
+osi_Panic(char *msg, void *a1, void *a2, void *a3)
+#else
 osi_Panic(char *msg, ...)
+#endif
 {
+#ifdef AFS_AIX_ENV
+    if (!msg)
+        msg = "Unknown AFS panic";
+    printf(msg, a1, a2, a3);
+#else
     va_list ap;
     if (!msg)
        msg = "Unknown AFS panic";
 
     va_start(ap, msg);
     vprintf(msg, ap);
+#endif
 #ifdef AFS_LINUX20_ENV
     * ((char *) 0) = 0; 
 #else
index 97c57bd..5fc88d8 100644 (file)
@@ -362,8 +362,12 @@ extern osi_socket rxi_GetHostUDPSocket(u_int host, u_short port);
 #define osi_Assert(expr) \
     do { if (!(expr)) { osi_AssertFailK(#expr, __FILE__, __LINE__); BUG(); } } while (0)
 #else
+#if defined(KERNEL) && defined(AFS_AIX_ENV)
+extern void osi_Panic(char *fmt, void *a1, void *a2, void *a3);
+#else
 extern void osi_Panic(char *fmt, ...);
 #endif
+#endif
 extern int osi_utoa(char *buf, size_t len, unsigned long val);
 extern void rxi_InitPeerParams(register struct rx_peer *pp);
 extern void shutdown_rxkernel(void);