C standard library :: netdb
gethostbyname_r - hent info på host, reentrant
Denne funktion skal hente informationer på en host med navnet name. Informationerne hentes fra en database som kan tilgås sekventiel eller vilkårlig. Kalderen må forsyne en peger result_buf med hostent strukturen. I tillæg kan funktionen bruge ekstra buffer plads og derfor må kalderen forsyne en peger og størrelsen på en buffer i buf og buflen parametrene.
En peger til en buffer, i hvilken resultatet bliver gemt, er leveret i *result. Hvis en fejl opstår eller ingen post er fundet er *result en nul-peger. Success er signaleret med en returværdi på nul. Hvis funktionen fejler er returværdien et fejlnummer. I tillæg til fejl defineret for gethostbyname() kan ERANGE også returneres. I sådant tilfælde skal kaldet gentages med en større buffer. I øvrigt gemmes fejl ikke i den globale variabel h_errno men i en variabel udpeget ved h_errnop.
Retur værdi
Ved succes returneres 0, ellers returneres fejlnummeret.
Fejl
Ved fejl returneres fejlnummeret. Funktionen gethostbyname_r() skal fejle hvis:
- [HOST_NOT_FOUND]
- Denne host kan ikke findes.
- [NO_DATA]
- Serveren genkendte forespørgslen og navnet, men ingen adresse er tilgængelig. En anden type forespørgsel til navneserveren for domænes kan muligvis returnere et svar.
- [NO_RECOVERY]
- En uventet serverfejl opstod.
- [TRY_AGAIN]
- En temporær fejl opstod
- [ERANGE]
- Kræver mere buffer plads. Øg bufferpladsen og forsøg igen.