$NetBSD: patch-ab,v 1.3 2014/05/11 10:16:40 obache Exp $ * OpenBSD support --- include/netdb.h.orig Thu Feb 28 05:34:17 2008 +++ include/netdb.h @@ -262,7 +262,7 @@ struct addrinfo { #ifdef _REENTRANT -#if defined (__hpux) || defined(__osf__) || defined(_AIX) +#if defined (__hpux) || defined(__osf__) || defined(_AIX) || defined(__OpenBSD__) #define _MAXALIASES 35 #define _MAXLINELEN 1024 #define _MAXADDRS 35 @@ -328,7 +328,14 @@ struct protoent_data { #ifdef __hpux char line[_MAXLINELEN+1]; #endif +#ifdef __OpenBSD__ + char **aliases; + int maxaliases; + int stayopen; + char* line; +#else char *proto_aliases[_MAXALIASES]; +#endif #ifdef __osf__ int _proto_stayopen; int svc_getprotoflag; @@ -423,19 +430,31 @@ int innetgr __P((const char *, const char *, const ch #endif #ifdef _REENTRANT -#if defined(__hpux) || defined(__osf__) || defined(_AIX) +#if defined(__hpux) || defined(__osf__) || defined(_AIX) || defined(__OpenBSD__) +#if defined(__OpenBSD__) +struct hostent * gethostbyaddr_r __P((const char *, int, int, struct hostent *, + char *, int, int *)); +struct hostent * gethostbyname_r __P((const char *, struct hostent *, + char *, int, int *)); +struct hostent * gethostent_r __P((struct hostent *, char *, int, int *)); +#else int gethostbyaddr_r __P((const char *, int, int, struct hostent *, struct hostent_data *)); int gethostbyname_r __P((const char *, struct hostent *, struct hostent_data *)); int gethostent_r __P((struct hostent *, struct hostent_data *)); +#endif #if defined(_AIX) void sethostent_r __P((int, struct hostent_data *)); +#elif defined(__OpenBSD__) +void sethostent_r __P((int)); #else int sethostent_r __P((int, struct hostent_data *)); #endif #if defined(__hpux) int endhostent_r __P((struct hostent_data *)); +#elif defined(__OpenBSD__) +void endhostent_r __P((void)); #else void endhostent_r __P((struct hostent_data *)); #endif @@ -443,16 +462,28 @@ void endhostent_r __P((struct hostent_data *)); #if defined(__hpux) || defined(__osf__) int getnetbyaddr_r __P((int, int, struct netent *, struct netent_data *)); +#elif defined(__OpenBSD__) +struct netent * getnetbyaddr_r __P((long, int, + struct netent *, char *, int)); #else int getnetbyaddr_r __P((long, int, struct netent *, struct netent_data *)); #endif +#if defined(__OpenBSD__) +struct netent * getnetbyname_r __P((const char *, + struct netent *, char *, int)); +struct netent * getnetent_r __P((struct netent *, char *, int)); +void setnetent_r __P((int)); +#else int getnetbyname_r __P((const char *, struct netent *, struct netent_data *)); int getnetent_r __P((struct netent *, struct netent_data *)); int setnetent_r __P((int, struct netent_data *)); +#endif #ifdef __hpux int endnetent_r __P((struct netent_data *buffer)); +#elif defined(__OpenBSD__) +void endnetent_r __P((void)); #else void endnetent_r __P((struct netent_data *buffer)); #endif @@ -462,7 +493,11 @@ int getprotobyname_r __P((const char *, int getprotobynumber_r __P((int, struct protoent *, struct protoent_data *)); int getprotoent_r __P((struct protoent *, struct protoent_data *)); +#ifdef __OpenBSD__ +void setprotoent_r __P((int, struct protoent_data *)); +#else int setprotoent_r __P((int, struct protoent_data *)); +#endif #ifdef __hpux int endprotoent_r __P((struct protoent_data *)); #else @@ -492,7 +527,7 @@ int innetgr_r __P((const char *, const char *, const #endif #else /* defined(sun) || defined(bsdi) */ -#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) +#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) || defined(__DragonFly__) int gethostbyaddr_r __P((const char *, int, int, struct hostent *, char *, size_t, struct hostent **, int *)); int gethostbyname_r __P((const char *, struct hostent *, @@ -509,7 +544,7 @@ struct hostent *gethostent_r __P((struct hostent *, ch void sethostent_r __P((int)); void endhostent_r __P((void)); -#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) +#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) || defined(__DragonFly__) int getnetbyname_r __P((const char *, struct netent *, char *, size_t, struct netent **, int*)); int getnetbyaddr_r __P((unsigned long int, int, struct netent *, @@ -525,7 +560,7 @@ struct netent *getnetent_r __P((struct netent *, char void setnetent_r __P((int)); void endnetent_r __P((void)); -#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) +#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) || defined(__DragonFly__) int getprotobyname_r __P((const char *, struct protoent *, char *, size_t, struct protoent **)); int getprotobynumber_r __P((int, struct protoent *, char *, size_t, @@ -541,7 +576,7 @@ struct protoent *getprotoent_r __P((struct protoent *, void setprotoent_r __P((int)); void endprotoent_r __P((void)); -#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) +#if defined(__GLIBC__) || defined(__FreeBSD__) && (__FreeBSD_version + 0 >= 601103) || defined(__DragonFly__) int getservbyname_r __P((const char *name, const char *, struct servent *, char *, size_t, struct servent **)); int getservbyport_r __P((int port, const char *,