rem: struct sockaddr *addr, size_t *addrlen)
add: struct sockaddr *addr, int *addrlen)
context: _EXPORT ssize_t recvfrom(int sock, void *buffer, size_t buflen, int flags,             struct sockaddr *addr, size_t *addrlen){	struct msghdr mh;	struct iovec iov;	int rv;		/* XXX - would this be better done as scatter gather? */		mh.msg_name = (caddr_t)addr;	mh.msg_namelen = addrlen ? *addrlen : 0;	mh.msg_flags = flags;	mh.msg_control = NULL;	mh.msg_controllen = 0;	iov.iov_base = buffer;	iov.iov_len = buflen;	mh.msg_iov = &iov;	mh.msg_iovlen = 1;		rv = ioctl(sock, NET_STACK_RECVFROM, &mh, sizeof(mh));	if (rv < 0)		return rv;		if (addrlen)		*addrlen = mh.msg_namelen;		return rv;}