* Fill in @dmask with valid netmask leaving original @smask * intact. Mostly used with radix netmasks. */
| 1527 | * intact. Mostly used with radix netmasks. |
| 1528 | */ |
| 1529 | struct sockaddr * |
| 1530 | rtsock_fix_netmask(const struct sockaddr *dst, const struct sockaddr *smask, |
| 1531 | struct sockaddr_storage *dmask) |
| 1532 | { |
| 1533 | if (dst == NULL || smask == NULL) |
| 1534 | return (NULL); |
| 1535 | |
| 1536 | memset(dmask, 0, dst->sa_len); |
| 1537 | memcpy(dmask, smask, smask->sa_len); |
| 1538 | dmask->ss_len = dst->sa_len; |
| 1539 | dmask->ss_family = dst->sa_family; |
| 1540 | |
| 1541 | return ((struct sockaddr *)dmask); |
| 1542 | } |
| 1543 | |
| 1544 | /* |
| 1545 | * Writes information related to @rtinfo object to newly-allocated mbuf. |
no test coverage detected