aboutsummaryrefslogtreecommitdiffstats
path: root/src/resolver.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-09-18 11:17:17 +0200
committerMax Kellermann <max@duempel.org>2008-09-18 11:17:17 +0200
commitdcb67250b34dc92aced026516e162a42000f1857 (patch)
tree6314bf5b1353347ce2b3973274513e2b78491aba /src/resolver.h
parent919cebb0bcd44170a7dd773717eefa1e515d628c (diff)
downloadmpd-dcb67250b34dc92aced026516e162a42000f1857.tar.gz
mpd-dcb67250b34dc92aced026516e162a42000f1857.tar.xz
mpd-dcb67250b34dc92aced026516e162a42000f1857.zip
libmpdclient: added resolver library
The resolver library provides unified access to all resolvers (getaddrinfo(), gethostbyname(), Unix domain sockets). Like getaddrinfo(), it can return more than one address for a host name. This fixes bug 1517 (http://www.musicpd.org/mantis/view.php?id=1517).
Diffstat (limited to '')
-rw-r--r--src/resolver.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/resolver.h b/src/resolver.h
new file mode 100644
index 000000000..6a79dc4cb
--- /dev/null
+++ b/src/resolver.h
@@ -0,0 +1,56 @@
+/* libmpdclient
+ (c) 2008 Max Kellermann <max@duempel.org>
+ This project's homepage is: http://www.musicpd.org
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of the Music Player Daemon nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef LIBMPDCLIENT_RESOLVER_H
+#define LIBMPDCLIENT_RESOLVER_H
+
+#include <stddef.h>
+
+struct resolver;
+
+struct resolver_address {
+ int family;
+ int protocol;
+ size_t addrlen;
+ const struct sockaddr *addr;
+};
+
+struct resolver *
+resolver_new(const char *host, int port);
+
+void
+resolver_free(struct resolver *resolver);
+
+const struct resolver_address *
+resolver_next(struct resolver *resolver);
+
+#endif