EXT
if (EXT(statp).ext == NULL)
if (statp->nscount == 0 || EXT(statp).ext == NULL) {
if (EXT(statp).nscount != 0) {
if (EXT(statp).nscount != statp->nscount)
(struct sockaddr *)&EXT(statp).ext->nsaddrs[ns])) {
if (EXT(statp).nssocks[ns] == -1)
if (getsockname(EXT(statp).nssocks[ns],
if (_getsockname(EXT(statp).nssocks[ns],
EXT(statp).nscount = 0;
if (EXT(statp).nscount == 0) {
EXT(statp).nstimes[ns] = RES_MAXTIME;
EXT(statp).nssocks[ns] = -1;
EXT(statp).ext->nsaddrs[ns].sin =
EXT(statp).nscount = statp->nscount;
if (EXT(statp).ext != NULL)
inu = EXT(statp).ext->nsaddrs[0];
fd = EXT(statp).nssocks[0];
nstime = EXT(statp).nstimes[0];
if (EXT(statp).ext != NULL)
EXT(statp).ext->nsaddrs[ns] =
EXT(statp).ext->nsaddrs[ns + 1];
EXT(statp).nssocks[ns] = EXT(statp).nssocks[ns + 1];
EXT(statp).nstimes[ns] = EXT(statp).nstimes[ns + 1];
if (EXT(statp).ext != NULL)
EXT(statp).ext->nsaddrs[lastns] = inu;
EXT(statp).nssocks[lastns] = fd;
EXT(statp).nstimes[lastns] = nstime;
if (!statp->nsaddr_list[n].sin_family && EXT(statp).ext) {
return (struct sockaddr *)(void *)&EXT(statp).ext->nsaddrs[n];
if (EXT(statp).nssocks[ns] == -1) {
EXT(statp).nssocks[ns] = socket(nsap->sa_family, SOCK_DGRAM, 0);
EXT(statp).nssocks[ns] = _socket(nsap->sa_family, SOCK_DGRAM, 0);
if (EXT(statp).nssocks[ns] > highestFD) {
if (EXT(statp).nssocks[ns] < 0) {
connect(EXT(statp).nssocks[ns], nsap, nsaplen) < 0) {
_connect(EXT(statp).nssocks[ns], nsap, nsaplen) < 0) {
s = EXT(statp).nssocks[ns];
OUTB (nc_stest2, np->rv_stest2|EXT); /* Extended Sreq/Sack filtering */
if (period_10ns <= 2000) OUTOFFB (nc_stest2, EXT);
OUTB (nc_stest2, EXT|np->rv_stest2);
OUTOFFB (nc_stest2, EXT);
sc->clocksource = EXT;
sc->regs->IMR = EXT;
sc->regs->IMR = EXT;
if (status & EXT) {
sc->regs->SR = EXT;
sc->regs->IMR = EXT | RXS | TXS | CRC | OFL | UFL;
sc->regs->IMR = EXT;
sc->regs->IMR = EXT;