hello again... i've been trying to broadcast a message through UDP and configure the ethernet card bue i've not sucedded yet...
1st question - have you ever tried to do that?
2nd question - i'm trying to set the broadcast adress directly in the NIC. i've tried to ioctl using the change parameter but haven't sucedded. this code works on linux but not with l4:
int if_set_broadaddr(const char *ifn) { int return_val, fd = -1; struct ifreq ifr; /* points to one interface returned from ioctl */ struct in_addr *broadaddr; struct sockaddr_in sa;
fd = socket (PF_INET, SOCK_DGRAM, 0);
if (fd < 0) { LOG("Error opening socket for interface"); return -1; }
strncpy (ifr.ifr_name, ifn, sizeof(ifr.ifr_name)); if (!inet_aton("10.10.255.255", &sa.sin_addr)) LOG("no valid IP address");
sa.sin_family = AF_INET; memcpy(&ifr.ifr_broadaddr, &sa, sizeof(struct sockaddr));
if (ioctl(fd, SIOCSIFBRDADDR, &ifr) < 0) LOG("ioctl(SIOCSIFBRDADDR) returns");
close (fd); return return_val; }
is there any problem with the SIOCSIFBRDADDR flag?
thanks in advance
Tiago Jorge