diff options
Diffstat (limited to 'src/libip/myipaddr.c')
-rw-r--r-- | src/libip/myipaddr.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libip/myipaddr.c b/src/libip/myipaddr.c new file mode 100644 index 00000000..d9b69201 --- /dev/null +++ b/src/libip/myipaddr.c @@ -0,0 +1,21 @@ +#include <u.h> +#include <libc.h> +#include <ip.h> + +int +myipaddr(uchar *ip, char *net) +{ + Ipifc *nifc; + Iplifc *lifc; + static Ipifc *ifc; + + ifc = readipifc(net, ifc, -1); + for(nifc = ifc; nifc; nifc = nifc->next) + for(lifc = nifc->lifc; lifc; lifc = lifc->next) + if(ipcmp(lifc->ip, IPnoaddr) != 0){ + ipmove(ip, lifc->ip); + return 0; + } + ipmove(ip, IPnoaddr); + return -1; +} |