* @param name name of the interface (can be NULL for unknown)
* @param isDefault is this presumably the default interface
* @param addr address of this interface (can be NULL for unknown or unassigned)
+ * @param broadcast_addr the broadcast address (can be NULL for unknown or unassigned)
+ * @param netmask the network mask (can be NULL for unknown or unassigned))
* @param addrlen length of the address
* @return GNUNET_OK to continue iteration, GNUNET_SYSERR to abort
*/
typedef int (*GNUNET_OS_NetworkInterfaceProcessor) (void *cls, const char *name,
int isDefault,
- const struct sockaddr *
- addr, socklen_t addrlen);
+ const struct sockaddr * addr,
+ const struct sockaddr * broadcast_addr,
+ const struct sockaddr * netmask,
+ socklen_t addrlen);
/**
* @return GNUNET_OK to continue iterating
*/
static int
-process_interfaces (void *cls, const char *name, int isDefault,
- const struct sockaddr *addr, socklen_t addrlen)
+process_interfaces(void *cls, const char *name,
+ int isDefault,
+ const struct sockaddr * addr,
+ const struct sockaddr * broadcast_addr,
+ const struct sockaddr * netmask,
+ socklen_t addrlen)
{
struct GNUNET_NAT_Handle *h = cls;
const struct sockaddr_in *s4;
* @return GNUNET_OK to continue iterating
*/
static int
-process_if (void *cls, const char *name, int isDefault,
- const struct sockaddr *addr, socklen_t addrlen)
+process_if (void *cls, const char *name,
+ int isDefault,
+ const struct sockaddr * addr,
+ const struct sockaddr * broadcast_addr,
+ const struct sockaddr * netmask,
+ socklen_t addrlen)
{
struct addr_cls *data = cls;
void *arg;
size_t args;
- GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "tcp",
+ GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "tcp",
"NPMC called with %d for address `%s'\n", add_remove,
GNUNET_a2s (addr, addrlen));
/* convert 'addr' to our internal format */
if (GNUNET_OK !=
proc (proc_cls, szEntry,
pTable->table[dwIfIdx].dwIndex == dwExternalNIC,
- (const struct sockaddr *) &sa, sizeof (sa)))
+ (const struct sockaddr *) &sa,
+ NULL,
+ NULL,
+ sizeof (sa)))
break;
}
}
if (GNUNET_OK !=
proc (proc_cls, ifa_ptr->ifa_name,
0 == strcmp (ifa_ptr->ifa_name, GNUNET_DEFAULT_INTERFACE),
- ifa_ptr->ifa_addr, alen))
+ ifa_ptr->ifa_addr,
+ NULL,
+ NULL,
+ alen))
break;
}
}
a4.sin_addr = v4;
if (GNUNET_OK !=
proc (proc_cls, ifc, 0 == strcmp (ifc, GNUNET_DEFAULT_INTERFACE),
- (const struct sockaddr *) &a4, sizeof (a4)))
+ (const struct sockaddr *) &a4,
+ NULL,
+ NULL,
+ sizeof (a4)))
break;
continue;
}
a6.sin6_addr = v6;
if (GNUNET_OK !=
proc (proc_cls, ifc, 0 == strcmp (ifc, GNUNET_DEFAULT_INTERFACE),
- (const struct sockaddr *) &a6, sizeof (a6)))
+ (const struct sockaddr *) &a6,
+ NULL,
+ NULL,
+ sizeof (a6)))
break;
continue;
}
* (success).
*/
static int
-proc (void *cls, const char *name, int isDefault, const struct sockaddr *addr,
+proc (void *cls, const char *name,
+ int isDefault,
+ const struct sockaddr * addr,
+ const struct sockaddr * broadcast_addr,
+ const struct sockaddr * netmask,
socklen_t addrlen)
{
int *ok = cls;