summaryrefslogtreecommitdiff
path: root/src/basic/socket-util.c
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-12-17 02:37:55 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-12-17 02:37:55 -0500
commit3f0ba0278cd61b2d3bb01abc744d98a6ba3d7730 (patch)
treedc70188bf68d634496a429225130f777c155b990 /src/basic/socket-util.c
parent54ebaa42b40d22bd0288507420b7a7241896c357 (diff)
parent58a6dd15582c038a25bd7059435833943e2e4617 (diff)
Merge commit '58a6dd15582c038a25bd7059435833943e2e4617' into notsystemd/premove
# Conflicts: # Makefile.am # src/boot/bootctl.c # system-preset/90-systemd.preset
Diffstat (limited to 'src/basic/socket-util.c')
-rw-r--r--src/basic/socket-util.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
index 385c3e4df3..6093e47172 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
@@ -1046,3 +1046,17 @@ int flush_accept(int fd) {
close(cfd);
}
}
+
+struct cmsghdr* cmsg_find(struct msghdr *mh, int level, int type, socklen_t length) {
+ struct cmsghdr *cmsg;
+
+ assert(mh);
+
+ CMSG_FOREACH(cmsg, mh)
+ if (cmsg->cmsg_level == level &&
+ cmsg->cmsg_type == type &&
+ (length == (socklen_t) -1 || length == cmsg->cmsg_len))
+ return cmsg;
+
+ return NULL;
+}