Mercurial > hg > dhcpcd
changeset 5477:71aa26f25800 draft
FreeBSD lacks SIOCGIFDATA it seems.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Wed, 23 Sep 2020 09:26:16 +0100 |
| parents | 4f7691185a75 |
| children | ad9bae07a29c |
| files | src/if-bsd.c |
| diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if-bsd.c Tue Sep 22 21:53:13 2020 +0100 +++ b/src/if-bsd.c Wed Sep 23 09:26:16 2020 +0100 @@ -382,12 +382,16 @@ if_carrier(struct interface *ifp) { int carrier = if_carrier0(ifp); +#ifdef SIOCGIFDATA struct ifdatareq ifdr = { .ifdr_data.ifi_link_state = 0 }; struct if_data *ifdata; if (carrier != LINK_UNKNOWN) return carrier; + struct ifdatareq ifdr = { .ifdr_data.ifi_link_state = 0 }; + struct if_data *ifdata; + strlcpy(ifdr.ifdr_name, ifp->name, sizeof(ifdr.ifdr_name)); if (ioctl(ifp->ctx->pf_inet_fd, SIOCGIFDATA, &ifdr) == -1) return LINK_UNKNOWN; @@ -400,6 +404,9 @@ return LINK_UP; } return LINK_UNKNOWN; +#else + return carrier; +#endif } int
