From: Lennart Poettering Date: Mon, 16 Nov 2020 11:41:39 +0000 (+0100) Subject: socket-util: add getsockopt_int() helper X-Git-Tag: v248-rc1~562^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e25d4cf0f78ef7c960f2b77c941e3d8751535df;p=thirdparty%2Fsystemd.git socket-util: add getsockopt_int() helper --- diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h index 7d77144f436..0dd6798d32e 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);