diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-11-16 12:41:39 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-12-07 13:46:35 +0100 |
commit | 4e25d4cf0f78ef7c960f2b77c941e3d8751535df (patch) | |
tree | d16558699551064ff76afa8c22f29d0293f5f1c8 /src/basic/socket-util.h | |
parent | 00ed2fff1a87372e6af37398f48527d75c00339c (diff) | |
download | systemd-4e25d4cf0f78ef7c960f2b77c941e3d8751535df.tar.gz |
socket-util: add getsockopt_int() helper
Diffstat (limited to 'src/basic/socket-util.h')
-rw-r--r-- | src/basic/socket-util.h | 13 |
1 files changed, 13 insertions, 0 deletions
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); |