未验证 提交 7f1157e0 编写于 作者: 还_没_想_好's avatar 还_没_想_好 提交者: GitHub

[drivers][serial] ioctl add F_SETFL cmd (#5876)

上级 7c99148f
......@@ -115,6 +115,8 @@ static int serial_fops_close(struct dfs_fd *fd)
static int serial_fops_ioctl(struct dfs_fd *fd, int cmd, void *args)
{
rt_device_t device;
int flags = (int)(rt_base_t)args;
int mask = O_NONBLOCK | O_APPEND;
device = (rt_device_t)fd->data;
switch (cmd)
......@@ -123,6 +125,11 @@ static int serial_fops_ioctl(struct dfs_fd *fd, int cmd, void *args)
break;
case FIONWRITE:
break;
case F_SETFL:
flags &= mask;
fd->flags &= ~mask;
fd->flags |= flags;
break;
}
return rt_device_control(device, cmd, args);
......
......@@ -94,6 +94,8 @@ static int serial_fops_close(struct dfs_fd *fd)
static int serial_fops_ioctl(struct dfs_fd *fd, int cmd, void *args)
{
rt_device_t device;
int flags = (int)(rt_base_t)args;
int mask = O_NONBLOCK | O_APPEND;
device = (rt_device_t)fd->data;
switch (cmd)
......@@ -102,6 +104,11 @@ static int serial_fops_ioctl(struct dfs_fd *fd, int cmd, void *args)
break;
case FIONWRITE:
break;
case F_SETFL:
flags &= mask;
fd->flags &= ~mask;
fd->flags |= flags;
break;
}
return rt_device_control(device, cmd, args);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册