Lines Matching defs:rtmsg
2173 } rtmsg;
2182 memset(&rtmsg, 0, sizeof(rtmsg));
2183 rtmsg.hdr.rtm_type = cmd;
2184 rtmsg.hdr.rtm_flags = RTF_UP | RTF_STATIC;
2186 rtmsg.hdr.rtm_flags |= RTF_CLONING;
2188 rtmsg.hdr.rtm_flags |= RTF_HOST;
2190 rtmsg.hdr.rtm_flags |= RTF_GATEWAY;
2191 rtmsg.hdr.rtm_version = RTM_VERSION;
2192 rtmsg.hdr.rtm_seq = ++rtm_seq;
2193 rtmsg.hdr.rtm_addrs = RTA_DST | RTA_NETMASK;
2194 rtmsg.dst.sin_len = sizeof(rtmsg.dst);
2195 rtmsg.dst.sin_family = AF_INET;
2196 rtmsg.dst.sin_addr = host;
2197 rtmsg.hdr.rtm_addrs |= RTA_GATEWAY;
2198 rtmsg.gway.sin_len = sizeof(rtmsg.gway);
2199 rtmsg.gway.sin_family = AF_INET;
2200 rtmsg.gway.sin_addr = gateway;
2201 rtmsg.mask.sin_len = sizeof(rtmsg.mask);
2202 rtmsg.mask.sin_family = AF_INET;
2203 rtmsg.mask.sin_addr.s_addr = 0xFFFFFFFF;
2205 len = sizeof(rtmsg);
2207 rtmsg.link.sdl_len = sizeof(rtmsg.link);
2208 rtmsg.link.sdl_family = AF_LINK;
2209 rtmsg.link.sdl_nlen = MIN(strlen(ifname), sizeof(rtmsg.link.sdl_data));
2210 rtmsg.hdr.rtm_addrs |= RTA_IFP;
2211 bcopy(ifname, rtmsg.link.sdl_data, rtmsg.link.sdl_nlen);
2215 len -= sizeof(rtmsg.link);
2217 rtmsg.hdr.rtm_msglen = len;
2218 if (write(sockfd, &rtmsg, len) < 0) {