mirror of
https://github.com/samba-team/samba.git
synced 2024-12-29 11:21:54 +03:00
92 lines
3.1 KiB
C
92 lines
3.1 KiB
C
/*
|
|
PostgreSQL Database Management System
|
|
(formerly known as Postgres, then as Postgres95)
|
|
|
|
Portions Copyright (c) 1996-2005, The PostgreSQL Global Development Group
|
|
|
|
Portions Copyright (c) 1994, The Regents of the University of California
|
|
|
|
Permission to use, copy, modify, and distribute this software and its
|
|
documentation for any purpose, without fee, and without a written agreement
|
|
is hereby granted, provided that the above copyright notice and this paragraph
|
|
and the following two paragraphs appear in all copies.
|
|
|
|
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
|
|
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
|
|
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
|
|
EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
|
|
SUCH DAMAGE.
|
|
|
|
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
|
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
|
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS
|
|
TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
|
|
|
*/
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* getaddrinfo.h
|
|
* Support getaddrinfo() on platforms that don't have it.
|
|
*
|
|
* Note: we use our own routines on platforms that don't HAVE_STRUCT_ADDRINFO,
|
|
* whether or not the library routine getaddrinfo() can be found. This
|
|
* policy is needed because on some platforms a manually installed libbind.a
|
|
* may provide getaddrinfo(), yet the system headers may not provide the
|
|
* struct definitions needed to call it. To avoid conflict with the libbind
|
|
* definition in such cases, we rename our routines to pg_xxx() via macros.
|
|
*
|
|
|
|
in lib/replace we use rep_xxx()
|
|
|
|
* This code will also work on platforms where struct addrinfo is defined
|
|
* in the system headers but no getaddrinfo() can be located.
|
|
*
|
|
* Copyright (c) 2003-2007, PostgreSQL Global Development Group
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef GETADDRINFO_H
|
|
#define GETADDRINFO_H
|
|
|
|
#ifndef HAVE_GETADDRINFO
|
|
|
|
/* Rename private copies per comments above */
|
|
#ifdef getaddrinfo
|
|
#undef getaddrinfo
|
|
#endif
|
|
#define getaddrinfo rep_getaddrinfo
|
|
#define HAVE_GETADDRINFO
|
|
|
|
#ifdef freeaddrinfo
|
|
#undef freeaddrinfo
|
|
#endif
|
|
#define freeaddrinfo rep_freeaddrinfo
|
|
#define HAVE_FREEADDRINFO
|
|
|
|
#ifdef gai_strerror
|
|
#undef gai_strerror
|
|
#endif
|
|
#define gai_strerror rep_gai_strerror
|
|
#define HAVE_GAI_STRERROR
|
|
|
|
#ifdef getnameinfo
|
|
#undef getnameinfo
|
|
#endif
|
|
#define getnameinfo rep_getnameinfo
|
|
#ifndef HAVE_GETNAMEINFO
|
|
#define HAVE_GETNAMEINFO
|
|
#endif
|
|
|
|
extern int rep_getaddrinfo(const char *node, const char *service,
|
|
const struct addrinfo * hints, struct addrinfo ** res);
|
|
extern void rep_freeaddrinfo(struct addrinfo * res);
|
|
extern const char *rep_gai_strerror(int errcode);
|
|
extern int rep_getnameinfo(const struct sockaddr * sa, socklen_t salen,
|
|
char *node, size_t nodelen,
|
|
char *service, size_t servicelen, int flags);
|
|
#endif /* HAVE_GETADDRINFO */
|
|
|
|
#endif /* GETADDRINFO_H */
|