lwip-devel
[Top][All Lists]
Advanced

[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.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]