Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
e8f5a286
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
接近 2 年 前同步成功
通知
474
Star
414
Fork
55
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos A
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e8f5a286
编写于
10月 14, 2021
作者:
O
openharmony_ci
提交者:
Gitee
10月 14, 2021
浏览文件
操作
浏览文件
下载
差异文件
!659 ioctl支持SIOCGIFBRDADDR选项
Merge pull request !659 from 刘建东/master
上级
8096d9f5
4ecc4738
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
0 deletion
+27
-0
net/lwip-2.1/porting/src/sockets.c
net/lwip-2.1/porting/src/sockets.c
+27
-0
未找到文件。
net/lwip-2.1/porting/src/sockets.c
浏览文件 @
e8f5a286
...
@@ -1174,6 +1174,25 @@ static u8_t lwip_ioctl_internal_SIOCGIFMTU(struct ifreq *ifr)
...
@@ -1174,6 +1174,25 @@ static u8_t lwip_ioctl_internal_SIOCGIFMTU(struct ifreq *ifr)
}
}
}
}
static
u8_t
lwip_ioctl_internal_SIOCGIFBRDADDR
(
struct
ifreq
*
ifr
)
{
struct
netif
*
netif
=
NULL
;
struct
sockaddr_in
*
sock_in
=
NULL
;
/* get netif subnet broadcast addr */
netif
=
netif_find
(
ifr
->
ifr_name
);
if
(
netif
==
NULL
)
{
return
ENODEV
;
}
if
(
ip4_addr_isany_val
(
*
(
ip_2_ip4
(
&
netif
->
netmask
))))
{
return
ENXIO
;
}
sock_in
=
(
struct
sockaddr_in
*
)
&
ifr
->
ifr_addr
;
sock_in
->
sin_family
=
AF_INET
;
sock_in
->
sin_addr
.
s_addr
=
(
ip_2_ip4
(
&
((
netif
)
->
ip_addr
))
->
addr
|
~
(
ip_2_ip4
(
&
netif
->
netmask
)
->
addr
));
return
0
;
}
#endif
/* LWIP_IOCTL_IF */
#endif
/* LWIP_IOCTL_IF */
#if LWIP_NETIF_ETHTOOL
#if LWIP_NETIF_ETHTOOL
...
@@ -1436,6 +1455,13 @@ static u8_t lwip_ioctl_impl(const struct lwip_sock *sock, long cmd, void *argp)
...
@@ -1436,6 +1455,13 @@ static u8_t lwip_ioctl_impl(const struct lwip_sock *sock, long cmd, void *argp)
case
SIOCSIFMTU
:
case
SIOCSIFMTU
:
err
=
lwip_ioctl_internal_SIOCSIFMTU
(
ifr
);
err
=
lwip_ioctl_internal_SIOCSIFMTU
(
ifr
);
break
;
break
;
case
SIOCGIFBRDADDR
:
if
(
is_ipv6
!=
0
)
{
err
=
EINVAL
;
}
else
{
err
=
lwip_ioctl_internal_SIOCGIFBRDADDR
(
ifr
);
}
break
;
#endif
/* LWIP_IOCTL_IF */
#endif
/* LWIP_IOCTL_IF */
#if LWIP_NETIF_ETHTOOL
#if LWIP_NETIF_ETHTOOL
case
SIOCETHTOOL
:
case
SIOCETHTOOL
:
...
@@ -1549,6 +1575,7 @@ int socks_ioctl(int sockfd, long cmd, void *argp)
...
@@ -1549,6 +1575,7 @@ int socks_ioctl(int sockfd, long cmd, void *argp)
case
SIOCGIFMTU
:
case
SIOCGIFMTU
:
case
SIOCSIFMTU
:
case
SIOCSIFMTU
:
case
SIOCETHTOOL
:
case
SIOCETHTOOL
:
case
SIOCGIFBRDADDR
:
nbytes
=
sizeof
(
struct
ifreq
);
nbytes
=
sizeof
(
struct
ifreq
);
break
;
break
;
default:
default:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录