[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] Changes in CVS HEAD: ip_addr_isbroadcast()
From: |
Leon Woestenberg |
Subject: |
[lwip-devel] Changes in CVS HEAD: ip_addr_isbroadcast() |
Date: |
Fri, 12 Mar 2004 02:15:20 +0100 |
User-agent: |
Mozilla Thunderbird 0.5 (Windows/20040207) |
Hello,
I have committed some changes in HEAD;
ip_addr_isbroadcast() is now a function instead
of a macro.
Its API has changed, and now needs a address and
a network interface. It returns != 0 if the
address represents a broadcast address on that
particular interface.
The implementation is BSD inspired, and was done
to allow proper operation of point-to-point links.
I reverted an earlier patch that was a work-around
outside ip_addr_isbroadcast().
In the process of making this change, the prototype
is in ip_addr.h and needs to know about both
struct ip_addr and struct netif.
ip_addr_isbroadcast() (ip_addr.h) depends on
struct ip_addr (ip_addr.h) and struct netif (netif.h).
However, struct netif (netif.h) depends on struct ip_addr
(ip_addr.h) being declared.
We have ourselves a cyclic dependency, and I had to
re-order some of the #include's to have "ip_addr.h"
first in list.
However, as "netif.h" already includes "ip_addr.h"
first, I do not understand yet why that change was
necessary.
Anyway, it took me some time to figure this out while
I left CVS in uncompilable state. Sorry for that.
The Unix minimal project now compiles again, which
I used to test the dependency issue.
Phew. That was that.
Zzz...
Leon.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-devel] Changes in CVS HEAD: ip_addr_isbroadcast(),
Leon Woestenberg <=