sockaddr_in 原型为什么没有sin_family

Fingter 2014-02-06 09:44:19

我在use/include/netinet/in.h 文件的看到sockaddr_in 原型是下面代码,为什么没有sin_family 呢?

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


另外, __SOCKADDR_COMMON (sin_); 这个是什么意思?
...全文
320 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称很不好取 2014-02-06
  • 打赏
  • 举报
回复
在源文件里搜一搜这个__SOCKADDR_COMMON不就清楚了,我网上搜的结果: #define __SOCKADDR_COMMON(sa_prefix) \ sa_family_t sa_prefix##family

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧