diff options
Diffstat (limited to 'src/systemd/sd-resolve.h')
-rw-r--r-- | src/systemd/sd-resolve.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/systemd/sd-resolve.h b/src/systemd/sd-resolve.h index 4c6499815a..d78e8db257 100644 --- a/src/systemd/sd-resolve.h +++ b/src/systemd/sd-resolve.h @@ -3,7 +3,6 @@ #define foosdresolvehfoo /*** - systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or @@ -18,6 +17,11 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +/* 'struct addrinfo' needs _GNU_SOURCE */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#endif + #include <inttypes.h> #include <netdb.h> #include <sys/socket.h> @@ -38,6 +42,7 @@ typedef struct sd_resolve_query sd_resolve_query; /* A callback on completion */ typedef int (*sd_resolve_getaddrinfo_handler_t)(sd_resolve_query *q, int ret, const struct addrinfo *ai, void *userdata); typedef int (*sd_resolve_getnameinfo_handler_t)(sd_resolve_query *q, int ret, const char *host, const char *serv, void *userdata); +typedef _sd_destroy_t sd_resolve_destroy_t; enum { SD_RESOLVE_GET_HOST = 1 << 0, @@ -96,14 +101,18 @@ int sd_resolve_getaddrinfo(sd_resolve *resolve, sd_resolve_query **q, const char * if you want to query the hostname (resp. the service name). */ int sd_resolve_getnameinfo(sd_resolve *resolve, sd_resolve_query **q, const struct sockaddr *sa, socklen_t salen, int flags, uint64_t get, sd_resolve_getnameinfo_handler_t callback, void *userdata); -sd_resolve_query *sd_resolve_query_ref(sd_resolve_query* q); -sd_resolve_query *sd_resolve_query_unref(sd_resolve_query* q); +sd_resolve_query *sd_resolve_query_ref(sd_resolve_query *q); +sd_resolve_query *sd_resolve_query_unref(sd_resolve_query *q); /* Returns non-zero when the query operation specified by q has been completed. */ -int sd_resolve_query_is_done(sd_resolve_query*q); +int sd_resolve_query_is_done(sd_resolve_query *q); void *sd_resolve_query_get_userdata(sd_resolve_query *q); void *sd_resolve_query_set_userdata(sd_resolve_query *q, void *userdata); +int sd_resolve_query_get_destroy_callback(sd_resolve_query *q, sd_resolve_destroy_t *destroy_callback); +int sd_resolve_query_set_destroy_callback(sd_resolve_query *q, sd_resolve_destroy_t destroy_callback); +int sd_resolve_query_get_floating(sd_resolve_query *q); +int sd_resolve_query_set_floating(sd_resolve_query *q, int b); sd_resolve *sd_resolve_query_get_resolve(sd_resolve_query *q); |