diff --git a/include/sys/socket.h b/include/sys/socket.h index 57e2376558c..36539995766 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -260,6 +260,14 @@ (FAR struct cmsghdr *)NULL) #define CMSG_FIRSTHDR(msg) \ __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen) +#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && \ + (cmsg)->cmsg_len <= (unsigned long) \ + ((mhdr)->msg_controllen - \ + ((char *)(cmsg) - (char *)(mhdr)->msg_control))) +#define for_each_cmsghdr(cmsg, msg) \ + for (cmsg = CMSG_FIRSTHDR(msg); \ + cmsg; \ + cmsg = CMSG_NXTHDR(msg, cmsg)) /* "Socket"-level control message types: */