There is a macro definition:
#define __SOCKADDR_COMMON(sa_prefix) \
sa_family_t sa_prefix##family
therefore __SOCKADDR_COMMON (sin_);actually expanding tosa_family_t sin_family;
As this happens, the macro takes the sa_prefix parameter and uses the operator ##to combine (combine). As a result, you have a new variable sin_familythat is declared with a type sa_family_tin the structure.
C