From 4e25d4cf0f78ef7c960f2b77c941e3d8751535df Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 16 Nov 2020 12:41:39 +0100 Subject: [PATCH] socket-util: add getsockopt_int() helper --- src/basic/socket-util.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h index 7d77144f43..0dd6798d32 100644 --- a/src/basic/socket-util.h +++ b/src/basic/socket-util.h @@ -258,6 +258,19 @@ static inline int setsockopt_int(int fd, int level, int optname, int value) { return 0; } +static inline int getsockopt_int(int fd, int level, int optname, int *ret) { + int v; + socklen_t sl = sizeof(v); + + if (getsockopt(fd, level, optname, &v, &sl) < 0) + return -errno; + if (sl != sizeof(v)) + return -EIO; + + *ret = v; + return 0; +} + int socket_bind_to_ifname(int fd, const char *ifname); int socket_bind_to_ifindex(int fd, int ifindex);