summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-03-19 13:00:29 +0100
committerLennart Poettering <lennart@poettering.net>2019-03-19 15:29:44 +0100
commitc3fecddf0d0b2cebc313989fb11cad53aa03e37a (patch)
tree6a7913a6316e9a4c34eb8961499b893533714e03
parent594da0a3e140b1801b5f85d2be930db834d1e9cc (diff)
downloadsystemd-c3fecddf0d0b2cebc313989fb11cad53aa03e37a.tar.gz
util: move ERRNO_IS_xyz macros to errno-util.h
It's where they fit much better.
-rw-r--r--src/basic/errno-util.h13
-rw-r--r--src/basic/fd-util.h12
-rw-r--r--src/resolve/resolved-dns-transaction.c1
3 files changed, 14 insertions, 12 deletions
diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
index 2d72b8ce9e..067b4fa303 100644
--- a/src/basic/errno-util.h
+++ b/src/basic/errno-util.h
@@ -27,3 +27,16 @@ static inline int negative_errno(void) {
assert_return(errno > 0, -EINVAL);
return -errno;
}
+
+/* Hint #1: ENETUNREACH happens if we try to connect to "non-existing" special IP addresses, such as ::5.
+ *
+ * Hint #2: The kernel sends e.g., EHOSTUNREACH or ENONET to userspace in some ICMP error cases. See the
+ * icmp_err_convert[] in net/ipv4/icmp.c in the kernel sources */
+#define ERRNO_IS_DISCONNECT(r) \
+ IN_SET(abs(r), \
+ ENOTCONN, ECONNRESET, ECONNREFUSED, ECONNABORTED, EPIPE, \
+ ENETUNREACH, EHOSTUNREACH, ENOPROTOOPT, EHOSTDOWN, ENONET)
+
+/* Resource exhaustion, could be our fault or general system trouble */
+#define ERRNO_IS_RESOURCE(r) \
+ IN_SET(abs(r), ENOMEM, EMFILE, ENFILE)
diff --git a/src/basic/fd-util.h b/src/basic/fd-util.h
index 8c3daf62a8..e490753caf 100644
--- a/src/basic/fd-util.h
+++ b/src/basic/fd-util.h
@@ -77,18 +77,6 @@ int acquire_data_fd(const void *data, size_t size, unsigned flags);
int fd_duplicate_data_fd(int fd);
-/* Hint: ENETUNREACH happens if we try to connect to "non-existing" special IP addresses, such as ::5 */
-/* The kernel sends e.g., EHOSTUNREACH or ENONET to userspace in some ICMP error cases.
- * See the icmp_err_convert[] in net/ipv4/icmp.c in the kernel sources */
-#define ERRNO_IS_DISCONNECT(r) \
- IN_SET(abs(r), \
- ENOTCONN, ECONNRESET, ECONNREFUSED, ECONNABORTED, EPIPE, \
- ENETUNREACH, EHOSTUNREACH, ENOPROTOOPT, EHOSTDOWN, ENONET)
-
-/* Resource exhaustion, could be our fault or general system trouble */
-#define ERRNO_IS_RESOURCE(r) \
- IN_SET(abs(r), ENOMEM, EMFILE, ENFILE)
-
int fd_move_above_stdio(int fd);
int rearrange_stdio(int original_input_fd, int original_output_fd, int original_error_fd);
diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c
index 425627d97f..9cac91f536 100644
--- a/src/resolve/resolved-dns-transaction.c
+++ b/src/resolve/resolved-dns-transaction.c
@@ -6,6 +6,7 @@
#include "alloc-util.h"
#include "dns-domain.h"
#include "errno-list.h"
+#include "errno-util.h"
#include "fd-util.h"
#include "random-util.h"
#include "resolved-dns-cache.h"