X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fnetdb.h;h=3cda7114e8c24724efbe919505fbf0c839d55644;hp=5f1dd3f179e36200bea483678da35d69c0bafcc2;hb=1ab59de81e94e7802f85d314a709f8350a0e9b65;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/include/netdb.h b/include/netdb.h index 5f1dd3f1..3cda7114 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -5,7 +5,9 @@ extern "C" { #endif -#ifdef _GNU_SOURCE +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define __NEED_size_t #endif @@ -44,9 +46,6 @@ struct addrinfo #define NI_DGRAM 0x10 /*#define NI_NUMERICSCOPE */ -#define NI_MAXHOST 255 -#define NI_MAXSERV 32 - #define EAI_BADFLAGS -1 #define EAI_NONAME -2 #define EAI_AGAIN -3 @@ -58,9 +57,9 @@ struct addrinfo #define EAI_SYSTEM -11 #define EAI_OVERFLOW -12 -int getaddrinfo (const char *, const char *, const struct addrinfo *, struct addrinfo **); +int getaddrinfo (const char *__restrict, const char *__restrict, const struct addrinfo *__restrict, struct addrinfo **__restrict); void freeaddrinfo (struct addrinfo *); -int getnameinfo (const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int); +int getnameinfo (const struct sockaddr *__restrict, socklen_t, char *__restrict, socklen_t, char *__restrict, socklen_t, int); const char *gai_strerror(int); @@ -99,18 +98,9 @@ struct protoent int p_proto; }; -extern int h_errno; - -#define HOST_NOT_FOUND 1 -#define TRY_AGAIN 2 -#define NO_RECOVERY 3 -#define NO_DATA 4 - void sethostent (int); void endhostent (void); struct hostent *gethostent (void); -struct hostent *gethostbyaddr (const void *, socklen_t, int); -struct hostent *gethostbyname (const char *); void setnetent (int); void endnetent (void); @@ -130,7 +120,23 @@ struct protoent *getprotoent (void); struct protoent *getprotobyname (const char *); struct protoent *getprotobynumber (int); -#ifdef _GNU_SOURCE +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \ + || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) +struct hostent *gethostbyname (const char *); +struct hostent *gethostbyaddr (const void *, socklen_t, int); +#ifdef __GNUC__ +__attribute__((const)) +#endif +int *__h_errno_location(void); +#define h_errno (*__h_errno_location()) +#define HOST_NOT_FOUND 1 +#define TRY_AGAIN 2 +#define NO_RECOVERY 3 +#define NO_DATA 4 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) const char *hstrerror(int); int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *); int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *); @@ -138,6 +144,16 @@ struct hostent *gethostbyname2(const char *, int); int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *); int getservbyport_r(int, const char *, struct servent *, char *, size_t, struct servent **); int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **); +#define EAI_NODATA -5 +#define EAI_ADDRFAMILY -9 +#define EAI_INPROGRESS -100 +#define EAI_CANCELED -101 +#define EAI_NOTCANCELED -102 +#define EAI_ALLDONE -103 +#define EAI_INTR -104 +#define EAI_IDN_ENCODE -105 +#define NI_MAXHOST 255 +#define NI_MAXSERV 32 #endif