2709 * are stored in `localaddrs'
2710 */
2711 boolean_t
2712 own_address(struct in6_addr addr)
2713 {
2714 addrlist_t *addrp;
2715 struct sockaddr_storage ss;
2716 int af = IN6_IS_ADDR_V4MAPPED(&addr) ? AF_INET : AF_INET6;
2717
2718 addr2storage(af, &addr, &ss);
2719 for (addrp = localaddrs; addrp != NULL; addrp = addrp->al_next) {
2720 if (sockaddrcmp(&ss, &addrp->al_addr))
2721 return (_B_TRUE);
2722 }
2723 return (_B_FALSE);
2724 }
2725
2726 static int
2727 ns2ms(int64_t ns)
2728 {
2729 return (ns / (NANOSEC / MILLISEC));
2730 }
2731
2732 static int64_t
2733 tv2ns(struct timeval *tvp)
2734 {
2735 return (tvp->tv_sec * NANOSEC + tvp->tv_usec * 1000);
2736 }
|
2709 * are stored in `localaddrs'
2710 */
2711 boolean_t
2712 own_address(struct in6_addr addr)
2713 {
2714 addrlist_t *addrp;
2715 struct sockaddr_storage ss;
2716 int af = IN6_IS_ADDR_V4MAPPED(&addr) ? AF_INET : AF_INET6;
2717
2718 addr2storage(af, &addr, &ss);
2719 for (addrp = localaddrs; addrp != NULL; addrp = addrp->al_next) {
2720 if (sockaddrcmp(&ss, &addrp->al_addr))
2721 return (_B_TRUE);
2722 }
2723 return (_B_FALSE);
2724 }
2725
2726 static int
2727 ns2ms(int64_t ns)
2728 {
2729 return (NSEC2MSEC(ns));
2730 }
2731
2732 static int64_t
2733 tv2ns(struct timeval *tvp)
2734 {
2735 return (tvp->tv_sec * NANOSEC + tvp->tv_usec * 1000);
2736 }
|