struct sockaddr_in daddress;
int dsocket, len;
unsigned short port;
.
.
dsocket = socket ( ... );
daddress . sin_family = AF_INET;
daddress.sin_port = 0;
daddress.sin_addr.s_addr = ... ;
bind ( ... )
.
.
if (getsockname (dsocket, &daddress, &len) < 0)
{
/* error */
.
}
port = daddress . sin_port; /* grab the port in host byte order */
getsockopt
(
setsockopt
(
int bstatus;
.
.
getsockopt (sock, SOL_SOCKET, SO_BROADCAST, (char *) &bstatus,
(size_t) sizeof (int));
printf ("The current broadcast status is %d\n", bstatus);
bstatus = 1; /* 1 = True, turn on broadcast */
setsockopt (sock, SOL_SOCKET, SO_BROADCAST, (char *) &bstatus,
(size_t) sizeof (int));