19.html

来自「linux 0.11中文版 有注释」· HTML 代码 · 共 60 行

HTML
60
字号
<html>
<head>
<title>CURRENT</title>
<meta name='robots' content='noindex,nofollow'>
<meta name='generator' content='GLOBAL-5.4.1'>
</head>
<body text='#191970' bgcolor='#f5f5dc' vlink='gray'>
<pre>
<a href='../S/54.html#L117'>CURRENT</a>           117 kernel/blk_drv/blk.h #define CURRENT_DEV DEVICE_NR(CURRENT-&gt;dev)	// CURRENT_DEV 为CURRENT 的设备号。
<a href='../S/54.html#L138'>CURRENT</a>           138 kernel/blk_drv/blk.h   DEVICE_OFF (CURRENT-&gt;dev);	// 关闭设备。
<a href='../S/54.html#L139'>CURRENT</a>           139 kernel/blk_drv/blk.h   if (CURRENT-&gt;bh)
<a href='../S/54.html#L141'>CURRENT</a>           141 kernel/blk_drv/blk.h       CURRENT-&gt;bh-&gt;b_uptodate = uptodate;	// 置更新标志。
<a href='../S/54.html#L142'>CURRENT</a>           142 kernel/blk_drv/blk.h       unlock_buffer (CURRENT-&gt;bh);	// 解锁缓冲区。
<a href='../S/54.html#L147'>CURRENT</a>           147 kernel/blk_drv/blk.h       printk ("dev %04x, block %d\n\r", CURRENT-&gt;dev, CURRENT-&gt;bh-&gt;b_blocknr);
<a href='../S/54.html#L149'>CURRENT</a>           149 kernel/blk_drv/blk.h   wake_up (&amp;CURRENT-&gt;waiting);	// 唤醒等待该请求项的进程。
<a href='../S/54.html#L151'>CURRENT</a>           151 kernel/blk_drv/blk.h   CURRENT-&gt;dev = -1;		// 释放该请求项。
<a href='../S/54.html#L152'>CURRENT</a>           152 kernel/blk_drv/blk.h   CURRENT = CURRENT-&gt;next;	// 从请求链表中删除该请求项。
<a href='../S/54.html#L158'>CURRENT</a>           158 kernel/blk_drv/blk.h if (!CURRENT) \			// 如果当前请求结构指针为null 则返回。
<a href='../S/54.html#L160'>CURRENT</a>           160 kernel/blk_drv/blk.h if (MAJOR (CURRENT-&gt;dev) != MAJOR_NR)
<a href='../S/54.html#L163'>CURRENT</a>           163 kernel/blk_drv/blk.h if (CURRENT-&gt;bh)
<a href='../S/54.html#L165'>CURRENT</a>           165 kernel/blk_drv/blk.h     if (!CURRENT-&gt;bh-&gt;b_lock)
<a href='../S/55.html#L255'>CURRENT</a>           255 kernel/blk_drv/floppy.c   long addr = (long) CURRENT-&gt;buffer;	// 当前请求项缓冲区所处内存中位置(地址)。
<a href='../S/55.html#L264'>CURRENT</a>           264 kernel/blk_drv/floppy.c 	copy_buffer (CURRENT-&gt;buffer, tmp_floppy_area);
<a href='../S/55.html#L355'>CURRENT</a>           355 kernel/blk_drv/floppy.c   CURRENT-&gt;errors++;		// 当前请求项出错次数增1。
<a href='../S/55.html#L357'>CURRENT</a>           357 kernel/blk_drv/floppy.c   if (CURRENT-&gt;errors &gt; MAX_ERRORS)
<a href='../S/55.html#L364'>CURRENT</a>           364 kernel/blk_drv/floppy.c   if (CURRENT-&gt;errors &gt; MAX_ERRORS / 2)
<a href='../S/55.html#L403'>CURRENT</a>           403 kernel/blk_drv/floppy.c   if (command == FD_READ &amp;&amp; (unsigned long) (CURRENT-&gt;buffer) &gt;= 0x100000)
<a href='../S/55.html#L404'>CURRENT</a>           404 kernel/blk_drv/floppy.c     copy_buffer (tmp_floppy_area, CURRENT-&gt;buffer);
<a href='../S/55.html#L650'>CURRENT</a>           650 kernel/blk_drv/floppy.c   floppy = (MINOR (CURRENT-&gt;dev) &gt;&gt; 2) + floppy_type;
<a href='../S/55.html#L658'>CURRENT</a>           658 kernel/blk_drv/floppy.c   block = CURRENT-&gt;sector;	// 取当前软盘请求项中起始扇区号??block。
<a href='../S/55.html#L674'>CURRENT</a>           674 kernel/blk_drv/floppy.c   if (CURRENT-&gt;cmd == READ)	// 如果请求项中是读操作,则置软盘读命令码。
<a href='../S/55.html#L676'>CURRENT</a>           676 kernel/blk_drv/floppy.c   else if (CURRENT-&gt;cmd == WRITE)	// 如果请求项中是写操作,则置软盘写命令码。
<a href='../S/56.html#L328'>CURRENT</a>           328 kernel/blk_drv/hd.c   if (++CURRENT-&gt;errors &gt;= MAX_ERRORS)	// 如果读扇区时的出错次数大于或等于7 次时,
<a href='../S/56.html#L331'>CURRENT</a>           331 kernel/blk_drv/hd.c   if (CURRENT-&gt;errors &gt; MAX_ERRORS / 2)	// 如果读一扇区时的出错次数已经大于3 次,
<a href='../S/56.html#L344'>CURRENT</a>           344 kernel/blk_drv/hd.c   port_read (HD_DATA, CURRENT-&gt;buffer, 256);	// 将数据从数据寄存器口读到请求结构缓冲区。
<a href='../S/56.html#L345'>CURRENT</a>           345 kernel/blk_drv/hd.c   CURRENT-&gt;errors = 0;		// 清出错次数。
<a href='../S/56.html#L346'>CURRENT</a>           346 kernel/blk_drv/hd.c   CURRENT-&gt;buffer += 512;	// 调整缓冲区指针,指向新的空区。
<a href='../S/56.html#L347'>CURRENT</a>           347 kernel/blk_drv/hd.c   CURRENT-&gt;sector++;		// 起始扇区号加1,
<a href='../S/56.html#L348'>CURRENT</a>           348 kernel/blk_drv/hd.c   if (--CURRENT-&gt;nr_sectors)
<a href='../S/56.html#L368'>CURRENT</a>           368 kernel/blk_drv/hd.c   if (--CURRENT-&gt;nr_sectors)
<a href='../S/56.html#L370'>CURRENT</a>           370 kernel/blk_drv/hd.c       CURRENT-&gt;sector++;	// 当前请求起始扇区号+1,
<a href='../S/56.html#L371'>CURRENT</a>           371 kernel/blk_drv/hd.c       CURRENT-&gt;buffer += 512;	// 调整请求缓冲区指针,
<a href='../S/56.html#L373'>CURRENT</a>           373 kernel/blk_drv/hd.c       port_write (HD_DATA, CURRENT-&gt;buffer, 256);	// 再向数据寄存器端口写256 字节。
<a href='../S/56.html#L399'>CURRENT</a>           399 kernel/blk_drv/hd.c     dev = MINOR (CURRENT-&gt;dev);	// CURRENT 定义为(blk_dev[MAJOR_NR].current_request)。
<a href='../S/56.html#L400'>CURRENT</a>           400 kernel/blk_drv/hd.c     block = CURRENT-&gt;sector;	// 请求的起始扇区。
<a href='../S/56.html#L420'>CURRENT</a>           420 kernel/blk_drv/hd.c   nsect = CURRENT-&gt;nr_sectors;	// 欲读/写的扇区数。
<a href='../S/56.html#L439'>CURRENT</a>           439 kernel/blk_drv/hd.c   if (CURRENT-&gt;cmd == WRITE)
<a href='../S/56.html#L451'>CURRENT</a>           451 kernel/blk_drv/hd.c       port_write (HD_DATA, CURRENT-&gt;buffer, 256);
<a href='../S/56.html#L454'>CURRENT</a>           454 kernel/blk_drv/hd.c   else if (CURRENT-&gt;cmd == READ)
<a href='../S/59.html#L45'>CURRENT</a>            45 kernel/blk_drv/ramdisk.c   addr = rd_start + (CURRENT-&gt;sector &lt;&lt; 9);
<a href='../S/59.html#L46'>CURRENT</a>            46 kernel/blk_drv/ramdisk.c   len = CURRENT-&gt;nr_sectors &lt;&lt; 9;
<a href='../S/59.html#L49'>CURRENT</a>            49 kernel/blk_drv/ramdisk.c   if ((MINOR (CURRENT-&gt;dev) != 1) || (addr + len &gt; rd_start + rd_length))
<a href='../S/59.html#L55'>CURRENT</a>            55 kernel/blk_drv/ramdisk.c   if (CURRENT-&gt;cmd == WRITE)
<a href='../S/59.html#L57'>CURRENT</a>            57 kernel/blk_drv/ramdisk.c       (void) memcpy (addr, CURRENT-&gt;buffer, len);
<a href='../S/59.html#L60'>CURRENT</a>            60 kernel/blk_drv/ramdisk.c   else if (CURRENT-&gt;cmd == READ)
<a href='../S/59.html#L62'>CURRENT</a>            62 kernel/blk_drv/ramdisk.c       (void) memcpy (CURRENT-&gt;buffer, addr, len);
</pre>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?