{
int fd;
if ( (fd = ::open("/dev/net/tun", O_RDWR)) < 0 )
- throw SystemException(errno);
+ throwErrno();
struct ifreq ifr;
::memset( &ifr, 0, sizeof(ifr));
ifr.ifr_flags = IFF_TAP;
ifr.ifr_flags |= IFF_NO_PI;
interface_name.copy( ifr.ifr_name, IFNAMSIZ);
if (::ioctl(fd, TUNSETIFF, (void *) &ifr) < 0 )
- throw SystemException(errno);
+ throwErrno();
body().fd(fd);
}
return 0;
ssize_t l = ::recv(body().fd(),0,0,MSG_PEEK | MSG_TRUNC);
if (l < 0)
- throw SystemException(errno);
+ throwErrno();
return l;
}