Lines Matching defs:cmsg
437 struct cmsghdr *cmsg;
460 cmsg = CMSG_FIRSTHDR(&msg);
465 cmsg->cmsg_level = IPPROTO_IP;
466 cmsg->cmsg_type = IP_PKTINFO;
467 memmove(CMSG_DATA(cmsg), &r->pktinfo.v4info,
469 cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
473 cmsg->cmsg_level = IPPROTO_IP;
474 cmsg->cmsg_type = IP_SENDSRCADDR;
475 memmove(CMSG_DATA(cmsg), &r->pktinfo.v4addr,
477 cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
485 cmsg->cmsg_level = IPPROTO_IPV6;
486 cmsg->cmsg_type = IPV6_PKTINFO;
487 memmove(CMSG_DATA(cmsg), &r->pktinfo.v6info,
489 cmsg->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
494 cmsg->cmsg_level = IPPROTO_IPV6;
495 cmsg->cmsg_type = IPV6_PKTINFO;
496 memset(CMSG_DATA(cmsg), 0, sizeof(struct in6_pktinfo));
497 cmsg->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
538 struct cmsghdr* cmsg;
576 for(cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL;
577 cmsg = CMSG_NXTHDR(&msg, cmsg)) {
578 if( cmsg->cmsg_level == IPPROTO_IPV6 &&
579 cmsg->cmsg_type == IPV6_PKTINFO) {
581 memmove(&rep.pktinfo.v6info, CMSG_DATA(cmsg),
585 } else if( cmsg->cmsg_level == IPPROTO_IP &&
586 cmsg->cmsg_type == IP_PKTINFO) {
588 memmove(&rep.pktinfo.v4info, CMSG_DATA(cmsg),
592 } else if( cmsg->cmsg_level == IPPROTO_IP &&
593 cmsg->cmsg_type == IP_RECVDSTADDR) {
595 memmove(&rep.pktinfo.v4addr, CMSG_DATA(cmsg),