]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Move nss typedefs into nss-util.h
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 3 Mar 2016 20:35:34 +0000 (15:35 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 3 Apr 2016 00:11:41 +0000 (20:11 -0400)
In preparation for subsequent changes.

src/basic/nss-util.h
src/nss-resolve/nss-resolve.c

index df565a3593eda12b1e9fa56a248d1042ed9323c4..14e950869dcc8bd0e1c0f7d0c6e6c2ce3675a818 100644 (file)
@@ -154,3 +154,27 @@ enum nss_status _nss_##module##_getgrgid_r(             \
                 struct group *gr,                       \
                 char *buffer, size_t buflen,            \
                 int *errnop) _public_
+
+typedef enum nss_status (*_nss_gethostbyname4_r_t)(
+                const char *name,
+                struct gaih_addrtuple **pat,
+                char *buffer, size_t buflen,
+                int *errnop, int *h_errnop,
+                int32_t *ttlp);
+
+typedef enum nss_status (*_nss_gethostbyname3_r_t)(
+                const char *name,
+                int af,
+                struct hostent *result,
+                char *buffer, size_t buflen,
+                int *errnop, int *h_errnop,
+                int32_t *ttlp,
+                char **canonp);
+
+typedef enum nss_status (*_nss_gethostbyaddr2_r_t)(
+                const void* addr, socklen_t len,
+                int af,
+                struct hostent *result,
+                char *buffer, size_t buflen,
+                int *errnop, int *h_errnop,
+                int32_t *ttlp);
index 0de6bd2241066501b07dc3d931d9030a28e2ce3f..5ce10f1cbd9788edd76061b20799fb573b854dba 100644 (file)
@@ -117,13 +117,6 @@ enum nss_status _nss_resolve_gethostbyname4_r(
                 int *errnop, int *h_errnop,
                 int32_t *ttlp) {
 
-        enum nss_status (*fallback)(
-                        const char *name,
-                        struct gaih_addrtuple **pat,
-                        char *buffer, size_t buflen,
-                        int *errnop, int *h_errnop,
-                        int32_t *ttlp);
-
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *req = NULL, *reply = NULL;
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         struct gaih_addrtuple *r_tuple, *r_tuple_first = NULL;
@@ -275,15 +268,15 @@ enum nss_status _nss_resolve_gethostbyname4_r(
         return NSS_STATUS_SUCCESS;
 
 fallback:
-        fallback = (enum nss_status (*)(const char *name,
-                                        struct gaih_addrtuple **pat,
-                                        char *buffer, size_t buflen,
-                                        int *errnop, int *h_errnop,
-                                        int32_t *ttlp))
-                find_fallback("libnss_dns.so.2", "_nss_dns_gethostbyname4_r");
+        {
+                _nss_gethostbyname4_r_t fallback;
+
+                fallback = (_nss_gethostbyname4_r_t)
+                        find_fallback("libnss_dns.so.2", "_nss_dns_gethostbyname4_r");
 
-        if (fallback)
-                return fallback(name, pat, buffer, buflen, errnop, h_errnop, ttlp);
+                if (fallback)
+                        return fallback(name, pat, buffer, buflen, errnop, h_errnop, ttlp);
+        }
 
 fail:
         *errnop = -r;
@@ -300,15 +293,6 @@ enum nss_status _nss_resolve_gethostbyname3_r(
                 int32_t *ttlp,
                 char **canonp) {
 
-        enum nss_status (*fallback)(
-                        const char *name,
-                        int af,
-                        struct hostent *result,
-                        char *buffer, size_t buflen,
-                        int *errnop, int *h_errnop,
-                        int32_t *ttlp,
-                        char **canonp);
-
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *req = NULL, *reply = NULL;
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         char *r_name, *r_aliases, *r_addr, *r_addr_list;
@@ -480,16 +464,14 @@ enum nss_status _nss_resolve_gethostbyname3_r(
         return NSS_STATUS_SUCCESS;
 
 fallback:
-        fallback = (enum nss_status (*)(const char *name,
-                                        int af,
-                                        struct hostent *result,
-                                        char *buffer, size_t buflen,
-                                        int *errnop, int *h_errnop,
-                                        int32_t *ttlp,
-                                        char **canonp))
-                find_fallback("libnss_dns.so.2", "_nss_dns_gethostbyname3_r");
-        if (fallback)
-                return fallback(name, af, result, buffer, buflen, errnop, h_errnop, ttlp, canonp);
+        {
+                _nss_gethostbyname3_r_t fallback;
+
+                fallback = (_nss_gethostbyname3_r_t)
+                        find_fallback("libnss_dns.so.2", "_nss_dns_gethostbyname3_r");
+                if (fallback)
+                        return fallback(name, af, result, buffer, buflen, errnop, h_errnop, ttlp, canonp);
+        }
 
 fail:
         *errnop = -r;
@@ -505,15 +487,6 @@ enum nss_status _nss_resolve_gethostbyaddr2_r(
                 int *errnop, int *h_errnop,
                 int32_t *ttlp) {
 
-        enum nss_status (*fallback)(
-                        const void* addr, socklen_t len,
-                        int af,
-                        struct hostent *result,
-                        char *buffer, size_t buflen,
-                        int *errnop, int *h_errnop,
-                        int32_t *ttlp);
-
-
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *req = NULL, *reply = NULL;
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         char *r_name, *r_aliases, *r_addr, *r_addr_list;
@@ -682,17 +655,15 @@ enum nss_status _nss_resolve_gethostbyaddr2_r(
         return NSS_STATUS_SUCCESS;
 
 fallback:
-        fallback = (enum nss_status (*)(
-                                    const void* addr, socklen_t len,
-                                    int af,
-                                    struct hostent *result,
-                                    char *buffer, size_t buflen,
-                                    int *errnop, int *h_errnop,
-                                    int32_t *ttlp))
-                find_fallback("libnss_dns.so.2", "_nss_dns_gethostbyaddr2_r");
-
-        if (fallback)
-                return fallback(addr, len, af, result, buffer, buflen, errnop, h_errnop, ttlp);
+        {
+                _nss_gethostbyaddr2_r_t fallback;
+
+                fallback = (_nss_gethostbyaddr2_r_t)
+                        find_fallback("libnss_dns.so.2", "_nss_dns_gethostbyaddr2_r");
+
+                if (fallback)
+                        return fallback(addr, len, af, result, buffer, buflen, errnop, h_errnop, ttlp);
+        }
 
 fail:
         *errnop = -r;