--- sockstream.C.old Sat Jan 29 16:47:41 2000 +++ sockstream.C Sun Jan 30 11:28:18 2000 @@ -43,6 +43,7 @@ #include #include +#include EXTERN_C_BEGIN #include @@ -275,8 +276,13 @@ { int len = sa.size (); int soc = -1; +#if (__FreeBSD_version < 400013) while ((soc = ::accept (rep->sock, sa.addr (), &len)) == -1 && errno == EINTR) +#else + while ((soc = ::accept (rep->sock, sa.addr (), (socklen_t *) &len)) == -1 + && errno == EINTR) +#endif errno = 0; if (soc == -1) error ("sockbuf::accept"); @@ -321,8 +327,13 @@ int rval; int sa_len = sa.size (); +#if (__FreeBSD_version < 400013) if ((rval = ::recvfrom (rep->sock, (char*) buf, len, msgf, sa.addr (), &sa_len)) == -1) +#else + if ((rval = ::recvfrom (rep->sock, (char*) buf, len, + msgf, sa.addr (), (socklen_t *) &sa_len)) == -1) +#endif error ("sockbuf::recvfrom"); return (rval==0) ? EOF: rval; } @@ -491,7 +502,11 @@ int sockbuf::getopt (option op, void* buf, int len, level l) const { int rlen = len; +#if (__FreeBSD_version < 400013) if (::getsockopt (rep->sock, l, op, (char*) buf, &rlen) == -1) +#else + if (::getsockopt (rep->sock, l, op, (char*) buf, (socklen_t *) &rlen) == -1) +#endif perror ("sockbuf::getopt"); return rlen; }