__set_errno (EINVAL);
*errnop = EINVAL;
_nss_nis_getservbyport_r (int port, char *protocol, struct servent *serv,			  char *buffer, size_t buflen, int *errnop){  intern_t data = { NULL, NULL };  enum nss_status status;  int found;  if (protocol == NULL)    {      __set_errno (EINVAL);      return NSS_STATUS_UNAVAIL;    }  status = internal_nis_setservent (&data);  if (status != NSS_STATUS_SUCCESS)    return status;  found = 0;  while (!found &&         ((status = internal_nis_getservent_r (serv, buffer, buflen, errnop,					       &data)) == NSS_STATUS_SUCCESS))    if (htons (serv->s_port) == port	&&  strcmp (serv->s_proto, protocol) == 0)      found = 1;  internal_nis_endservent (&data);  if (!found && status == NSS_STATUS_SUCCESS)    return NSS_STATUS_NOTFOUND;  else    return status;}