为什么我们仍然在struct sockaddr_un中有sun_family?

alw*_*lin 2 c unix sockets

我是UNIX编程的新手.通常,当我们使用本地套接字进行通信时,域始终为AF_UNIX或AF_LOCAL.所以在这种情况下,struct sockaddr_un总是用于本地通信.为什么还有"短暂的太阳家庭"?有历史原因吗?

struct sockaddr_un{
short sun_family;                /*AF_UNIX*/ 
char  sun_PATH[108];        /*path name */ 
};
Run Code Online (Sandbox Code Playgroud)

Eri*_*rik 6

你传递一个sockaddr *到几个插座功能(例如connect,bind,sendto) -这些将着眼于家庭变量铸造如之前sockaddr_un *sockaddr_in *