This is the piece of the code I copied from one of the header file for socket programming.
/* Structure describing an Internet socket address. */
struct sockaddr_in
{
__SOCKADDR_COMMON (sin_);
in_port_t sin_port; /* Port number. */
struct in_addr sin_addr; /* Internet address. */
/* Pad to size of `struct sockaddr'. */
unsigned char sin_zero[sizeof (struct sockaddr) -
__SOCKADDR_COMMON_SIZE -
sizeof (in_port_t) -
sizeof (struct in_addr)];
};
I can understand declaration of sin_port and sin_addr. but what is __SOCKADDR_COMMON in_) is here. I can't understand this syntax? Kindly explain. Thanks in advance.