-
2019-04-23 18:47:16
tty_insert_flip_string(porty, (u8 *)rx_buf, i);
tty_flip_buffer_push(porty);-->
void tty_flip_buffer_push(struct tty_port *port)
{
tty_schedule_flip(port);
}-->
void tty_schedule_flip(struct tty_port *port)
{
struct tty_bufhead *buf = &port->buf;/* paired w/ acquire in flush_to_ldisc(); ensures
* flush_to_ldisc() sees buffer data.
*/
smp_store_release(&buf->tail->commit, buf->tail->used);
queue_work(system_unbound_wq, &buf->work);
}---------------------------------------------------------------------------->
INIT_WORK(&buf->work, flush_to_ldisc);
-->
static void flush_to_ldisc(struct work_struct *work)
{count = receive_buf(disc, head, count);
}
-->
static int
receive_buf(struct tty_ldisc *ld, struct tty_buffer *head, int count)
{
unsigned char *p = char_buf_ptr(head, head->read);
char *f = NULL;if (~head->flags & TTYB_NORMAL)
f = flag_buf_ptr(head, head->read);return tty_ldisc_receive_buf(ld, p, f, count);
}-->
int tty_ldisc_receive_buf(struct tty_ldisc *ld, unsigned char *p,
char *f, int count)
{
if (ld->ops->receive_buf2)
count = ld->ops->receive_buf2(ld->tty, p, f, count);
else {
count = min_t(int, count, ld->tty->receive_room);
if (count && ld->ops->receive_buf)
ld->ops->receive_buf(ld->tty, p, f, count);
}
return count;
}-->
2441 static struct tty_ldisc_ops n_tty_ops = {
2442 .magic = TTY_LDISC_MAGIC,
2443 .name = "n_tty",
2444 .open = n_tty_open,
2445 .close = n_tty_close,
2446 .flush_buffer = n_tty_flush_buffer,
2447 .read = n_tty_read,
2448 .write = n_tty_write,
2449 .ioctl = n_tty_ioctl,
2450 .set_termios = n_tty_set_termios,
2451 .poll = n_tty_poll,
2452 .receive_buf = n_tty_receive_buf,
2453 .write_wakeup = n_tty_write_wakeup,
2454 .receive_buf2 = n_tty_receive_buf2,
2455 };
-->static void n_tty_receive_buf(struct tty_struct *tty, const unsigned char *cp,
char *fp, int count)
{
n_tty_receive_buf_common(tty, cp, fp, count, 0);
}--->
static void __receive_buf(struct tty_struct *tty, const unsigned char *cp,
char *fp, int count)
{
struct n_tty_data *ldata = tty->disc_data;
bool preops = I_ISTRIP(tty) || (I_IUCLC(tty) && L_IEXTEN(tty));if (ldata->real_raw)
n_tty_receive_buf_real_raw(tty, cp, fp, count);
else if (ldata->raw || (L_EXTPROC(tty) && !preops))
n_tty_receive_buf_raw(tty, cp, fp, count);
-->static void
n_tty_receive_buf_real_raw(struct tty_struct *tty, const unsigned char *cp,
char *fp, int count)
{
struct n_tty_data *ldata = tty->disc_data;
size_t n, head;
head = ldata->read_head & (N_TTY_BUF_SIZE - 1);
n = min_t(size_t, count, N_TTY_BUF_SIZE - head);
memcpy(read_buf_addr(ldata, head), cp, n);
ldata->read_head += n;
cp += n;
count -= n;
head = ldata->read_head & (N_TTY_BUF_SIZE - 1);
n = min_t(size_t, count, N_TTY_BUF_SIZE - head);
memcpy(read_buf_addr(ldata, head), cp, n);
ldata->read_head += n;
}更多相关内容 -
概述Linux TTY/PTS的区别
2020-09-14 21:42:45主要介绍了概述Linux TTY/PTS的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
Shell脚本实现关闭多余的tty终端
2020-09-15 17:59:37主要介绍了Shell脚本实现关闭多余的tty终端,本文脚本适用centos6系统,请根据自己的服务器系统情况选择使用,需要的朋友可以参考下 -
tty-progressbar:在终端中显示一个或多个进度条
2021-02-06 12:27:37TTY :: ProgressBar 灵活而可扩展的进度条,适用于终端应用程序。 TTY :: ProgressBar为工具箱提供独立的进度条组件。 产品特点 可定制从许多选项中进行选择,以获取所需的行为。 灵活。 描述条形并从许多预定义... -
container-web-tty:通过Web-tty连接容器
2021-02-06 05:00:36集装箱网TTY 厌倦了键入docker ps | grep xxx docker ps | grep xxx && docker exec -ti xxxx sh ? 试试我! 尽管我喜欢终端,但我仍然希望有一个更好的工具进入容器以进行一些调试或检查。 所以我建立了这个... -
Linux设备模型之tty驱动架构分析
2021-03-04 05:25:31Tty这个名称源于电传打字节的简称。在linux表示各种终端。终端通常都跟硬件相对应。比如对应于输入设备键盘鼠标。输出设备显示器的控制终端和串口终端.也有对应于不存在设备的pty驱动。在如此众多的终端模型之中,... -
tty-table:灵活直观的表格生成器
2021-05-04 20:47:25TTY ::表 灵活直观的表格格式。 TTY :: Table为工具包提供了独立的表格格式组件。 特征 表的行为类似于具有熟悉的API的数组, 一次创建表格并使用自定义视图渲染器进行渲染, 渲染提供了许多显示选项, 轻松自定义... -
tty-share:通过Internet共享您Linux或osx终端
2021-05-14 14:00:06tty分享 是一个非常简单的工具,用于通过Internet共享Linux / OSX终端。 它是用GO编写的,会生成没有依赖性的静态跨平台二进制文件,因此也可以在您的Raspberry Pi上使用。 远程参与者不需要设置,他们可以从浏览器... -
linux虚拟tty驱动(kernel4.9版本以上)
2020-03-21 13:57:45linux虚拟tty驱动(kernel4.9版本以上),可产生多个tty串口设备于/dev/下,本人在Hi3516上交叉编译并应用,实现多个虚拟串口同时控制一个实际串口的操作 -
notty:notty 是一个命令行工具,用于将进程与 tty 分离
2021-05-30 10:23:03notty是一个命令行工具,用于将进程与 tty 分离。 要求 编译器(gcc、clang 等) OS X(在 10.10 上测试) 指示 make make install 关于 该代码最初来自 ,只做了一些小修复即可在 OS X 上运行。 -
tty-prompt:漂亮而强大的交互式命令行提示符
2021-01-29 18:41:31TTY ::提示 漂亮而强大的交互式命令行提示符。 TTY :: Prompt为工具包提供了独立的提示组件。 产品特点 收集用户输入的提示类型数 用于验证复杂输入的强大API 用户友好的错误反馈 直观的DSL,用于创建复杂的菜单 ... -
tty命令 打印输出连接到标准输入的终端文件名
2021-01-20 14:58:53tty是 Teletype(电传打字机)的缩写,电传打字机是最早出现的一种终端设备,现在通常使用 TTY 来统称各种类型的终端设备,如键盘 、打印机 、显示器等。 pty(虚拟终端): 如果我们远程telnet到主机或使用xterm时,... -
计算机控制工程,TTY接受程序
2018-02-04 22:40:51计算机控制工程,TTY接受程序计算机控制工程,TTY接受程序计算机控制工程,TTY接受程序 -
tty-config:随便为终端客户端定义,读取和写入任何Ruby应用程序配置
2021-02-06 05:03:29TTY :: Config 定义,读取和编写任何Ruby应用程序配置,并带有终端客户端的喜好。 TTY :: Config为工具箱提供了应用程序配置组件。 产品特点 这是一站式服务,可满足您的所有配置需求: 读取和写入YAML,JSON,... -
Node.js API详解之 tty功能与用法实例分析
2020-12-20 15:54:25本文实例讲述了Node.js API详解之 tty功能与用法。分享给大家供大家参考,具体如下: tty 可以理解为终端的意思。tty 模块提供终端相关的接口,用来获取终端的行数列数等。 通过 const tty = require(‘tty’); 的... -
jenkins-tty.hs:Jenkins的简约CLI客户端
2021-05-28 20:01:08詹金斯·蒂蒂(Jenkins TTY) 流行的持续集成工具Jenkins的简约命令行界面。 基本原理 Jenkins具有很多功能,但是缺少适合日常使用的简单命令行界面。 虽然内置的工具允许对管理操作(例如,加载作业和插件)以及... -
华为 NE05E&NE08E V300R003C10SPC500 特性描述 - 基础配置 TTY
2022-04-18 09:14:09终端类型TTY(Terminal Type)也叫做终端服务,为用户配置设备时提供接入接口和人 机交互机制。 -
tty-markdown:将markdown文档或文本转换为终端友好的输出
2021-02-04 06:53:50TTY :: Markdown 将降价文档或文本转换为终端友好的输出。 TTY :: Markdown为工具箱提供了独立的降价处理组件。 安装 将此行添加到您的应用程序的Gemfile中: gem 'tty-markdown' 然后执行: $ bundle 或自己... -
tty-logger:终端的可读,结构化且美观的日志
2021-02-01 03:45:02TTY ::记录器 终端的可读性,结构化和优美的日志记录 TTY :: Logger为提供了独立的日志记录组件。 产品特点 直观的控制台输出可提高可读性 能够将数据流传输到任何IO对象 支持结构化数据记录 筛选敏感数据 允许定义... -
tty-pie:在终端窗口中绘制饼图
2021-02-06 05:00:05TTY:派 在终端窗口中绘制饼图 TTY :: Pie为工具箱提供了饼图绘制组件。 安装 将此行添加到您的应用程序的Gemfile中: gem "tty-pie" 然后执行: $ bundle 或自己安装为: $ gem install tty-pie 内容 1.用法 ... -
console-agent:term.js代理通过WebSocket与Docker容器TTY对话
2021-05-22 04:45:35代理通过WebSocket与容器TTY对话 安装 git clone https://github.com/rancherio/console-agent cd console-agent npm install 用法 在Docker主机上启动代理: ./agent.js [--port < num> ] [--bind < ip> ] [--... -
TTY485---980元 :RS-485/电流环转换器.PDF
2019-11-01 18:24:10TTY485---980元 :RS-485/电流环转换器PDF,TTY485---980元RS-485/电流环转换器一、用途RS485/电流环转换器(型号:TTY485)用于 RS485 与 20mA 电流环的相互转换,可以延长电流环的通信距离到 1200 米。TTY485 只用... -
linux-TTY子系统.pdf
2020-07-24 17:32:47在Linux系统中, 与终端相关的概念很容易让人迷糊. 首先有终端这个概念, 然后还有各种类型的终端(串口终端, 伪终端, 控制台终端, 控制终端), 还有一个概念叫console. 那么什么是终端? 什么是控制台终端?... -
TTY232---480元:RS-232/电流环转换器.PDF
2019-09-14 00:46:51TTY232---480元:RS-232/电流环转换器PDF,TTY232---480元 RS-232/电流环转换器 数字信号转变一、用途RS-232/电流环转换器(型号:TTY232)用于RS-232与20mA电流环的相互转换,可以延长RS-232的通信距离到1000米。TTY... -
tty-colors:使用 ANSI 转义码扩展字符串以在终端中设置字符串样式
2021-06-06 12:49:13tty 颜色 使用 ANSI 转义码扩展字符串的小模块,用于在终端中设置字符串样式。 用法示例: // enable colors in console require ( 'tty-colors' ) ; // print something in green console . log ( 'something' ... -
虚拟终端notty.zip
2019-07-19 09:47:45notty 是个类似 xterm,GNOME-vte,sh 和 rxvt 的终端模拟器。跟那些程序不一样的地方是,notty 不是为了模拟一个 DEC VT 系列的物理视频终端,或者是其他物理设备,而是为其他终端无法模拟的物理终端命令行添加新... -
困境:Go程序的TTY选择提示
2021-02-06 01:03:11