/* ** Copyright 2002 University of Illinois Board of Trustees ** Copyright 2002 Mark D. Roth ** All rights reserved. ** ** gethostbyname_r.c - gethostbyname_r() function for compatibility library ** ** Mark D. Roth ** Campus Information Technologies and Educational Services ** University of Illinois at Urbana-Champaign */ #include #include #include #include int compat_gethostbyname_r(const char *name, struct hostent *hp, char *buf, size_t buflen, struct hostent **hpp, int *herr) { #if GETHOSTBYNAME_R_NUM_ARGS == 5 *hpp = gethostbyname_r(name, hp, buf, buflen, herr); if (*hpp == NULL) return -1; return 0; #elif GETHOSTBYNAME_R_NUM_ARGS == 3 struct hostent_data hdata; if (gethostbyname_r(name, hp, &hdata) == -1) return -1; *hpp = hp; return 0; #endif /* GETHOSTBYNAME_R_NUM_ARGS == 5 */ }