📄 7.html
字号:
<html>
<head>
<title>fs/char_dev.c</title>
<meta name='robots' content='noindex,nofollow'>
<meta name='generator' content='GLOBAL-5.4.1'>
</head>
<body text='#191970' bgcolor='#f5f5dc' vlink='gray'>
<a name='TOP'><h2><a href='../mains.html'>root</a>/<a href='../files/98.html'>fs</a>/char_dev.c</h2>
<i><font color='green'>/* [<][>]<a href='#L22'>[^]</a><a href='#L147'>[v]</a>[top]<a href='#BOTTOM'>[bottom]</a><a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</font></i>
<hr>
<h2>DEFINITIONS</h2>
This source file includes following definitions.
<ol>
<li><a href='#L22' title='Defined at 22.'>pos</a>
<li><a href='#L29' title='Defined at 29.'>buf</a>
<li><a href='#L29' title='Defined at 29.'>count</a>
<li><a href='#L29' title='Defined at 29.'>rw</a>
<li><a href='#L29' title='Defined at 29.'>minor</a>
<li><a href='#L31' title='Defined at 31.'>tty_read</a>
<li><a href='#L32' title='Defined at 32.'>tty_write</a>
<li><a href='#L38' title='Defined at 38.'>count</a>
<li><a href='#L38' title='Defined at 38.'>buf</a>
<li><a href='#L38' title='Defined at 38.'>minor</a>
<li><a href='#L38' title='Defined at 38.'>rw</a>
<li><a href='#L42' title='Defined at 42.'>EPERM</a>
<li><a href='#L44' title='Defined at 44.'>count</a>
<li><a href='#L44' title='Defined at 44.'>rw</a>
<li><a href='#L44' title='Defined at 44.'>buf</a>
<li><a href='#L44' title='Defined at 44.'>tty</a>
<li><a href='#L44' title='Defined at 44.'>pos</a>
<li><a href='#L49' title='Defined at 49.'>rw</a>
<li><a href='#L49' title='Defined at 49.'>count</a>
<li><a href='#L49' title='Defined at 49.'>buf</a>
<li><a href='#L51' title='Defined at 51.'>EIO</a>
<li><a href='#L56' title='Defined at 56.'>buf</a>
<li><a href='#L56' title='Defined at 56.'>count</a>
<li><a href='#L56' title='Defined at 56.'>rw</a>
<li><a href='#L58' title='Defined at 58.'>EIO</a>
<li><a href='#L63' title='Defined at 63.'>count</a>
<li><a href='#L63' title='Defined at 63.'>rw</a>
<li><a href='#L63' title='Defined at 63.'>buf</a>
<li><a href='#L65' title='Defined at 65.'>EIO</a>
<li><a href='#L72' title='Defined at 72.'>rw</a>
<li><a href='#L72' title='Defined at 72.'>count</a>
<li><a href='#L72' title='Defined at 72.'>buf</a>
<li><a href='#L74' title='Defined at 74.'>pos</a>
<li><a href='#L81' title='Defined at 81.'>inb</a>
<li><a href='#L81' title='Defined at 81.'>buf</a>
<li><a href='#L84' title='Defined at 84.'>get_fs_byte</a>
<li><a href='#L84' title='Defined at 84.'>i</a>
<li><a href='#L86' title='Defined at 86.'>i</a>
<li><a href='#L89' title='Defined at 89.'>pos</a>
<li><a href='#L90' title='Defined at 90.'>i</a>
<li><a href='#L92' title='Defined at 92.'>i</a>
<li><a href='#L97' title='Defined at 97.'>minor</a>
<li><a href='#L97' title='Defined at 97.'>count</a>
<li><a href='#L97' title='Defined at 97.'>rw</a>
<li><a href='#L97' title='Defined at 97.'>buf</a>
<li><a href='#L103' title='Defined at 103.'>count</a>
<li><a href='#L103' title='Defined at 103.'>pos</a>
<li><a href='#L103' title='Defined at 103.'>buf</a>
<li><a href='#L103' title='Defined at 103.'>rw</a>
<li><a href='#L105' title='Defined at 105.'>pos</a>
<li><a href='#L105' title='Defined at 105.'>rw</a>
<li><a href='#L105' title='Defined at 105.'>buf</a>
<li><a href='#L105' title='Defined at 105.'>count</a>
<li><a href='#L107' title='Defined at 107.'>count</a>
<li><a href='#L107' title='Defined at 107.'>buf</a>
<li><a href='#L107' title='Defined at 107.'>rw</a>
<li><a href='#L107' title='Defined at 107.'>pos</a>
<li><a href='#L109' title='Defined at 109.'>count</a>
<li><a href='#L111' title='Defined at 111.'>pos</a>
<li><a href='#L111' title='Defined at 111.'>count</a>
<li><a href='#L111' title='Defined at 111.'>rw</a>
<li><a href='#L111' title='Defined at 111.'>buf</a>
<li><a href='#L113' title='Defined at 113.'>EIO</a>
<li><a href='#L122' title='Defined at 122.'>NULL</a>
<li><a href='#L123' title='Defined at 123.'>rw_memory</a>
<li><a href='#L124' title='Defined at 124.'>NULL</a>
<li><a href='#L125' title='Defined at 125.'>NULL</a>
<li><a href='#L126' title='Defined at 126.'>rw_ttyx</a>
<li><a href='#L127' title='Defined at 127.'>rw_tty</a>
<li><a href='#L128' title='Defined at 128.'>NULL</a>
<li><a href='#L130' title='Defined at 130.'>NULL</a>
<li><a href='#L136' title='Defined at 136.'>dev</a>
<li><a href='#L136' title='Defined at 136.'>count</a>
<li><a href='#L136' title='Defined at 136.'>rw</a>
<li><a href='#L136' title='Defined at 136.'>buf</a>
<li><a href='#L138' title='Defined at 138.'>call_addr</a>
<li><a href='#L142' title='Defined at 142.'>ENODEV</a>
<li><a href='#L145' title='Defined at 145.'>ENODEV</a>
<li><a href='#L147' title='Defined at 147.'>count</a>
<li><a href='#L147' title='Defined at 147.'>pos</a>
<li><a href='#L147' title='Defined at 147.'>rw</a>
<li><a href='#L147' title='Defined at 147.'>buf</a>
<li><a href='#L147' title='Defined at 147.'>MINOR</a>
</ol>
<hr>
<pre>
<a name='L1'><i><font color='green'>/*</font></i>
<a name='L2'><i><font color='green'>* linux/fs/char_dev.c</font></i>
<a name='L3'><i><font color='green'>*</font></i>
<a name='L4'><i><font color='green'>* (C) 1991 Linus Torvalds</font></i>
<a name='L5'><i><font color='green'>*/</font></i>
<a name='L6'>
<a name='L7'><font color='darkred'>#include</font> <<a href='28.html'>errno.h</a>> <i><font color='green'>// 错误号头文件。包含系统中各种出错号。(Linus 从minix 中引进的)。</font></i>
<a name='L8'><font color='darkred'>#include</font> <<a href='45.html'>sys/types.h</a>> <i><font color='green'>// 类型头文件。定义了基本的系统数据类型。</font></i>
<a name='L9'>
<a name='L10'><font color='darkred'>#include</font> <<a href='36.html'>linux/sched.h</a>> <i><font color='green'>// 调度程序头文件,定义了任务结构task_struct、初始任务0 的数据,</font></i>
<a name='L11'><i><font color='green'>// 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句。</font></i>
<a name='L12'><font color='darkred'>#include</font> <<a href='34.html'>linux/kernel.h</a>> <i><font color='green'>// 内核头文件。含有一些内核常用函数的原形定义。</font></i>
<a name='L13'>
<a name='L14'><font color='darkred'>#include</font> <<a href='24.html'>asm/segment.h</a>> <i><font color='green'>// 段操作头文件。定义了有关段寄存器操作的嵌入式汇编函数。</font></i>
<a name='L15'><font color='darkred'>#include</font> <<a href='22.html'>asm/io.h</a>> <i><font color='green'>// io 头文件。定义硬件端口输入/输出宏汇编语句。</font></i>
<a name='L16'>
<a name='L17'><b>extern</b> <b>int</b> <a href='../D/1092.html' title='Multiple defined in 2 places.'>tty_read</a> (<b>unsigned</b> minor, <b>char</b> *buf, <b>int</b> count); <i><font color='green'>// 终端读。</font></i>
<a name='L18'><b>extern</b> <b>int</b> <a href='../D/1093.html' title='Multiple defined in 2 places.'>tty_write</a> (<b>unsigned</b> minor, <b>char</b> *buf, <b>int</b> count); <i><font color='green'>// 终端写。</font></i>
<a name='L19'>
<a name='L20'><i><font color='green'>// 定义字符设备读写函数指针类型。</font></i>
<a name='L21'><b>typedef</b> (*crw_ptr) (<b>int</b> <a href='../R/581.html' title='Multiple refered from 9 places.'>rw</a>, <b>unsigned</b> minor, <b>char</b> *<a href='../R/394.html' title='Multiple refered from 76 places.'>buf</a>, <b>int</b> <a href='../R/414.html' title='Multiple refered from 56 places.'>count</a>,
<a name='L22'> off_t * <a href='../R/552.html' title='Multiple refered from 40 places.'>pos</a>);
<a name='L23'>
<a name='L24'><i><font color='green'>//// 串口终端读写操作函数。</font></i>
<a name='L25'><i><font color='green'>// 参数:rw - 读写命令;minor - 终端子设备号;buf - 缓冲区;cout - 读写字节数;</font></i>
<a name='L26'><i><font color='green'>// pos - 读写操作当前指针,对于终端操作,该指针无用。</font></i>
<a name='L27'><i><font color='green'>// 返回:实际读写的字节数。</font></i>
<a name='L28'><b>static</b> <b>int</b>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -