Lines Matching defs:cmsg
248 struct cmsghdr *cmsg;
251 for_each_cmsghdr(cmsg, msg) {
252 if (!CMSG_OK(msg, cmsg))
256 cmsg->cmsg_level == SOL_IPV6 &&
257 cmsg->cmsg_type == IPV6_PKTINFO) {
260 if (cmsg->cmsg_len < CMSG_LEN(sizeof(*src_info)))
262 src_info = (struct in6_pktinfo *)CMSG_DATA(cmsg);
271 if (cmsg->cmsg_level == SOL_SOCKET) {
272 err = __sock_cmsg_send(sk, cmsg, &ipc->sockc);
278 if (cmsg->cmsg_level != SOL_IP)
280 switch (cmsg->cmsg_type) {
282 err = cmsg->cmsg_len - sizeof(struct cmsghdr);
286 KERNEL_SOCKPTR(CMSG_DATA(cmsg)),
294 if (cmsg->cmsg_len != CMSG_LEN(sizeof(struct in_pktinfo)))
296 info = (struct in_pktinfo *)CMSG_DATA(cmsg);
303 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int)))
305 val = *(int *)CMSG_DATA(cmsg);
311 if (cmsg->cmsg_len == CMSG_LEN(sizeof(int)))
312 val = *(int *)CMSG_DATA(cmsg);
313 else if (cmsg->cmsg_len == CMSG_LEN(sizeof(u8)))
314 val = *(u8 *)CMSG_DATA(cmsg);
323 if (cmsg->cmsg_len != CMSG_LEN(sizeof(int)))
325 val = *(int *)CMSG_DATA(cmsg);
492 /* IPv4 supports cmsg on all imcp errors and some timestamps
494 * Timestamp code paths do not initialize the fields expected by cmsg: