Lines Matching defs:rtm
271 struct rt_msghdr *rtm;
325 rtm = rtmsg(s, RTM_GET, NULL, &sin_m, &sdl_m);
326 if (rtm == NULL) {
331 sina = (struct sockaddr_inarp *)(void *)(rtm + 1);
335 if (is_llinfo(sdl, rtm->rtm_flags))
363 rtm = rtmsg(s, RTM_ADD, NULL, &sin_m, &sdl_m);
367 return (rtm == NULL) ? 1 : 0;
410 delete_one(struct rt_msghdr *rtm)
417 sina = (struct sockaddr_inarp *)(void *)(rtm + 1);
424 rtm = rtmsg(s, RTM_DELETE, rtm, sina, sdl);
426 if (rtm == NULL)
442 struct rt_msghdr *rtm;
464 for (next = buf; next < lim; next += rtm->rtm_msglen) {
465 rtm = (struct rt_msghdr *)(void *)next;
466 sina = (struct sockaddr_inarp *)(void *)(rtm + 1);
496 if (rtm->rtm_addrs & RTA_NETMASK) {
565 struct rt_msghdr *rtm;
599 for (next = buf; next < lim; next += rtm->rtm_msglen) {
601 rtm = (struct rt_msghdr *)(void *)next;
602 sina = (struct sockaddr_inarp *)(void *)(rtm + 1);
607 ret = delete_one(rtm);
686 struct rt_msghdr *rtm = _rtm;
696 if (rtm != NULL) {
697 memcpy(&m_rtmsg, rtm, rtm->rtm_msglen);
698 rtm = &m_rtmsg.m_rtm;
702 rtm = &m_rtmsg.m_rtm;
705 rtm->rtm_flags = flags;
706 rtm->rtm_version = RTM_VERSION;
713 rtm->rtm_addrs |= RTA_GATEWAY;
714 rtm->rtm_rmx.rmx_expire = expire_time;
715 rtm->rtm_inits = RTV_EXPIRE;
716 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA);
719 rtm->rtm_addrs |= RTA_NETMASK;
720 rtm->rtm_flags &= ~RTF_HOST;
723 rtm->rtm_addrs |= RTA_DST;
726 rtm->rtm_flags |= RTF_LLDATA;
727 rtm->rtm_addrs |= RTA_DST | RTA_GATEWAY;
731 if (rtm->rtm_addrs & (w)) { \
741 rtm->rtm_msglen = cp - (char *)(void *)&m_rtmsg;
743 l = rtm->rtm_msglen;
744 rtm->rtm_seq = ++seq;
745 rtm->rtm_type = cmd;
756 } while (l > 0 && (rtm->rtm_seq != seq || rtm->rtm_pid != pid));
759 return rtm;