Lines Matching refs:cmptr
913 struct cmsghdr *cmptr;
965 for (cmptr = CMSG_FIRSTHDR(&msg); cmptr != NULL;
966 cmptr = CMSG_NXTHDR(&msg, cmptr)) {
977 if (cmptr->cmsg_level == IPPROTO_IP &&
978 cmptr->cmsg_type == IP_PKTINFO) {
982 tmp = (struct in_pktinfo *) CMSG_DATA(cmptr);
992 if (cmptr->cmsg_level == IPPROTO_IP &&
993 cmptr->cmsg_type == IP_RECVDSTADDR) {
997 sin->sin_addr = *(struct in_addr*)CMSG_DATA(cmptr);
1004 if (cmptr->cmsg_level == IPPROTO_IP &&
1005 cmptr->cmsg_type == IP_RECVIF) {
1006 struct sockaddr_dl *sdl = (struct sockaddr_dl *) CMSG_DATA(cmptr);
1011 (void) memcpy(&pktp->ipi_ifindex, CMSG_DATA(cmptr), sizeof(uint_t));
1019 if (cmptr->cmsg_level == IPPROTO_IP &&
1020 cmptr->cmsg_type == IP_RECVTTL) {
1021 *ttl = *(u_char*)CMSG_DATA(cmptr);
1024 else if (cmptr->cmsg_level == IPPROTO_IP &&
1025 cmptr->cmsg_type == IP_TTL) { // some implementations seem to send IP_TTL instead of IP_RECVTTL
1026 *ttl = *(int*)CMSG_DATA(cmptr);
1032 if (cmptr->cmsg_level == IPPROTO_IPV6 &&
1033 cmptr->cmsg_type == IPV6_PKTINFO) {
1035 struct in6_pktinfo *ip6_info = (struct in6_pktinfo*)CMSG_DATA(cmptr);
1051 if (cmptr->cmsg_level == IPPROTO_IPV6 &&
1052 cmptr->cmsg_type == IPV6_HOPLIMIT) {
1053 *ttl = *(int*)CMSG_DATA(cmptr);