#include <sys/fp_io.h>
#endif
-#if defined(AFS_XBSD_ENV)
-#include <crypto/md5.h>
-#endif
-
afs_int32 afs_new_inum = 0;
#ifndef afs_cv2string
return ip.i32[i32_sub];
}
-#if defined(AFS_XBSD_ENV)
-
-#define afs_md5 MD5Context
-#define AFS_MD5_Init(m) MD5Init((m))
-#define AFS_MD5_Update(m, p, l) MD5Update((m), (void *)(p), (l))
-#define AFS_MD5_Final(r, m) MD5Final((r), (m))
-
-#else
+#ifdef AFS_LINUX20_ENV
struct afs_md5 {
unsigned int sz[2];
}
}
}
-#endif
afs_int32 afs_calc_inum (afs_int32 volume, afs_int32 vnode)
{
}
return ino;
}
+
+#else
+
+afs_int32 afs_calc_inum (afs_int32 volume, afs_int32 vnode)
+{
+ return (volume << 16) + vnode;
+}
+
+#endif
#ifdef RXK_LISTENER_ENV
int
-osi_NetReceive(osi_socket asocket, struct sockaddr_in *addr,
+osi_NetReceive(osi_socket asocket, struct sockaddr_storage *saddr, int *slen,
struct iovec *dvec, int nvecs, int *alength)
{
struct uio u;
*alength -= u.uio_resid;
if (sa) {
if (sa->sa_family == AF_INET) {
- if (addr)
- *addr = *(struct sockaddr_in *)sa;
+ if (saddr) {
+ memcpy(saddr, sa, sa->sa_len);
+ *slen = sa->sa_len;
+ }
} else
printf("Unknown socket family %d in NetReceive\n", sa->sa_family);
FREE(sa, M_SONAME);
}
int
-osi_NetSend(osi_socket asocket, struct sockaddr_in *addr, struct iovec *dvec,
- int nvecs, afs_int32 alength, int istack)
+osi_NetSend(osi_socket asocket, struct sockaddr_storage *saddr, int salen,
+ struct iovec *dvec, int nvecs, afs_int32 alength, int istack)
{
register afs_int32 code;
int i;
u.uio_procp = NULL;
#endif
- addr->sin_len = sizeof(struct sockaddr_in);
+ saddr->ss_len = saddr->ss_family == AF_INET6 ?
+ sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in);
if (haveGlock)
AFS_GUNLOCK();
#endif
#ifdef AFS_FBSD50_ENV
code =
- sosend(asocket, (struct sockaddr *)addr, &u, NULL, NULL, 0,
+ sosend(asocket, (struct sockaddr *)saddr, &u, NULL, NULL, 0,
curthread);
#else
code =
- sosend(asocket, (struct sockaddr *)addr, &u, NULL, NULL, 0, curproc);
+ sosend(asocket, (struct sockaddr *)saddr, &u, NULL, NULL, 0, curproc);
#endif
#if KNET_DEBUG
if (code) {