|
|
|
|
@ -227,6 +227,10 @@ static void socket_monitor_read_cb(int fd, void* arg) {
|
|
|
|
|
/* ===== FreeBSD: AF_ROUTE routing socket ===== */ |
|
|
|
|
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
|
|
|
|
|
|
|
|
|
#ifndef RT_ROUNDUP |
|
|
|
|
#define RT_ROUNDUP(x) (((x) + sizeof(long) - 1) & ~(sizeof(long) - 1)) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static int sockaddr_to_plen(const struct sockaddr* sa) { |
|
|
|
|
if (!sa || sa->sa_len == 0) return 0; |
|
|
|
|
switch (sa->sa_family) { |
|
|
|
|
@ -356,6 +360,7 @@ static void socket_monitor_bsd_read_cb(int fd, void* arg) {
|
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* ===== Windows: IP Helper callbacks ===== */ |
|
|
|
|
|