Lines Matching defs:cmsg
246 struct cmsghdr *cmsg;
249 for_each_cmsghdr(cmsg, msg) {
250 if (!CMSG_OK(msg, cmsg))
254 cmsg->cmsg_level == SOL_IPV6 &&
255 cmsg->cmsg_type == IPV6_PKTINFO) {
258 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*src_info)))
260 src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg);
269 if (cmsg->cmsg_level == SOL_SOCKET) {
270 err = __sock_cmsg_send(sk, msg, cmsg, &ipc->sockc);
276 if (cmsg->cmsg_level != SOL_IP)
278 switch (cmsg->cmsg_type) {
280 err = cmsg->cmsg_len - sizeof(struct cmsghdr);
284 KERNEL_SOCKPTR(CMSG_DATA(cmsg)),
292 if (cmsg->cmsg_len != CMSG_LEN(sizeof(struct in_pktinfo)))
294 info = (struct in_pktinfo *)CMSG_DATA(cmsg);
301 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int)))
303 val = *(int *)CMSG_DATA(cmsg);
309 if (cmsg->cmsg_len == CMSG_LEN(sizeof(int)))
310 val = *(int *)CMSG_DATA(cmsg);
311 else if (cmsg->cmsg_len == CMSG_LEN(sizeof(u8)))
312 val = *(u8 *)CMSG_DATA(cmsg);
321 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int)))
323 val = *(int *)CMSG_DATA(cmsg);
490 /* IPv4 supports cmsg on all imcp errors and some timestamps
492 * Timestamp code paths do not initialize the fields expected by cmsg: