--- src/afs/afs_call.c 2001/08/08 00:03:28 1.14 +++ src/afs/afs_call.c 2001/10/03 03:56:24 @@ -935,6 +935,7 @@ long linux_ret=0; long *retval = &linux_ret; long eparm[4]; /* matches AFSCALL_ICL in fstrace.c */ + /* eparm is also used by AFSCALL_CALL in afsd.c */ #else #if defined(UKERNEL) Afs_syscall () @@ -995,7 +996,7 @@ uap->parm1 = parm1; uap->parm2 = parm2; uap->parm3 = parm3; - if (syscall == AFSCALL_ICL) { + if (syscall == AFSCALL_ICL || syscall == AFSCALL_CALL) { AFS_COPYIN((char*)parm4, (char*)eparm, sizeof(eparm), code); uap->parm4 = eparm[0]; uap->parm5 = eparm[1]; --- src/afsd/afsd.c 2001/09/13 23:19:19 1.14 +++ src/afsd/afsd.c 2001/10/03 03:56:25 @@ -1951,6 +1951,16 @@ long param1, param2, param3, param4, param5, param6, param7; { int error; +#ifdef AFS_LINUX20_ENV + long eparm[4]; + + eparm[0] = param4; + eparm[1] = param5; + eparm[2] = param6; + eparm[3] = param7; + + param4 = eparm; +#endif error = syscall(AFS_SYSCALL, AFSCALL_CALL, param1, param2, param3, param4, param5, param6, param7); if (afsd_verbose) printf("SScall(%d, %d)=%d ", AFS_SYSCALL, AFSCALL_CALL, error); --- src/rx/rx_getaddr.c 2001/09/13 23:19:21 1.10 +++ src/rx/rx_getaddr.c 2001/10/03 03:56:25 @@ -303,9 +303,9 @@ ifr.ifr_addr.sa_family=AF_INET; strncpy(ifr.ifr_name, sdl->sdl_data, sdl->sdl_nlen); if (ioctl(s, SIOCGIFMTU, (caddr_t)&ifr) < 0) - mtuBuffer[count]=1500; + mtuBuffer[count]=htonl(1500); else - mtuBuffer[count]=ifr.ifr_mtu; + mtuBuffer[count]=htonl(ifr.ifr_mtu); count++; } addrcount--; @@ -464,14 +464,14 @@ if ( ioctl(s, SIOCGIFMTU, (caddr_t)ifr) < 0) { perror("SIOCGIFMTU"); } else { - mtuBuffer[count] = ifr->ifr_metric; + mtuBuffer[count] = htonl(ifr->ifr_metric); } #endif /* SIOCGIFMTU */ #ifdef SIOCRIPMTU if ( ioctl(s, SIOCRIPMTU, (caddr_t)ifr) < 0) { perror("SIOCRIPMTU"); } else { - mtuBuffer[count] = ifr->ifr_metric; + mtuBuffer[count] = htonl(ifr->ifr_metric); } #endif /* SIOCRIPMTU */