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));