Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tools-mirror
Micropython
提交
a88c30c6
M
Micropython
项目概览
tools-mirror
/
Micropython
12 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
Micropython
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a88c30c6
编写于
1月 26, 2014
作者:
P
Paul Sokolovsky
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
unix socket: Add setsockopt() method.
上级
9d95a2b2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
24 addition
and
0 deletion
+24
-0
unix/socket.c
unix/socket.c
+24
-0
未找到文件。
unix/socket.c
浏览文件 @
a88c30c6
...
...
@@ -162,6 +162,29 @@ static mp_obj_t socket_send(uint n_args, const mp_obj_t *args) {
}
static
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN
(
socket_send_obj
,
2
,
3
,
socket_send
);
static
mp_obj_t
socket_setsockopt
(
uint
n_args
,
const
mp_obj_t
*
args
)
{
mp_obj_socket_t
*
self
=
args
[
0
];
int
level
=
MP_OBJ_SMALL_INT_VALUE
(
args
[
1
]);
int
option
=
mp_obj_get_int
(
args
[
2
]);
const
void
*
optval
;
socklen_t
optlen
;
if
(
MP_OBJ_IS_INT
(
args
[
3
]))
{
int
val
=
mp_obj_int_get
(
args
[
3
]);
optval
=
&
val
;
optlen
=
sizeof
(
val
);
}
else
{
buffer_info_t
bufinfo
;
get_buffer
(
args
[
3
],
&
bufinfo
);
optval
=
bufinfo
.
buf
;
optlen
=
bufinfo
.
len
;
}
int
r
=
setsockopt
(
self
->
fd
,
level
,
option
,
optval
,
optlen
);
RAISE_ERRNO
(
r
,
errno
);
return
mp_const_none
;
}
static
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN
(
socket_setsockopt_obj
,
4
,
4
,
socket_setsockopt
);
static
mp_obj_t
socket_make_new
(
mp_obj_t
type_in
,
uint
n_args
,
uint
n_kw
,
const
mp_obj_t
*
args
)
{
int
family
=
AF_INET
;
int
type
=
SOCK_STREAM
;
...
...
@@ -196,6 +219,7 @@ static const mp_method_t rawsocket_type_methods[] = {
{
"accept"
,
&
socket_accept_obj
},
{
"recv"
,
&
socket_recv_obj
},
{
"send"
,
&
socket_send_obj
},
{
"setsockopt"
,
&
socket_setsockopt_obj
},
{
"close"
,
&
socket_close_obj
},
#if MICROPY_SOCKET_EXTRA
{
"recv"
,
&
mp_stream_read_obj
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录