Linux netdevice(7)的SIOCGIF*系列常量中CG的含义是什么?
SIOCGIF* 类常量命名语义说明
你对标识符的语义段拆分存在误解,你提到的「CG」并不是一个独立的语义组合,而是前后两个不同语义段的相邻字符拼接产生的误判。
SIOCGIF* 类常量的正确拆分规则如下:
- 所有socket相关的ioctl命令统一使用
SIOC作为前缀,是 Socket I/O Control 的缩写,你误以为属于「CG」的字母C就来自这个前缀的最后一个字符,对应单词Control。 - 前缀之后的第一个字母代表操作类型:
G是 Get 的缩写,代表该命令是查询类操作,你误以为属于「CG」的字母G就是这个语义段的内容- 同类的配置类操作会把这个位置替换为
S(Set的缩写),比如SIOCSIFNAME就是设置网络接口名称的命令
- 接下来的
IF是 InterFace 的缩写,代表操作对象是网络接口 - 最后一段是具体的操作属性,比如
SIOCGIFNAME里的NAME对应接口名称,SIOCGIFADDR里的ADDR对应接口IP地址。
内容的提问来源于stack exchange,提问作者ジョージ
相关产品推荐
相关产品推荐

