Example #1
0
arg_t _getsockaddrs(void)
{
	struct socket *s = sock_get(fd, NULL);

	if (s == NULL)
		return -1;
	if (type > 1) {
		udata.u_error = EINVAL;
		return -1;
	}
	return sa_put(s, type, uaddr);
}
Example #2
0
arg_t _recvfrom(void)
{
	struct socket *s = sock_get(d, NULL);
	int ret;

	if (s == NULL)
		return -1;
	ret = _read();
	if (ret < 0)
		return ret;
	if (sa_put(s, SADDR_TMP, uaddr))
		return -1;
	return ret;
}
Example #3
0
arg_t _recvfrom(void)
{
	struct socket *s = sock_get(fd, NULL);
	int ret;
	uint16_t flags;

	/* FIXME: will need _read redone for banked syscalls */
	if (s == NULL)
		return -1;

	flags = ugetw(&uaddr->sio_flags);
	if (flags) {
		udata.u_error = EINVAL;
		return -1;
	}

	ret = _read();
	if (ret < 0)
		return ret;
	if (sa_put(s, SADDR_TMP, &uaddr->sio_addr))
		return -1;
	return ret;
}