BOOK.PS
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2328k
源码类别:

操作系统开发

开发平台:

C/C++

  1. (not)126 2328 A
  2. (ready\n",)378 2496 A
  3. (w_name());)420 2916 A
  4. 3690 V
  5. (10781)210 648 A
  6. (return(ERR);)504 1362 A
  7. 3780 V
  8. (10782)210 648 A
  9. 1110(})S
  10. 3870 V
  11. (10783)210 648 A
  12. 3960 V
  13. (10784)210 648 A
  14. 1110(/*)S
  15. (Select)252 1236 A
  16. (drive.)252 1530 A
  17. 1824(*/)S
  18. 4050 V
  19. (10785)210 648 A
  20. (out_byte(base)546 1110 A
  21. 1698(+)S
  22. (REG_LDH,)336 1782 A
  23. (cmd->ldh);)420 2160 A
  24. 4140 V
  25. (10786)210 648 A
  26. 4230 V
  27. (10787)210 648 A
  28. 1110(if)S
  29. ((!waitfor(STATUS_BSY,)882 1236 A
  30. (0)))126 2160 A
  31. 2328({)S
  32. 4320 V
  33. (10788)210 648 A
  34. (printf("%s:)462 1362 A
  35. (drive)210 1866 A
  36. (not)126 2118 A
  37. (ready\n",)378 2286 A
  38. (w_name());)420 2706 A
  39. 4410 V
  40. (10789)210 648 A
  41. (return(ERR);)504 1362 A
  42. 4500 V
  43. (10790)210 648 A
  44. 1110(})S
  45. 4590 V
  46. (10791)210 648 A
  47. 4680 V
  48. (10792)210 648 A
  49. 1110(/*)S
  50. (Schedule)336 1236 A
  51. 1614(a)S
  52. (wakeup)252 1698 A
  53. (call,)210 1992 A
  54. (some)168 2244 A
  55. (controllers)462 2454 A
  56. (are)126 2958 A
  57. (flaky.)252 3126 A
  58. 3420(*/)S
  59. 4770 V
  60. (10793)210 648 A
  61. (clock_mess(WAKEUP,)756 1110 A
  62. (w_timeout);)462 1908 A
  63. 4860 V
  64. (10794)210 648 A
  65. 4950 V
  66. (10795)210 648 A
  67. (out_byte(base)546 1110 A
  68. 1698(+)S
  69. (REG_CTL,)336 1782 A
  70. (wn->pheads)420 2160 A
  71. 2622(>=)S
  72. 2748(8)S
  73. 2832(?)S
  74. (CTL_EIGHTHEADS)588 2916 A
  75. 3546(:)S
  76. (0);)126 3630 A
  77. 5040 V
  78. (10796)210 648 A
  79. (out_byte(base)546 1110 A
  80. 1698(+)S
  81. (REG_PRECOMP,)504 1782 A
  82. (cmd->precomp);)588 2328 A
  83. 5130 V
  84. (10797)210 648 A
  85. (out_byte(base)546 1110 A
  86. 1698(+)S
  87. (REG_COUNT,)420 1782 A
  88. (cmd->count);)504 2244 A
  89. 5220 V
  90. (10798)210 648 A
  91. (out_byte(base)546 1110 A
  92. 1698(+)S
  93. (REG_SECTOR,)462 1782 A
  94. (cmd->sector);)546 2286 A
  95. 5310 V
  96. (10799)210 648 A
  97. (out_byte(base)546 1110 A
  98. 1698(+)S
  99. (REG_CYL_LO,)462 1782 A
  100. (cmd->cyl_lo);)546 2286 A
  101. 5400 V
  102. (10800)210 648 A
  103. (out_byte(base)546 1110 A
  104. 1698(+)S
  105. (REG_CYL_HI,)462 1782 A
  106. (cmd->cyl_hi);)546 2286 A
  107. 5490 V
  108. (10801)210 648 A
  109. (lock();)294 1110 A
  110. 5580 V
  111. (10802)210 648 A
  112. (out_byte(base)546 1110 A
  113. 1698(+)S
  114. (REG_COMMAND,)504 1782 A
  115. (cmd->command);)588 2328 A
  116. 5670 V
  117. (10803)210 648 A
  118. (w_command)378 1110 A
  119. 1530(=)S
  120. (cmd->command;)546 1614 A
  121. 5760 V
  122. (10804)210 648 A
  123. (w_status)336 1110 A
  124. 1488(=)S
  125. (STATUS_BSY;)462 1572 A
  126. 5850 V
  127. (10805)210 648 A
  128. (unlock();)378 1110 A
  129. 5940 V
  130. (10806)210 648 A
  131. (return(OK);)462 1110 A
  132. 6030 V
  133. (10807)210 648 A
  134. 1026(})S
  135. 8418 V
  136. EP
  137. %%Page: 141 141
  138. BP
  139. /slant 0 def
  140. /height 0 def
  141. 630 V
  142. 10 R
  143. 648(MINIX)S
  144. 976(SOURCE)S
  145. 1399(CODE)S
  146. 11 R
  147. 1981(File:)S
  148. 2214(src/kernel/at_wini.c)S
  149. 12 B
  150. (141)180 4248 A
  151. 900 V
  152. 7 LST
  153. (10810)210 648 A
  154. (/*===========================================================================*)3276 1026 A
  155. 990 V
  156. (10811)210 648 A
  157. 1068(*)S
  158. (w_need_reset)504 2370 A
  159. 4260(*)S
  160. 1080 V
  161. (10812)210 648 A
  162. (*===========================================================================*/)3276 1068 A
  163. 1170 V
  164. (10813)210 648 A
  165. (PRIVATE)294 1026 A
  166. (void)168 1362 A
  167. (w_need_reset())588 1572 A
  168. 1260 V
  169. (10814)210 648 A
  170. 1026({)S
  171. 1350 V
  172. (10815)210 648 A
  173. 1026(/*)S
  174. (The)126 1152 A
  175. (controller)420 1320 A
  176. (needs)210 1782 A
  177. 2034(to)S
  178. 2160(be)S
  179. (reset.)252 2286 A
  180. 2580(*/)S
  181. 1440 V
  182. (10816)210 648 A
  183. (struct)252 1110 A
  184. (wini)168 1404 A
  185. (*wn;)168 1614 A
  186. 1530 V
  187. (10817)210 648 A
  188. 1620 V
  189. (10818)210 648 A
  190. (for)126 1110 A
  191. ((wn)126 1278 A
  192. 1446(=)S
  193. (wini;)210 1530 A
  194. 1782(wn)S
  195. 1908(<)S
  196. (&wini[MAX_DRIVES];)756 1992 A
  197. (wn++))210 2790 A
  198. 3042({)S
  199. 1710 V
  200. (10819)210 648 A
  201. (wn->state)378 1362 A
  202. 1782(|=)S
  203. (DEAF;)210 1908 A
  204. 1800 V
  205. (10820)210 648 A
  206. (wn->state)378 1362 A
  207. 1782(&=)S
  208. (304INITIALIZED;)546 1908 A
  209. 1890 V
  210. (10821)210 648 A
  211. 1110(})S
  212. 1980 V
  213. (10822)210 648 A
  214. 1026(})S
  215. 2250 V
  216. (10825)210 648 A
  217. (/*============================================================================*)3318 1026 A
  218. 2340 V
  219. (10826)210 648 A
  220. 1068(*)S
  221. (w_do_close)420 2370 A
  222. 4302(*)S
  223. 2430 V
  224. (10827)210 648 A
  225. (*============================================================================*/)3318 1068 A
  226. 2520 V
  227. (10828)210 648 A
  228. (PRIVATE)294 1026 A
  229. (int)126 1362 A
  230. (w_do_close(dp,)588 1530 A
  231. (m_ptr))252 2160 A
  232. 2610 V
  233. (10829)210 648 A
  234. (struct)252 1026 A
  235. (driver)252 1320 A
  236. (*dp;)168 1614 A
  237. 2700 V
  238. (10830)210 648 A
  239. (message)294 1026 A
  240. (*m_ptr;)294 1362 A
  241. 2790 V
  242. (10831)210 648 A
  243. 1026({)S
  244. 2880 V
  245. (10832)210 648 A
  246. 1026(/*)S
  247. (Device)252 1152 A
  248. (close:)252 1446 A
  249. (Release)294 1740 A
  250. 2076(a)S
  251. (device.)294 2160 A
  252. 2496(*/)S
  253. 2970 V
  254. (10833)210 648 A
  255. 3060 V
  256. (10834)210 648 A
  257. 1110(if)S
  258. ((w_prepare(m_ptr->DEVICE))1050 1236 A
  259. 2328(==)S
  260. (NIL_DEV))336 2454 A
  261. (return(ENXIO);)588 2832 A
  262. 3150 V
  263. (10835)210 648 A
  264. (w_wn->open_ct--;)672 1110 A
  265. 3240 V
  266. (10836)210 648 A
  267. (return(OK);)462 1110 A
  268. 3330 V
  269. (10837)210 648 A
  270. 1026(})S
  271. 3600 V
  272. (10840)210 648 A
  273. (/*============================================================================*)3318 1026 A
  274. 3690 V
  275. (10841)210 648 A
  276. 1068(*)S
  277. (com_simple)420 2370 A
  278. 4302(*)S
  279. 3780 V
  280. (10842)210 648 A
  281. (*============================================================================*/)3318 1068 A
  282. 3870 V
  283. (10843)210 648 A
  284. (PRIVATE)294 1026 A
  285. (int)126 1362 A
  286. (com_simple(cmd))630 1530 A
  287. 3960 V
  288. (10844)210 648 A
  289. (struct)252 1026 A
  290. (command)294 1320 A
  291. (*cmd;)210 1656 A
  292. 2370(/*)S
  293. (Command)294 2496 A
  294. (block)210 2832 A
  295. 3084(*/)S
  296. 4050 V
  297. (10845)210 648 A
  298. 1026({)S
  299. 4140 V
  300. (10846)210 648 A
  301. 1026(/*)S
  302. 1152(A)S
  303. (simple)252 1236 A
  304. (controller)420 1530 A
  305. (command,)336 1992 A
  306. (only)168 2370 A
  307. (one)126 2580 A
  308. (interrupt)378 2748 A
  309. (and)126 3168 A
  310. 3336(no)S
  311. (data-out)336 3462 A
  312. (phase.)252 3840 A
  313. 4134(*/)S
  314. 4230 V
  315. (10847)210 648 A
  316. (int)126 1110 A
  317. 1278(r;)S
  318. 4320 V
  319. (10848)210 648 A
  320. 4410 V
  321. (10849)210 648 A
  322. 1110(if)S
  323. (((r)126 1236 A
  324. 1404(=)S
  325. (com_out(cmd)))546 1488 A
  326. 2076(==)S
  327. (OK))126 2202 A
  328. 2370(r)S
  329. 2454(=)S
  330. (w_intr_wait();)588 2538 A
  331. 4500 V
  332. (10850)210 648 A
  333. (w_command)378 1110 A
  334. 1530(=)S
  335. (CMD_IDLE;)378 1614 A
  336. 4590 V
  337. (10851)210 648 A
  338. (return(r);)420 1110 A
  339. 4680 V
  340. (10852)210 648 A
  341. 1026(})S
  342. 4950 V
  343. (10855)210 648 A
  344. (/*===========================================================================*)3276 1026 A
  345. 5040 V
  346. (10856)210 648 A
  347. 1068(*)S
  348. (w_timeout)378 2370 A
  349. 4260(*)S
  350. 5130 V
  351. (10857)210 648 A
  352. (*===========================================================================*/)3276 1068 A
  353. 5220 V
  354. (10858)210 648 A
  355. (PRIVATE)294 1026 A
  356. (void)168 1362 A
  357. (w_timeout())462 1572 A
  358. 5310 V
  359. (10859)210 648 A
  360. 1026({)S
  361. 5400 V
  362. (10860)210 648 A
  363. (struct)252 1110 A
  364. (wini)168 1404 A
  365. (*wn)126 1614 A
  366. 1782(=)S
  367. (w_wn;)210 1866 A
  368. 5490 V
  369. (10861)210 648 A
  370. 5580 V
  371. (10862)210 648 A
  372. (switch)252 1110 A
  373. ((w_command))462 1404 A
  374. 1908({)S
  375. 5670 V
  376. (10863)210 648 A
  377. (case)168 1110 A
  378. (CMD_IDLE:)378 1320 A
  379. 5760 V
  380. (10864)210 648 A
  381. (break;)252 1362 A
  382. 2034(/*)S
  383. (fine)168 2160 A
  384. 2370(*/)S
  385. 5850 V
  386. (10865)210 648 A
  387. (case)168 1110 A
  388. (CMD_READ:)378 1320 A
  389. 5940 V
  390. (10866)210 648 A
  391. (case)168 1110 A
  392. (CMD_WRITE:)420 1320 A
  393. 6030 V
  394. (10867)210 648 A
  395. 1362(/*)S
  396. (Impossible,)462 1488 A
  397. (but)126 1992 A
  398. (not)126 2160 A
  399. 2328(on)S
  400. (PC's:)210 2454 A
  401. (The)126 2748 A
  402. (controller)420 2916 A
  403. (does)168 3378 A
  404. (not)126 3588 A
  405. (respond.)336 3756 A
  406. 4134(*/)S
  407. 6120 V
  408. (10868)210 648 A
  409. 6210 V
  410. (10869)210 648 A
  411. 1362(/*)S
  412. (Limiting)336 1488 A
  413. (multisector)462 1866 A
  414. (I/O)126 2370 A
  415. (seems)210 2538 A
  416. 2790(to)S
  417. (help.)210 2916 A
  418. 3168(*/)S
  419. 8418 V
  420. EP
  421. %%Page: 142 142
  422. BP
  423. /slant 0 def
  424. /height 0 def
  425. 630 V
  426. 12 B
  427. (142)180 648 A
  428. 11 R
  429. 1981(File:)S
  430. 2214(src/kernel/at_wini.c)S
  431. 10 R
  432. 3402(MINIX)S
  433. 3730(SOURCE)S
  434. 4153(CODE)S
  435. 900 V
  436. 7 LST
  437. (10870)210 648 A
  438. 1362(if)S
  439. ((wn->max_count)588 1488 A
  440. 2118(>)S
  441. 2202(8)S
  442. 2286(*)S
  443. (SECTOR_SIZE))504 2370 A
  444. 2916({)S
  445. 990 V
  446. (10871)210 648 A
  447. (wn->max_count)546 1698 A
  448. 2286(=)S
  449. 2370(8)S
  450. 2454(*)S
  451. (SECTOR_SIZE;)504 2538 A
  452. 1080 V
  453. (10872)210 648 A
  454. 1362(})S
  455. (else)168 1446 A
  456. 1656({)S
  457. 1170 V
  458. (10873)210 648 A
  459. (wn->max_count)546 1698 A
  460. 2286(=)S
  461. (SECTOR_SIZE;)504 2370 A
  462. 1260 V
  463. (10874)210 648 A
  464. 1362(})S
  465. 1350 V
  466. (10875)210 648 A
  467. (/*FALL)252 1362 A
  468. (THROUGH*/)378 1656 A
  469. 1440 V
  470. (10876)210 648 A
  471. (default:)336 1110 A
  472. 1530 V
  473. (10877)210 648 A
  474. 1362(/*)S
  475. (Some)168 1488 A
  476. (other)210 1698 A
  477. (command.)336 1950 A
  478. 2328(*/)S
  479. 1620 V
  480. (10878)210 648 A
  481. (printf("%s:)462 1362 A
  482. (timeout)294 1866 A
  483. 2202(on)S
  484. (command)294 2328 A
  485. (%02x\n",)336 2664 A
  486. (w_name(),)378 3042 A
  487. (w_command);)462 3462 A
  488. 1710 V
  489. (10879)210 648 A
  490. (w_need_reset();)630 1362 A
  491. 1800 V
  492. (10880)210 648 A
  493. (w_status)336 1362 A
  494. 1740(=)S
  495. 1824(0;)S
  496. 1890 V
  497. (10881)210 648 A
  498. (interrupt(WINCHESTER);)924 1362 A
  499. 1980 V
  500. (10882)210 648 A
  501. 1110(})S
  502. 2070 V
  503. (10883)210 648 A
  504. 1026(})S
  505. 2340 V
  506. (10886)210 648 A
  507. (/*===========================================================================*)3276 1026 A
  508. 2430 V
  509. (10887)210 648 A
  510. 1068(*)S
  511. (w_reset)294 2370 A
  512. 4260(*)S
  513. 2520 V
  514. (10888)210 648 A
  515. (*===========================================================================*/)3276 1068 A
  516. 2610 V
  517. (10889)210 648 A
  518. (PRIVATE)294 1026 A
  519. (int)126 1362 A
  520. (w_reset())378 1530 A
  521. 2700 V
  522. (10890)210 648 A
  523. 1026({)S
  524. 2790 V
  525. (10891)210 648 A
  526. 1026(/*)S
  527. (Issue)210 1152 A
  528. 1404(a)S
  529. (reset)210 1488 A
  530. 1740(to)S
  531. (the)126 1866 A
  532. (controller.)462 2034 A
  533. (This)168 2580 A
  534. 2790(is)S
  535. (done)168 2916 A
  536. (after)210 3126 A
  537. (any)126 3378 A
  538. (catastrophe,)504 3546 A
  539. 2880 V
  540. (10892)210 648 A
  541. 1068(*)S
  542. (like)168 1152 A
  543. (the)126 1362 A
  544. (controller)420 1530 A
  545. (refusing)336 1992 A
  546. 2370(to)S
  547. (respond.)336 2496 A
  548. 2970 V
  549. (10893)210 648 A
  550. 1068(*/)S
  551. 3060 V
  552. (10894)210 648 A
  553. 3150 V
  554. (10895)210 648 A
  555. (struct)252 1110 A
  556. (wini)168 1404 A
  557. (*wn;)168 1614 A
  558. 3240 V
  559. (10896)210 648 A
  560. (int)126 1110 A
  561. (err;)168 1278 A
  562. 3330 V
  563. (10897)210 648 A
  564. 3420 V
  565. (10898)210 648 A
  566. 1110(/*)S
  567. (Wait)168 1236 A
  568. (for)126 1446 A
  569. (any)126 1614 A
  570. (internal)336 1782 A
  571. (drive)210 2160 A
  572. (recovery.)378 2412 A
  573. 2832(*/)S
  574. 3510 V
  575. (10899)210 648 A
  576. (milli_delay(RECOVERYTIME);)1092 1110 A
  577. 3600 V
  578. (10900)210 648 A
  579. 3690 V
  580. (10901)210 648 A
  581. 1110(/*)S
  582. (Strobe)252 1236 A
  583. (reset)210 1530 A
  584. (bit)126 1782 A
  585. 1950(*/)S
  586. 3780 V
  587. (10902)210 648 A
  588. (out_byte(w_wn->base)798 1110 A
  589. 1950(+)S
  590. (REG_CTL,)336 2034 A
  591. (CTL_RESET);)462 2412 A
  592. 3870 V
  593. (10903)210 648 A
  594. (milli_delay(1);)630 1110 A
  595. 3960 V
  596. (10904)210 648 A
  597. (out_byte(w_wn->base)798 1110 A
  598. 1950(+)S
  599. (REG_CTL,)336 2034 A
  600. (0);)126 2412 A
  601. 4050 V
  602. (10905)210 648 A
  603. (milli_delay(1);)630 1110 A
  604. 4140 V
  605. (10906)210 648 A
  606. 4230 V
  607. (10907)210 648 A
  608. 1110(/*)S
  609. (Wait)168 1236 A
  610. (for)126 1446 A
  611. (controller)420 1614 A
  612. (ready)210 2076 A
  613. 2328(*/)S
  614. 4320 V
  615. (10908)210 648 A
  616. 1110(if)S
  617. ((!w_waitfor(STATUS_BSY)924 1236 A
  618. 2202(|)S
  619. (STATUS_RDY,)462 2286 A
  620. (STATUS_RDY)))504 2790 A
  621. 3336({)S
  622. 4410 V
  623. (10909)210 648 A
  624. (printf("%s:)462 1362 A
  625. (reset)210 1866 A
  626. (failed,)294 2118 A
  627. (drive)210 2454 A
  628. (busy\n",)336 2706 A
  629. (w_name());)420 3084 A
  630. 4500 V
  631. (10910)210 648 A
  632. (return(ERR);)504 1362 A
  633. 4590 V
  634. (10911)210 648 A
  635. 1110(})S
  636. 4680 V
  637. (10912)210 648 A
  638. 4770 V
  639. (10913)210 648 A
  640. 1110(/*)S
  641. (The)126 1236 A
  642. (error)210 1404 A
  643. (register)336 1656 A
  644. (should)252 2034 A
  645. 2328(be)S
  646. (checked)294 2454 A
  647. (now,)168 2790 A
  648. (but)126 3000 A
  649. (some)168 3168 A
  650. (drives)252 3378 A
  651. (mess)168 3672 A
  652. 3882(it)S
  653. (up.)126 4008 A
  654. 4176(*/)S
  655. 4860 V
  656. (10914)210 648 A
  657. 4950 V
  658. (10915)210 648 A
  659. (for)126 1110 A
  660. ((wn)126 1278 A
  661. 1446(=)S
  662. (wini;)210 1530 A
  663. 1782(wn)S
  664. 1908(<)S
  665. (&wini[MAX_DRIVES];)756 1992 A
  666. (wn++))210 2790 A
  667. 3042({)S
  668. 5040 V
  669. (10916)210 648 A
  670. 1362(if)S
  671. ((wn->base)378 1488 A
  672. 1908(==)S
  673. (w_wn->base))462 2034 A
  674. (wn->state)378 2538 A
  675. 2958(&=)S
  676. (304DEAF;)252 3084 A
  677. 5130 V
  678. (10917)210 648 A
  679. 1110(})S
  680. 5220 V
  681. (10918)210 648 A
  682. (return(OK);)462 1110 A
  683. 5310 V
  684. (10919)210 648 A
  685. 1026(})S
  686. 5580 V
  687. (10922)210 648 A
  688. (/*============================================================================*)3318 1026 A
  689. 5670 V
  690. (10923)210 648 A
  691. 1068(*)S
  692. (w_intr_wait)462 2370 A
  693. 4302(*)S
  694. 5760 V
  695. (10924)210 648 A
  696. (*============================================================================*/)3318 1068 A
  697. 5850 V
  698. (10925)210 648 A
  699. (PRIVATE)294 1026 A
  700. (int)126 1362 A
  701. (w_intr_wait())546 1530 A
  702. 5940 V
  703. (10926)210 648 A
  704. 1026({)S
  705. 6030 V
  706. (10927)210 648 A
  707. 1026(/*)S
  708. (Wait)168 1152 A
  709. (for)126 1362 A
  710. 1530(a)S
  711. (task)168 1614 A
  712. (completion)420 1824 A
  713. (interrupt)378 2286 A
  714. (and)126 2706 A
  715. (return)252 2874 A
  716. (results.)336 3168 A
  717. 3546(*/)S
  718. 6120 V
  719. (10928)210 648 A
  720. 6210 V
  721. (10929)210 648 A
  722. (message)294 1110 A
  723. (mess;)210 1446 A
  724. 8418 V
  725. EP
  726. %%Page: 143 143
  727. BP
  728. /slant 0 def
  729. /height 0 def
  730. 630 V
  731. 10 R
  732. 648(MINIX)S
  733. 976(SOURCE)S
  734. 1399(CODE)S
  735. 11 R
  736. 1981(File:)S
  737. 2214(src/kernel/at_wini.c)S
  738. 12 B
  739. (143)180 4248 A
  740. 900 V
  741. 7 LST
  742. (10930)210 648 A
  743. (int)126 1110 A
  744. 1278(r;)S
  745. 990 V
  746. (10931)210 648 A
  747. 1080 V
  748. (10932)210 648 A
  749. 1110(/*)S
  750. (Wait)168 1236 A
  751. (for)126 1446 A
  752. 1614(an)S
  753. (interrupt)378 1740 A
  754. (that)168 2160 A
  755. (sets)168 2370 A
  756. (w_status)336 2580 A
  757. 2958(to)S
  758. ("not)168 3084 A
  759. (busy".)252 3294 A
  760. 3588(*/)S
  761. 1170 V
  762. (10933)210 648 A
  763. (while)210 1110 A
  764. ((w_status)378 1362 A
  765. 1782(&)S
  766. (STATUS_BSY))462 1866 A
  767. (receive(HARDWARE,)714 2370 A
  768. (&mess);)294 3126 A
  769. 1260 V
  770. (10934)210 648 A
  771. 1350 V
  772. (10935)210 648 A
  773. 1110(/*)S
  774. (Check)210 1236 A
  775. (status.)294 1488 A
  776. 1824(*/)S
  777. 1440 V
  778. (10936)210 648 A
  779. (lock();)294 1110 A
  780. 1530 V
  781. (10937)210 648 A
  782. 1110(if)S
  783. (((w_status)420 1236 A
  784. 1698(&)S
  785. ((STATUS_BSY)462 1782 A
  786. 2286(|)S
  787. (STATUS_RDY)420 2370 A
  788. 2832(|)S
  789. (STATUS_WF)378 2916 A
  790. 3336(|)S
  791. (STATUS_ERR)))504 3420 A
  792. 1620 V
  793. (10938)210 648 A
  794. 3378(==)S
  795. (STATUS_RDY))462 3504 A
  796. 4008({)S
  797. 1710 V
  798. (10939)210 648 A
  799. 1362(r)S
  800. 1446(=)S
  801. (OK;)126 1530 A
  802. 1800 V
  803. (10940)210 648 A
  804. (w_status)336 1362 A
  805. 1740(|=)S
  806. (STATUS_BSY;)462 1866 A
  807. 2370(/*)S
  808. (assume)252 2496 A
  809. (still)210 2790 A
  810. (busy)168 3042 A
  811. (with)168 3252 A
  812. (I/O)126 3462 A
  813. 3630(*/)S
  814. 1890 V
  815. (10941)210 648 A
  816. 1110(})S
  817. (else)168 1194 A
  818. 1980 V
  819. (10942)210 648 A
  820. 1110(if)S
  821. (((w_status)420 1236 A
  822. 1698(&)S
  823. (STATUS_ERR))462 1782 A
  824. 2286(&&)S
  825. ((in_byte(w_wn->base)798 2412 A
  826. 3252(+)S
  827. (REG_ERROR))420 3336 A
  828. 3798(&)S
  829. (ERROR_BB)))420 3882 A
  830. 4344({)S
  831. 2070 V
  832. (10943)210 648 A
  833. 1362(r)S
  834. 1446(=)S
  835. (ERR_BAD_SECTOR;)630 1530 A
  836. 2370(/*)S
  837. (sector)252 2496 A
  838. (marked)252 2790 A
  839. (bad,)168 3084 A
  840. (retries)294 3294 A
  841. (won't)210 3630 A
  842. (help)168 3882 A
  843. 4092(*/)S
  844. 2160 V
  845. (10944)210 648 A
  846. 1110(})S
  847. (else)168 1194 A
  848. 1404({)S
  849. 2250 V
  850. (10945)210 648 A
  851. 1362(r)S
  852. 1446(=)S
  853. (ERR;)168 1530 A
  854. 2370(/*)S
  855. (any)126 2496 A
  856. (other)210 2664 A
  857. (error)210 2916 A
  858. 3168(*/)S
  859. 2340 V
  860. (10946)210 648 A
  861. 1110(})S
  862. 2430 V
  863. (10947)210 648 A
  864. (unlock();)378 1110 A
  865. 2520 V
  866. (10948)210 648 A
  867. (return(r);)420 1110 A
  868. 2610 V
  869. (10949)210 648 A
  870. 1026(})S
  871. 2880 V
  872. (10952)210 648 A
  873. (/*==========================================================================*)3234 1026 A
  874. 2970 V
  875. (10953)210 648 A
  876. 1068(*)S
  877. (w_waitfor)378 2370 A
  878. 4218(*)S
  879. 3060 V
  880. (10954)210 648 A
  881. (*==========================================================================*/)3234 1068 A
  882. 3150 V
  883. (10955)210 648 A
  884. (PRIVATE)294 1026 A
  885. (int)126 1362 A
  886. (w_waitfor(mask,)630 1530 A
  887. (value))252 2202 A
  888. 3240 V
  889. (10956)210 648 A
  890. (int)126 1026 A
  891. (mask;)210 1194 A
  892. 2370(/*)S
  893. (status)252 2496 A
  894. (mask)168 2790 A
  895. 3000(*/)S
  896. 3330 V
  897. (10957)210 648 A
  898. (int)126 1026 A
  899. (value;)252 1194 A
  900. 2370(/*)S
  901. (required)336 2496 A
  902. (status)252 2874 A
  903. 3168(*/)S
  904. 3420 V
  905. (10958)210 648 A
  906. 1026({)S
  907. 3510 V
  908. (10959)210 648 A
  909. 1026(/*)S
  910. (Wait)168 1152 A
  911. (until)210 1362 A
  912. (controller)420 1614 A
  913. 2076(is)S
  914. 2202(in)S
  915. (the)126 2328 A
  916. (required)336 2496 A
  917. (state.)252 2874 A
  918. (Return)252 3210 A
  919. (zero)168 3504 A
  920. 3714(on)S
  921. (timeout.)336 3840 A
  922. 4218(*/)S
  923. 3600 V
  924. (10960)210 648 A
  925. 3690 V
  926. (10961)210 648 A
  927. (struct)252 1110 A
  928. (milli_state)462 1404 A
  929. (ms;)126 1908 A
  930. 3780 V
  931. (10962)210 648 A
  932. 3870 V
  933. (10963)210 648 A
  934. (milli_start(&ms);)714 1110 A
  935. 3960 V
  936. (10964)210 648 A
  937. 1110(do)S
  938. 1236({)S
  939. 4050 V
  940. (10965)210 648 A
  941. 1320(if)S
  942. (((in_byte(w_wn->base)840 1446 A
  943. 2328(+)S
  944. (REG_STATUS))462 2412 A
  945. 2916(&)S
  946. (mask))210 3000 A
  947. 3252(==)S
  948. (value))252 3378 A
  949. (return)252 3672 A
  950. 3966(1;)S
  951. 4140 V
  952. (10966)210 648 A
  953. 1110(})S
  954. (while)210 1194 A
  955. ((milli_elapsed(&ms))798 1446 A
  956. 2286(<)S
  957. (TIMEOUT);)378 2370 A
  958. 4230 V
  959. (10967)210 648 A
  960. 4320 V
  961. (10968)210 648 A
  962. (w_need_reset();)630 1110 A
  963. 2034(/*)S
  964. (Controller)420 2160 A
  965. (gone)168 2622 A
  966. (deaf.)210 2832 A
  967. 3084(*/)S
  968. 4410 V
  969. (10969)210 648 A
  970. (return(0);)420 1110 A
  971. 4500 V
  972. (10970)210 648 A
  973. 1026(})S
  974. 4770 V
  975. (10973)210 648 A
  976. (/*==========================================================================*)3234 1026 A
  977. 4860 V
  978. (10974)210 648 A
  979. 1068(*)S
  980. (w_handler)378 2370 A
  981. 4218(*)S
  982. 4950 V
  983. (10975)210 648 A
  984. (*==========================================================================*/)3234 1068 A
  985. 5040 V
  986. (10976)210 648 A
  987. (PRIVATE)294 1026 A
  988. (int)126 1362 A
  989. (w_handler(irq))588 1530 A
  990. 5130 V
  991. (10977)210 648 A
  992. (int)126 1026 A
  993. (irq;)168 1194 A
  994. 5220 V
  995. (10978)210 648 A
  996. 1026({)S
  997. 5310 V
  998. (10979)210 648 A
  999. 1026(/*)S
  1000. (Disk)168 1152 A
  1001. (interrupt,)420 1362 A
  1002. (send)168 1824 A
  1003. (message)294 2034 A
  1004. 2370(to)S
  1005. (winchester)420 2496 A
  1006. (task)168 2958 A
  1007. (and)126 3168 A
  1008. (reenable)336 3336 A
  1009. (interrupts.)462 3714 A
  1010. 4218(*/)S
  1011. 5400 V
  1012. (10980)210 648 A
  1013. 5490 V
  1014. (10981)210 648 A
  1015. (w_status)336 1110 A
  1016. 1488(=)S
  1017. (in_byte(w_wn->base)756 1572 A
  1018. 2370(+)S
  1019. (REG_STATUS);)504 2454 A
  1020. 3042(/*)S
  1021. (acknowledge)462 3168 A
  1022. (interrupt)378 3672 A
  1023. 4092(*/)S
  1024. 5580 V
  1025. (10982)210 648 A
  1026. (interrupt(WINCHESTER);)924 1110 A
  1027. 5670 V
  1028. (10983)210 648 A
  1029. (return)252 1110 A
  1030. 1404(1;)S
  1031. 5760 V
  1032. (10984)210 648 A
  1033. 1026(})S
  1034. 6030 V
  1035. (10987)210 648 A
  1036. (/*============================================================================*)3318 1026 A
  1037. 6120 V
  1038. (10988)210 648 A
  1039. 1068(*)S
  1040. (w_geometry)420 2370 A
  1041. 4302(*)S
  1042. 6210 V
  1043. (10989)210 648 A
  1044. (*============================================================================*/)3318 1068 A
  1045. 8418 V
  1046. EP
  1047. %%Page: 144 144
  1048. BP
  1049. /slant 0 def
  1050. /height 0 def
  1051. 630 V
  1052. 12 B
  1053. (144)180 648 A
  1054. 11 R
  1055. 1981(File:)S
  1056. 2214(src/kernel/at_wini.c)S
  1057. 10 R
  1058. 3402(MINIX)S
  1059. 3730(SOURCE)S
  1060. 4153(CODE)S
  1061. 900 V
  1062. 7 LST
  1063. (10990)210 648 A
  1064. (PRIVATE)294 1026 A
  1065. (void)168 1362 A
  1066. (w_geometry(entry))714 1572 A
  1067. 990 V
  1068. (10991)210 648 A
  1069. (struct)252 1026 A
  1070. (partition)378 1320 A
  1071. (*entry;)294 1740 A
  1072. 1080 V
  1073. (10992)210 648 A
  1074. 1026({)S
  1075. 1170 V
  1076. (10993)210 648 A
  1077. (entry->cylinders)672 1110 A
  1078. 1824(=)S
  1079. (w_wn->lcylinders;)714 1908 A
  1080. 1260 V
  1081. (10994)210 648 A
  1082. (entry->heads)504 1110 A
  1083. 1656(=)S
  1084. (w_wn->lheads;)546 1740 A
  1085. 1350 V
  1086. (10995)210 648 A
  1087. (entry->sectors)588 1110 A
  1088. 1740(=)S
  1089. (w_wn->lsectors;)630 1824 A
  1090. 1440 V
  1091. (10996)210 648 A
  1092. 1026(})S
  1093. 1530 V
  1094. (10997)210 648 A
  1095. (#endif)252 1026 A
  1096. 1320(/*)S
  1097. (ENABLE_AT_WINI)588 1446 A
  1098. 2076(*/)S
  1099. 1890 V
  1100. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1101. 1980 V
  1102. (src/kernel/clock.c)756 2034 A
  1103. 2070 V
  1104. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1105. 2250 V
  1106. (11000)210 648 A
  1107. 1026(/*)S
  1108. (This)168 1152 A
  1109. (file)168 1362 A
  1110. (contains)336 1572 A
  1111. (the)126 1950 A
  1112. (code)168 2118 A
  1113. (and)126 2328 A
  1114. (data)168 2496 A
  1115. (for)126 2706 A
  1116. (the)126 2874 A
  1117. (clock)210 3042 A
  1118. (task.)210 3294 A
  1119. (The)126 3588 A
  1120. (clock)210 3756 A
  1121. (task)168 4008 A
  1122. 2340 V
  1123. (11001)210 648 A
  1124. 1068(*)S
  1125. (accepts)294 1152 A
  1126. (six)126 1488 A
  1127. (message)294 1656 A
  1128. (types:)252 1992 A
  1129. 2430 V
  1130. (11002)210 648 A
  1131. 1068(*)S
  1132. 2520 V
  1133. (11003)210 648 A
  1134. 1068(*)S
  1135. (HARD_INT:)378 1236 A
  1136. 1782(a)S
  1137. (clock)210 1866 A
  1138. (interrupt)378 2118 A
  1139. (has)126 2538 A
  1140. (occurred)336 2706 A
  1141. 2610 V
  1142. (11004)210 648 A
  1143. 1068(*)S
  1144. (GET_UPTIME:)462 1236 A
  1145. (get)126 1782 A
  1146. (the)126 1950 A
  1147. (time)168 2118 A
  1148. (since)210 2328 A
  1149. (boot)168 2580 A
  1150. 2790(in)S
  1151. (ticks)210 2916 A
  1152. 2700 V
  1153. (11005)210 648 A
  1154. 1068(*)S
  1155. (GET_TIME:)378 1236 A
  1156. 1782(a)S
  1157. (process)294 1866 A
  1158. (wants)210 2202 A
  1159. (the)126 2454 A
  1160. (real)168 2622 A
  1161. (time)168 2832 A
  1162. 3042(in)S
  1163. (seconds)294 3168 A
  1164. 2790 V
  1165. (11006)210 648 A
  1166. 1068(*)S
  1167. (SET_TIME:)378 1236 A
  1168. 1782(a)S
  1169. (process)294 1866 A
  1170. (wants)210 2202 A
  1171. 2454(to)S
  1172. (set)126 2580 A
  1173. (the)126 2748 A
  1174. (real)168 2916 A
  1175. (time)168 3126 A
  1176. 3336(in)S
  1177. (seconds)294 3462 A
  1178. 2880 V
  1179. (11007)210 648 A
  1180. 1068(*)S
  1181. (SET_ALARM:)420 1236 A
  1182. 1782(a)S
  1183. (process)294 1866 A
  1184. (wants)210 2202 A
  1185. 2454(to)S
  1186. 2580(be)S
  1187. (alerted)294 2706 A
  1188. (after)210 3042 A
  1189. 3294(a)S
  1190. (specified)378 3378 A
  1191. (interval)336 3798 A
  1192. 2970 V
  1193. (11008)210 648 A
  1194. 1068(*)S
  1195. (SET_SYN_AL:)462 1236 A
  1196. (set)126 1782 A
  1197. (the)126 1950 A
  1198. (sync)168 2118 A
  1199. (alarm)210 2328 A
  1200. 3060 V
  1201. (11009)210 648 A
  1202. 1068(*)S
  1203. 3150 V
  1204. (11010)210 648 A
  1205. 1068(*)S
  1206. 3240 V
  1207. (11011)210 648 A
  1208. 1068(*)S
  1209. (The)126 1152 A
  1210. (input)210 1320 A
  1211. (message)294 1572 A
  1212. 1908(is)S
  1213. (format)252 2034 A
  1214. (m6.)126 2328 A
  1215. (The)126 2538 A
  1216. (parameters)420 2706 A
  1217. (are)126 3168 A
  1218. 3336(as)S
  1219. (follows:)336 3462 A
  1220. 3330 V
  1221. (11012)210 648 A
  1222. 1068(*)S
  1223. 3420 V
  1224. (11013)210 648 A
  1225. 1068(*)S
  1226. (m_type)252 1320 A
  1227. (CLOCK_PROC)420 1740 A
  1228. (FUNC)168 2286 A
  1229. (NEW_TIME)336 2622 A
  1230. 3510 V
  1231. (11014)210 648 A
  1232. 1068(*)S
  1233. (---------------------------------------------)1890 1152 A
  1234. 3600 V
  1235. (11015)210 648 A
  1236. 1068(*)S
  1237. 1152(|)S
  1238. (HARD_INT)336 1236 A
  1239. 1698(|)S
  1240. 2160(|)S
  1241. 2580(|)S
  1242. 3000(|)S
  1243. 3690 V
  1244. (11016)210 648 A
  1245. 1068(*)S
  1246. (|------------+----------+---------+---------|)1890 1152 A
  1247. 3780 V
  1248. (11017)210 648 A
  1249. 1068(*)S
  1250. 1152(|)S
  1251. (GET_UPTIME)420 1236 A
  1252. 1698(|)S
  1253. 2160(|)S
  1254. 2580(|)S
  1255. 3000(|)S
  1256. 3870 V
  1257. (11018)210 648 A
  1258. 1068(*)S
  1259. (|------------+----------+---------+---------|)1890 1152 A
  1260. 3960 V
  1261. (11019)210 648 A
  1262. 1068(*)S
  1263. 1152(|)S
  1264. (GET_TIME)336 1236 A
  1265. 1698(|)S
  1266. 2160(|)S
  1267. 2580(|)S
  1268. 3000(|)S
  1269. 4050 V
  1270. (11020)210 648 A
  1271. 1068(*)S
  1272. (|------------+----------+---------+---------|)1890 1152 A
  1273. 4140 V
  1274. (11021)210 648 A
  1275. 1068(*)S
  1276. 1152(|)S
  1277. (SET_TIME)336 1236 A
  1278. 1698(|)S
  1279. 2160(|)S
  1280. 2580(|)S
  1281. (newtime)294 2664 A
  1282. 3000(|)S
  1283. 4230 V
  1284. (11022)210 648 A
  1285. 1068(*)S
  1286. (|------------+----------+---------+---------|)1890 1152 A
  1287. 4320 V
  1288. (11023)210 648 A
  1289. 1068(*)S
  1290. 1152(|)S
  1291. (SET_ALARM)378 1236 A
  1292. 1698(|)S
  1293. (proc_nr)294 1782 A
  1294. 2160(|f)S
  1295. 2286(to)S
  1296. (call|)210 2412 A
  1297. (delta)210 2706 A
  1298. 3000(|)S
  1299. 4410 V
  1300. (11024)210 648 A
  1301. 1068(*)S
  1302. (|------------+----------+---------+---------|)1890 1152 A
  1303. 4500 V
  1304. (11025)210 648 A
  1305. 1068(*)S
  1306. 1152(|)S
  1307. (SET_SYN_AL)420 1236 A
  1308. 1698(|)S
  1309. (proc_nr)294 1782 A
  1310. 2160(|)S
  1311. 2580(|)S
  1312. (delta)210 2706 A
  1313. 3000(|)S
  1314. 4590 V
  1315. (11026)210 648 A
  1316. 1068(*)S
  1317. (---------------------------------------------)1890 1152 A
  1318. 4680 V
  1319. (11027)210 648 A
  1320. 1068(*)S
  1321. (NEW_TIME,)378 1152 A
  1322. (DELTA_CLICKS,)546 1572 A
  1323. (and)126 2160 A
  1324. (SECONDS_LEFT)504 2328 A
  1325. (all)126 2874 A
  1326. (refer)210 3042 A
  1327. 3294(to)S
  1328. (the)126 3420 A
  1329. (same)168 3588 A
  1330. (field)210 3798 A
  1331. 4050(in)S
  1332. 4770 V
  1333. (11028)210 648 A
  1334. 1068(*)S
  1335. (the)126 1152 A
  1336. (message,)336 1320 A
  1337. (depending)378 1698 A
  1338. (upon)168 2118 A
  1339. (the)126 2328 A
  1340. (message)294 2496 A
  1341. (type.)210 2832 A
  1342. 4860 V
  1343. (11029)210 648 A
  1344. 1068(*)S
  1345. 4950 V
  1346. (11030)210 648 A
  1347. 1068(*)S
  1348. (Reply)210 1152 A
  1349. (messages)336 1404 A
  1350. (are)126 1782 A
  1351. 1950(of)S
  1352. (type)168 2076 A
  1353. (OK,)126 2286 A
  1354. (except)252 2454 A
  1355. 2748(in)S
  1356. (the)126 2874 A
  1357. (case)168 3042 A
  1358. 3252(of)S
  1359. 3378(a)S
  1360. (HARD_INT,)378 3462 A
  1361. 3882(to)S
  1362. 5040 V
  1363. (11031)210 648 A
  1364. 1068(*)S
  1365. (which)210 1152 A
  1366. 1404(no)S
  1367. (reply)210 1530 A
  1368. 1782(is)S
  1369. (generated.)420 1908 A
  1370. (For)126 2370 A
  1371. (the)126 2538 A
  1372. (GET_*)210 2706 A
  1373. (messages)336 2958 A
  1374. (the)126 3336 A
  1375. (time)168 3504 A
  1376. 3714(is)S
  1377. (returned)336 3840 A
  1378. 5130 V
  1379. (11032)210 648 A
  1380. 1068(*)S
  1381. 1152(in)S
  1382. (the)126 1278 A
  1383. (NEW_TIME)336 1446 A
  1384. (field,)252 1824 A
  1385. (and)126 2118 A
  1386. (for)126 2286 A
  1387. (the)126 2454 A
  1388. (SET_ALARM)378 2622 A
  1389. (and)126 3042 A
  1390. (SET_SYN_AL)420 3210 A
  1391. (the)126 3672 A
  1392. (time)168 3840 A
  1393. 5220 V
  1394. (11033)210 648 A
  1395. 1068(*)S
  1396. 1152(in)S
  1397. (seconds)294 1278 A
  1398. (remaining)378 1614 A
  1399. (until)210 2034 A
  1400. (the)126 2286 A
  1401. (alarm)210 2454 A
  1402. 2706(is)S
  1403. (returned)336 2832 A
  1404. 3210(is)S
  1405. (returned)336 3336 A
  1406. 3714(in)S
  1407. (the)126 3840 A
  1408. (same)168 4008 A
  1409. 5310 V
  1410. (11034)210 648 A
  1411. 1068(*)S
  1412. (field.)252 1152 A
  1413. 5400 V
  1414. (11035)210 648 A
  1415. 1068(*)S
  1416. 5490 V
  1417. (11036)210 648 A
  1418. 1068(*)S
  1419. (When)168 1152 A
  1420. 1362(an)S
  1421. (alarm)210 1488 A
  1422. (goes)168 1740 A
  1423. (off,)168 1950 A
  1424. 2160(if)S
  1425. (the)126 2286 A
  1426. (caller)252 2454 A
  1427. 2748(is)S
  1428. 2874(a)S
  1429. (user)168 2958 A
  1430. (process,)336 3168 A
  1431. 3546(a)S
  1432. (SIGALRM)294 3630 A
  1433. (signal)252 3966 A
  1434. 5580 V
  1435. (11037)210 648 A
  1436. 1068(*)S
  1437. 1152(is)S
  1438. (sent)168 1278 A
  1439. 1488(to)S
  1440. (it.)126 1614 A
  1441. 1824(If)S
  1442. 1950(it)S
  1443. 2076(is)S
  1444. 2202(a)S
  1445. (task,)210 2286 A
  1446. 2538(a)S
  1447. (function)336 2622 A
  1448. (specified)378 3000 A
  1449. 3420(by)S
  1450. (the)126 3546 A
  1451. (caller)252 3714 A
  1452. (will)168 4008 A
  1453. 5670 V
  1454. (11038)210 648 A
  1455. 1068(*)S
  1456. 1152(be)S
  1457. (invoked.)336 1278 A
  1458. (This)168 1698 A
  1459. (function)336 1908 A
  1460. (may,)168 2286 A
  1461. (for)126 2496 A
  1462. (example,)336 2664 A
  1463. (send)168 3042 A
  1464. 3252(a)S
  1465. (message,)336 3336 A
  1466. (but)126 3714 A
  1467. (only)168 3882 A
  1468. 4092(if)S
  1469. 5760 V
  1470. (11039)210 648 A
  1471. 1068(*)S
  1472. 1152(it)S
  1473. 1278(is)S
  1474. (certain)294 1404 A
  1475. (that)168 1740 A
  1476. (the)126 1950 A
  1477. (task)168 2118 A
  1478. (will)168 2328 A
  1479. 2538(be)S
  1480. (blocked)294 2664 A
  1481. (when)168 3000 A
  1482. (the)126 3210 A
  1483. (timer)210 3378 A
  1484. (goes)168 3630 A
  1485. (off.)168 3840 A
  1486. 4050(A)S
  1487. 5850 V
  1488. (11040)210 648 A
  1489. 1068(*)S
  1490. (synchronous)462 1152 A
  1491. (alarm)210 1656 A
  1492. (sends)210 1908 A
  1493. 2160(a)S
  1494. (message)294 2244 A
  1495. 2580(to)S
  1496. (the)126 2706 A
  1497. (synchronous)462 2874 A
  1498. (alarm)210 3378 A
  1499. (task,)210 3630 A
  1500. (which)210 3882 A
  1501. 5940 V
  1502. (11041)210 648 A
  1503. 1068(*)S
  1504. 1152(in)S
  1505. (turn)168 1278 A
  1506. (can)126 1488 A
  1507. (dispatch)336 1656 A
  1508. 2034(a)S
  1509. (message)294 2118 A
  1510. 2454(to)S
  1511. (another)294 2580 A
  1512. (server.)294 2916 A
  1513. (This)168 3252 A
  1514. 3462(is)S
  1515. (the)126 3588 A
  1516. (only)168 3756 A
  1517. (way)126 3966 A
  1518. 6030 V
  1519. (11042)210 648 A
  1520. 1068(*)S
  1521. 1152(to)S
  1522. (send)168 1278 A
  1523. 1488(an)S
  1524. (alarm)210 1614 A
  1525. 1866(to)S
  1526. 1992(a)S
  1527. (server,)294 2076 A
  1528. (since)210 2412 A
  1529. (servers)294 2664 A
  1530. (cannot)252 3000 A
  1531. (use)126 3294 A
  1532. (the)126 3462 A
  1533. (function-call)546 3630 A
  1534. 6120 V
  1535. (11043)210 648 A
  1536. 1068(*)S
  1537. (mechanism)378 1152 A
  1538. (available)378 1572 A
  1539. 1992(to)S
  1540. (tasks)210 2118 A
  1541. (and)126 2370 A
  1542. (servers)294 2538 A
  1543. (cannot)252 2874 A
  1544. (receive)294 3168 A
  1545. (signals.)336 3504 A
  1546. 6210 V
  1547. (11044)210 648 A
  1548. 1068(*/)S
  1549. 8418 V
  1550. EP
  1551. %%Page: 145 145
  1552. BP
  1553. /slant 0 def
  1554. /height 0 def
  1555. 630 V
  1556. 10 R
  1557. 648(MINIX)S
  1558. 976(SOURCE)S
  1559. 1399(CODE)S
  1560. 11 R
  1561. 2027(File:)S
  1562. 2260(src/kernel/clock.c)S
  1563. 12 B
  1564. (145)180 4248 A
  1565. 900 V
  1566. 7 LST
  1567. (11045)210 648 A
  1568. 990 V
  1569. (11046)210 648 A
  1570. (#include)336 1026 A
  1571. ("kernel.h")420 1404 A
  1572. 1080 V
  1573. (11047)210 648 A
  1574. (#include)336 1026 A
  1575. (<signal.h>)420 1404 A
  1576. 1170 V
  1577. (11048)210 648 A
  1578. (#include)336 1026 A
  1579. (<minix/callnr.h>)672 1404 A
  1580. 1260 V
  1581. (11049)210 648 A
  1582. (#include)336 1026 A
  1583. (<minix/com.h>)546 1404 A
  1584. 1350 V
  1585. (11050)210 648 A
  1586. (#include)336 1026 A
  1587. ("proc.h")336 1404 A
  1588. 1440 V
  1589. (11051)210 648 A
  1590. 1530 V
  1591. (11052)210 648 A
  1592. 1026(/*)S
  1593. (Constant)336 1152 A
  1594. (definitions.)504 1530 A
  1595. 2076(*/)S
  1596. 1620 V
  1597. (11053)210 648 A
  1598. (#define)294 1026 A
  1599. (MILLISEC)336 1362 A
  1600. (100)126 2076 A
  1601. 2370(/*)S
  1602. (how)126 2496 A
  1603. (often)210 2664 A
  1604. 2916(to)S
  1605. (call)168 3042 A
  1606. (the)126 3252 A
  1607. (scheduler)378 3420 A
  1608. ((msec))252 3840 A
  1609. 4134(*/)S
  1610. 1710 V
  1611. (11054)210 648 A
  1612. (#define)294 1026 A
  1613. (SCHED_RATE)420 1362 A
  1614. ((MILLISEC*HZ/1000))756 1824 A
  1615. 2706(/*)S
  1616. (number)252 2832 A
  1617. 3126(of)S
  1618. (ticks)210 3252 A
  1619. (per)126 3504 A
  1620. (schedule)336 3672 A
  1621. 4050(*/)S
  1622. 1800 V
  1623. (11055)210 648 A
  1624. 1890 V
  1625. (11056)210 648 A
  1626. 1026(/*)S
  1627. (Clock)210 1152 A
  1628. (parameters.)462 1404 A
  1629. 1908(*/)S
  1630. 1980 V
  1631. (11057)210 648 A
  1632. (#define)294 1026 A
  1633. (COUNTER_FREQ)504 1362 A
  1634. ((2*TIMER_FREQ))588 1908 A
  1635. 2706(/*)S
  1636. (counter)294 2832 A
  1637. (frequency)378 3168 A
  1638. (using)210 3588 A
  1639. (sqare)210 3840 A
  1640. (wave*/)252 4092 A
  1641. 2070 V
  1642. (11058)210 648 A
  1643. (#define)294 1026 A
  1644. (LATCH_COUNT)462 1362 A
  1645. (0x00)168 2034 A
  1646. 2370(/*)S
  1647. (cc00xxxx,)378 2496 A
  1648. 2916(c)S
  1649. 3000(=)S
  1650. (channel,)336 3084 A
  1651. 3462(x)S
  1652. 3546(=)S
  1653. (any)126 3630 A
  1654. 3798(*/)S
  1655. 2160 V
  1656. (11059)210 648 A
  1657. (#define)294 1026 A
  1658. (SQUARE_WAVE)462 1362 A
  1659. (0x36)168 2034 A
  1660. 2370(/*)S
  1661. (ccaammmb,)378 2496 A
  1662. 2916(a)S
  1663. 3000(=)S
  1664. (access,)294 3084 A
  1665. 3420(m)S
  1666. 3504(=)S
  1667. (mode,)210 3588 A
  1668. 3840(b)S
  1669. 3924(=)S
  1670. (BCD)126 4008 A
  1671. 4176(*/)S
  1672. 2250 V
  1673. (11060)210 648 A
  1674. 2370(/*)S
  1675. (11x11,)252 2580 A
  1676. 2874(11)S
  1677. 3000(=)S
  1678. (LSB)126 3084 A
  1679. (then)168 3252 A
  1680. (MSB,)168 3462 A
  1681. (x11)126 3672 A
  1682. 3840(=)S
  1683. 3924(sq)S
  1684. (wave)168 4050 A
  1685. 4260(*/)S
  1686. 2340 V
  1687. (11061)210 648 A
  1688. (#define)294 1026 A
  1689. (TIMER_COUNT)462 1362 A
  1690. (((unsigned))462 1866 A
  1691. ((TIMER_FREQ/HZ)))672 2370 A
  1692. 3084(/*)S
  1693. (initial)294 3210 A
  1694. (value)210 3546 A
  1695. (for)126 3798 A
  1696. (counter*/)378 3966 A
  1697. 2430 V
  1698. (11062)210 648 A
  1699. (#define)294 1026 A
  1700. (TIMER_FREQ)420 1362 A
  1701. (1193182L)336 1866 A
  1702. 2370(/*)S
  1703. (clock)210 2496 A
  1704. (frequency)378 2748 A
  1705. (for)126 3168 A
  1706. (timer)210 3336 A
  1707. 3588(in)S
  1708. 3714(PC)S
  1709. (and)126 3840 A
  1710. 4008(AT)S
  1711. 4134(*/)S
  1712. 2520 V
  1713. (11063)210 648 A
  1714. 2610 V
  1715. (11064)210 648 A
  1716. (#define)294 1026 A
  1717. (CLOCK_ACK_BIT)546 1362 A
  1718. (0x80)168 2034 A
  1719. 2370(/*)S
  1720. (PS/2)168 2496 A
  1721. (clock)210 2706 A
  1722. (interrupt)378 2958 A
  1723. (acknowledge)462 3378 A
  1724. (bit)126 3882 A
  1725. 4050(*/)S
  1726. 2700 V
  1727. (11065)210 648 A
  1728. 2790 V
  1729. (11066)210 648 A
  1730. 1026(/*)S
  1731. (Clock)210 1152 A
  1732. (task)168 1404 A
  1733. (variables.)420 1614 A
  1734. 2076(*/)S
  1735. 2880 V
  1736. (11067)210 648 A
  1737. (PRIVATE)294 1026 A
  1738. (clock_t)294 1362 A
  1739. (realtime;)378 1698 A
  1740. 2370(/*)S
  1741. (real)168 2496 A
  1742. (time)168 2706 A
  1743. (clock)210 2916 A
  1744. 3168(*/)S
  1745. 2970 V
  1746. (11068)210 648 A
  1747. (PRIVATE)294 1026 A
  1748. (time_t)252 1362 A
  1749. (boot_time;)420 1656 A
  1750. 2370(/*)S
  1751. (time)168 2496 A
  1752. 2706(in)S
  1753. (seconds)294 2832 A
  1754. 3168(of)S
  1755. (system)252 3294 A
  1756. (boot)168 3588 A
  1757. 3798(*/)S
  1758. 3060 V
  1759. (11069)210 648 A
  1760. (PRIVATE)294 1026 A
  1761. (clock_t)294 1362 A
  1762. (next_alarm;)462 1698 A
  1763. 2370(/*)S
  1764. (probable)336 2496 A
  1765. (time)168 2874 A
  1766. 3084(of)S
  1767. (next)168 3210 A
  1768. (alarm)210 3420 A
  1769. 3672(*/)S
  1770. 3150 V
  1771. (11070)210 648 A
  1772. (PRIVATE)294 1026 A
  1773. (message)294 1362 A
  1774. (mc;)126 1698 A
  1775. 2370(/*)S
  1776. (message)294 2496 A
  1777. (buffer)252 2832 A
  1778. (for)126 3126 A
  1779. (both)168 3294 A
  1780. (input)210 3504 A
  1781. (and)126 3756 A
  1782. (output)252 3924 A
  1783. 4218(*/)S
  1784. 3240 V
  1785. (11071)210 648 A
  1786. (PRIVATE)294 1026 A
  1787. (int)126 1362 A
  1788. (watchdog_proc;)588 1530 A
  1789. 2370(/*)S
  1790. (contains)336 2496 A
  1791. (proc_nr)294 2874 A
  1792. 3210(at)S
  1793. (call)168 3336 A
  1794. 3546(of)S
  1795. (*watch_dog[]*/)588 3672 A
  1796. 3330 V
  1797. (11072)210 648 A
  1798. (PRIVATE)294 1026 A
  1799. (watchdog_t)420 1362 A
  1800. (watch_dog[NR_TASKS+NR_PROCS];)1218 1824 A
  1801. 3420 V
  1802. (11073)210 648 A
  1803. 3510 V
  1804. (11074)210 648 A
  1805. 1026(/*)S
  1806. (Variables)378 1152 A
  1807. (used)168 1572 A
  1808. 1782(by)S
  1809. (both)168 1908 A
  1810. (clock)210 2118 A
  1811. (task)168 2370 A
  1812. (and)126 2580 A
  1813. (synchronous)462 2748 A
  1814. (alarm)210 3252 A
  1815. (task)168 3504 A
  1816. 3714(*/)S
  1817. 3600 V
  1818. (11075)210 648 A
  1819. (PRIVATE)294 1026 A
  1820. (int)126 1362 A
  1821. (syn_al_alive=)546 1530 A
  1822. (TRUE;)210 2118 A
  1823. 2370(/*)S
  1824. (don't)210 2496 A
  1825. (wake)168 2748 A
  1826. (syn_alrm_task)546 2958 A
  1827. (before)252 3546 A
  1828. (inited*/)336 3840 A
  1829. 3690 V
  1830. (11076)210 648 A
  1831. (PRIVATE)294 1026 A
  1832. (int)126 1362 A
  1833. (syn_table[NR_TASKS+NR_PROCS];)1218 1530 A
  1834. 2790(/*)S
  1835. (which)210 2916 A
  1836. (tasks)210 3168 A
  1837. (get)126 3420 A
  1838. (CLOCK_INT*/)462 3588 A
  1839. 3780 V
  1840. (11077)210 648 A
  1841. 3870 V
  1842. (11078)210 648 A
  1843. 1026(/*)S
  1844. (Variables)378 1152 A
  1845. (changed)294 1572 A
  1846. 1908(by)S
  1847. (interrupt)378 2034 A
  1848. (handler)294 2454 A
  1849. 2790(*/)S
  1850. 3960 V
  1851. (11079)210 648 A
  1852. (PRIVATE)294 1026 A
  1853. (clock_t)294 1362 A
  1854. (pending_ticks;)588 1698 A
  1855. 2370(/*)S
  1856. (ticks)210 2496 A
  1857. (seen)168 2748 A
  1858. 2958(by)S
  1859. (low)126 3084 A
  1860. (level)210 3252 A
  1861. (only)168 3504 A
  1862. 3714(*/)S
  1863. 4050 V
  1864. (11080)210 648 A
  1865. (PRIVATE)294 1026 A
  1866. (int)126 1362 A
  1867. (sched_ticks)462 1530 A
  1868. 2034(=)S
  1869. (SCHED_RATE;)462 2118 A
  1870. 2706(/*)S
  1871. (counter:)336 2832 A
  1872. (when)168 3210 A
  1873. 3420(0,)S
  1874. (call)168 3546 A
  1875. (scheduler)378 3756 A
  1876. 4176(*/)S
  1877. 4140 V
  1878. (11081)210 648 A
  1879. (PRIVATE)294 1026 A
  1880. (struct)252 1362 A
  1881. (proc)168 1656 A
  1882. (*prev_ptr;)420 1866 A
  1883. 2370(/*)S
  1884. (last)168 2496 A
  1885. (user)168 2706 A
  1886. (process)294 2916 A
  1887. (run)126 3252 A
  1888. 3420(by)S
  1889. (clock)210 3546 A
  1890. (task)168 3798 A
  1891. 4008(*/)S
  1892. 4230 V
  1893. (11082)210 648 A
  1894. 4320 V
  1895. (11083)210 648 A
  1896. (FORWARD)294 1026 A
  1897. (_PROTOTYPE()462 1362 A
  1898. (void)168 1866 A
  1899. (common_setalarm,)672 2076 A
  1900. ((int)168 2790 A
  1901. (proc_nr,)336 3000 A
  1902. 4410 V
  1903. (11084)210 648 A
  1904. (long)168 1698 A
  1905. (delta_ticks,)504 1908 A
  1906. (watchdog_t)420 2454 A
  1907. (fuction))336 2916 A
  1908. 3294();)S
  1909. 4500 V
  1910. (11085)210 648 A
  1911. (FORWARD)294 1026 A
  1912. (_PROTOTYPE()462 1362 A
  1913. (void)168 1866 A
  1914. (do_clocktick,)546 2076 A
  1915. ((void))252 2664 A
  1916. 2958();)S
  1917. 4590 V
  1918. (11086)210 648 A
  1919. (FORWARD)294 1026 A
  1920. (_PROTOTYPE()462 1362 A
  1921. (void)168 1866 A
  1922. (do_get_time,)504 2076 A
  1923. ((void))252 2622 A
  1924. 2916();)S
  1925. 4680 V
  1926. (11087)210 648 A
  1927. (FORWARD)294 1026 A
  1928. (_PROTOTYPE()462 1362 A
  1929. (void)168 1866 A
  1930. (do_getuptime,)546 2076 A
  1931. ((void))252 2664 A
  1932. 2958();)S
  1933. 4770 V
  1934. (11088)210 648 A
  1935. (FORWARD)294 1026 A
  1936. (_PROTOTYPE()462 1362 A
  1937. (void)168 1866 A
  1938. (do_set_time,)504 2076 A
  1939. ((message)336 2622 A
  1940. (*m_ptr))294 3000 A
  1941. 3336();)S
  1942. 4860 V
  1943. (11089)210 648 A
  1944. (FORWARD)294 1026 A
  1945. (_PROTOTYPE()462 1362 A
  1946. (void)168 1866 A
  1947. (do_setalarm,)504 2076 A
  1948. ((message)336 2622 A
  1949. (*m_ptr))294 3000 A
  1950. 3336();)S
  1951. 4950 V
  1952. (11090)210 648 A
  1953. (FORWARD)294 1026 A
  1954. (_PROTOTYPE()462 1362 A
  1955. (void)168 1866 A
  1956. (init_clock,)462 2076 A
  1957. ((void))252 2580 A
  1958. 2874();)S
  1959. 5040 V
  1960. (11091)210 648 A
  1961. (FORWARD)294 1026 A
  1962. (_PROTOTYPE()462 1362 A
  1963. (void)168 1866 A
  1964. (cause_alarm,)504 2076 A
  1965. ((void))252 2622 A
  1966. 2916();)S
  1967. 5130 V
  1968. (11092)210 648 A
  1969. (FORWARD)294 1026 A
  1970. (_PROTOTYPE()462 1362 A
  1971. (void)168 1866 A
  1972. (do_setsyn_alrm,)630 2076 A
  1973. ((message)336 2748 A
  1974. (*m_ptr))294 3126 A
  1975. 3462();)S
  1976. 5220 V
  1977. (11093)210 648 A
  1978. (FORWARD)294 1026 A
  1979. (_PROTOTYPE()462 1362 A
  1980. (int)126 1866 A
  1981. (clock_handler,)588 2034 A
  1982. ((int)168 2664 A
  1983. (irq))168 2874 A
  1984. 3084();)S
  1985. 5310 V
  1986. (11094)210 648 A
  1987. 5400 V
  1988. (11095)210 648 A
  1989. (/*===========================================================================*)3276 1026 A
  1990. 5490 V
  1991. (11096)210 648 A
  1992. 1068(*)S
  1993. (clock_task)420 2370 A
  1994. 4260(*)S
  1995. 5580 V
  1996. (11097)210 648 A
  1997. (*===========================================================================*/)3276 1068 A
  1998. 5670 V
  1999. (11098)210 648 A
  2000. (PUBLIC)252 1026 A
  2001. (void)168 1320 A
  2002. (clock_task())504 1530 A
  2003. 5760 V
  2004. (11099)210 648 A
  2005. 1026({)S
  2006. 5850 V
  2007. (11100)210 648 A
  2008. 1026(/*)S
  2009. (Main)168 1152 A
  2010. (program)294 1362 A
  2011. 1698(of)S
  2012. (clock)210 1824 A
  2013. (task.)210 2076 A
  2014. 2370(It)S
  2015. (corrects)336 2496 A
  2016. (realtime)336 2874 A
  2017. 3252(by)S
  2018. (adding)252 3378 A
  2019. (pending)294 3672 A
  2020. 5940 V
  2021. (11101)210 648 A
  2022. 1068(*)S
  2023. (ticks)210 1152 A
  2024. (seen)168 1404 A
  2025. (only)168 1614 A
  2026. 1824(by)S
  2027. (the)126 1950 A
  2028. (interrupt)378 2118 A
  2029. (service,)336 2538 A
  2030. (then)168 2916 A
  2031. 3126(it)S
  2032. (determines)420 3252 A
  2033. (which)210 3714 A
  2034. 6030 V
  2035. (11102)210 648 A
  2036. 1068(*)S
  2037. 1152(of)S
  2038. (the)126 1278 A
  2039. 1446(6)S
  2040. (possible)336 1530 A
  2041. (calls)210 1908 A
  2042. (this)168 2160 A
  2043. 2370(is)S
  2044. 2496(by)S
  2045. (looking)294 2622 A
  2046. 2958(at)S
  2047. ('mc.m_type'.)504 3084 A
  2048. (Then)168 3672 A
  2049. 6120 V
  2050. (11103)210 648 A
  2051. 1068(*)S
  2052. 1152(it)S
  2053. (dispatches.)462 1278 A
  2054. 6210 V
  2055. (11104)210 648 A
  2056. 1068(*/)S
  2057. 8418 V
  2058. EP
  2059. %%Page: 146 146
  2060. BP
  2061. /slant 0 def
  2062. /height 0 def
  2063. 630 V
  2064. 12 B
  2065. (146)180 648 A
  2066. 11 R
  2067. 2027(File:)S
  2068. 2260(src/kernel/clock.c)S
  2069. 10 R
  2070. 3402(MINIX)S
  2071. 3730(SOURCE)S
  2072. 4153(CODE)S
  2073. 900 V
  2074. 7 LST
  2075. (11105)210 648 A
  2076. 990 V
  2077. (11106)210 648 A
  2078. (int)126 1110 A
  2079. (opcode;)294 1278 A
  2080. 1080 V
  2081. (11107)210 648 A
  2082. 1170 V
  2083. (11108)210 648 A
  2084. (init_clock();)546 1110 A
  2085. 2370(/*)S
  2086. (initialize)420 2496 A
  2087. (clock)210 2958 A
  2088. (task)168 3210 A
  2089. 3420(*/)S
  2090. 1260 V
  2091. (11109)210 648 A
  2092. 1350 V
  2093. (11110)210 648 A
  2094. 1110(/*)S
  2095. (Main)168 1236 A
  2096. (loop)168 1446 A
  2097. 1656(of)S
  2098. (the)126 1782 A
  2099. (clock)210 1950 A
  2100. (task.)210 2202 A
  2101. (Get)126 2496 A
  2102. (work,)210 2664 A
  2103. (process)294 2916 A
  2104. (it,)126 3252 A
  2105. (sometimes)378 3420 A
  2106. (reply.)252 3840 A
  2107. 4134(*/)S
  2108. 1440 V
  2109. (11111)210 648 A
  2110. (while)210 1110 A
  2111. ((TRUE))252 1362 A
  2112. 1656({)S
  2113. 1530 V
  2114. (11112)210 648 A
  2115. (receive(ANY,)504 1236 A
  2116. (&mc);)210 1782 A
  2117. 2370(/*)S
  2118. 2496(go)S
  2119. (get)126 2622 A
  2120. 2790(a)S
  2121. (message)294 2874 A
  2122. 3210(*/)S
  2123. 1620 V
  2124. (11113)210 648 A
  2125. (opcode)252 1236 A
  2126. 1530(=)S
  2127. (mc.m_type;)420 1614 A
  2128. 2370(/*)S
  2129. (extract)294 2496 A
  2130. (the)126 2832 A
  2131. (function)336 3000 A
  2132. (code)168 3378 A
  2133. 3588(*/)S
  2134. 1710 V
  2135. (11114)210 648 A
  2136. 1800 V
  2137. (11115)210 648 A
  2138. (lock();)294 1236 A
  2139. 1890 V
  2140. (11116)210 648 A
  2141. (realtime)336 1236 A
  2142. 1614(+=)S
  2143. (pending_ticks;)588 1740 A
  2144. 2370(/*)S
  2145. (transfer)336 2496 A
  2146. (ticks)210 2874 A
  2147. (from)168 3126 A
  2148. (low)126 3336 A
  2149. (level)210 3504 A
  2150. (handler)294 3756 A
  2151. 4092(*/)S
  2152. 1980 V
  2153. (11117)210 648 A
  2154. (pending_ticks)546 1236 A
  2155. 1824(=)S
  2156. 1908(0;)S
  2157. 2370(/*)S
  2158. 2496(so)S
  2159. 2622(we)S
  2160. (don't)210 2748 A
  2161. (have)168 3000 A
  2162. 3210(to)S
  2163. (worry)210 3336 A
  2164. (about)210 3588 A
  2165. (them)168 3840 A
  2166. 4050(*/)S
  2167. 2070 V
  2168. (11118)210 648 A
  2169. (unlock();)378 1236 A
  2170. 2160 V
  2171. (11119)210 648 A
  2172. 2250 V
  2173. (11120)210 648 A
  2174. (switch)252 1236 A
  2175. ((opcode))336 1530 A
  2176. 1908({)S
  2177. 2340 V
  2178. (11121)210 648 A
  2179. (case)168 1362 A
  2180. (HARD_INT:)378 1572 A
  2181. (do_clocktick();)630 2076 A
  2182. (break;)252 3042 A
  2183. 2430 V
  2184. (11122)210 648 A
  2185. (case)168 1362 A
  2186. (GET_UPTIME:)462 1572 A
  2187. (do_getuptime();)630 2076 A
  2188. (break;)252 3042 A
  2189. 2520 V
  2190. (11123)210 648 A
  2191. (case)168 1362 A
  2192. (GET_TIME:)378 1572 A
  2193. (do_get_time();)588 2076 A
  2194. (break;)252 3042 A
  2195. 2610 V
  2196. (11124)210 648 A
  2197. (case)168 1362 A
  2198. (SET_TIME:)378 1572 A
  2199. (do_set_time(&mc);)714 2076 A
  2200. (break;)252 3042 A
  2201. 2700 V
  2202. (11125)210 648 A
  2203. (case)168 1362 A
  2204. (SET_ALARM:)420 1572 A
  2205. (do_setalarm(&mc);)714 2076 A
  2206. (break;)252 3042 A
  2207. 2790 V
  2208. (11126)210 648 A
  2209. (case)168 1362 A
  2210. (SET_SYNC_AL:do_setsyn_alrm(&mc);)1344 1572 A
  2211. (break;)252 3042 A
  2212. 2880 V
  2213. (11127)210 648 A
  2214. (default:)336 1362 A
  2215. (panic("clock)504 1740 A
  2216. (task)168 2286 A
  2217. (got)126 2496 A
  2218. (bad)126 2664 A
  2219. (message",)378 2832 A
  2220. (mc.m_type);)462 3252 A
  2221. 2970 V
  2222. (11128)210 648 A
  2223. 1236(})S
  2224. 3060 V
  2225. (11129)210 648 A
  2226. 3150 V
  2227. (11130)210 648 A
  2228. 1194(/*)S
  2229. (Send)168 1320 A
  2230. (reply,)252 1530 A
  2231. (except)252 1824 A
  2232. (for)126 2118 A
  2233. (clock)210 2286 A
  2234. (tick.)210 2538 A
  2235. 2790(*/)S
  2236. 3240 V
  2237. (11131)210 648 A
  2238. (mc.m_type)378 1194 A
  2239. 1614(=)S
  2240. (OK;)126 1698 A
  2241. 3330 V
  2242. (11132)210 648 A
  2243. 1194(if)S
  2244. ((opcode)294 1320 A
  2245. 1656(!=)S
  2246. (HARD_INT))378 1782 A
  2247. (send(mc.m_source,)714 2202 A
  2248. (&mc);)210 2958 A
  2249. 3420 V
  2250. (11133)210 648 A
  2251. 1110(})S
  2252. 3510 V
  2253. (11134)210 648 A
  2254. 1026(})S
  2255. 3780 V
  2256. (11137)210 648 A
  2257. (/*===========================================================================*)3276 1026 A
  2258. 3870 V
  2259. (11138)210 648 A
  2260. 1068(*)S
  2261. (do_clocktick)504 2370 A
  2262. 4260(*)S
  2263. 3960 V
  2264. (11139)210 648 A
  2265. (*===========================================================================*/)3276 1068 A
  2266. 4050 V
  2267. (11140)210 648 A
  2268. (PRIVATE)294 1026 A
  2269. (void)168 1362 A
  2270. (do_clocktick())588 1572 A
  2271. 4140 V
  2272. (11141)210 648 A
  2273. 1026({)S
  2274. 4230 V
  2275. (11142)210 648 A
  2276. 1026(/*)S
  2277. (Despite)294 1152 A
  2278. (its)126 1488 A
  2279. (name,)210 1656 A
  2280. (this)168 1908 A
  2281. (routine)294 2118 A
  2282. 2454(is)S
  2283. (not)126 2580 A
  2284. (called)252 2748 A
  2285. 3042(on)S
  2286. (every)210 3168 A
  2287. (clock)210 3420 A
  2288. (tick.)210 3672 A
  2289. 3924(It)S
  2290. 4320 V
  2291. (11143)210 648 A
  2292. 1068(*)S
  2293. 1152(is)S
  2294. (called)252 1278 A
  2295. 1572(on)S
  2296. (those)210 1698 A
  2297. (clock)210 1950 A
  2298. (ticks)210 2202 A
  2299. (when)168 2454 A
  2300. 2664(a)S
  2301. (lot)126 2748 A
  2302. 2916(of)S
  2303. (work)168 3042 A
  2304. (needs)210 3252 A
  2305. 3504(to)S
  2306. 3630(be)S
  2307. (done.)210 3756 A
  2308. 4410 V
  2309. (11144)210 648 A
  2310. 1068(*/)S
  2311. 4500 V
  2312. (11145)210 648 A
  2313. 4590 V
  2314. (11146)210 648 A
  2315. (register)336 1110 A
  2316. (struct)252 1488 A
  2317. (proc)168 1782 A
  2318. (*rp;)168 1992 A
  2319. 4680 V
  2320. (11147)210 648 A
  2321. (register)336 1110 A
  2322. (int)126 1488 A
  2323. (proc_nr;)336 1656 A
  2324. 4770 V
  2325. (11148)210 648 A
  2326. 4860 V
  2327. (11149)210 648 A
  2328. 1110(if)S
  2329. ((next_alarm)462 1236 A
  2330. 1740(<=)S
  2331. (realtime))378 1866 A
  2332. 2286({)S
  2333. 4950 V
  2334. (11150)210 648 A
  2335. 1362(/*)S
  2336. 1488(An)S
  2337. (alarm)210 1614 A
  2338. (may)126 1866 A
  2339. (have)168 2034 A
  2340. (gone)168 2244 A
  2341. (off,)168 2454 A
  2342. (but)126 2664 A
  2343. (proc)168 2832 A
  2344. (may)126 3042 A
  2345. (have)168 3210 A
  2346. (exited,)294 3420 A
  2347. 3756(so)S
  2348. (check.)252 3882 A
  2349. 4176(*/)S
  2350. 5040 V
  2351. (11151)210 648 A
  2352. (next_alarm)420 1362 A
  2353. 1824(=)S
  2354. (LONG_MAX;)378 1908 A
  2355. 2370(/*)S
  2356. (start)210 2496 A
  2357. (computing)378 2748 A
  2358. (next)168 3168 A
  2359. (alarm)210 3378 A
  2360. 3630(*/)S
  2361. 5130 V
  2362. (11152)210 648 A
  2363. (for)126 1362 A
  2364. ((rp)126 1530 A
  2365. 1698(=)S
  2366. (BEG_PROC_ADDR;)588 1782 A
  2367. 2412(rp)S
  2368. 2538(<)S
  2369. (END_PROC_ADDR;)588 2622 A
  2370. (rp++))210 3252 A
  2371. 3504({)S
  2372. 5220 V
  2373. (11153)210 648 A
  2374. 1698(if)S
  2375. ((rp->p_alarm)504 1824 A
  2376. 2370(!=)S
  2377. 2496(0))S
  2378. 2622({)S
  2379. 5310 V
  2380. (11154)210 648 A
  2381. 2034(/*)S
  2382. (See)126 2160 A
  2383. 2328(if)S
  2384. (this)168 2454 A
  2385. (alarm)210 2664 A
  2386. (time)168 2916 A
  2387. (has)126 3126 A
  2388. (been)168 3294 A
  2389. (reached.)336 3504 A
  2390. 3882(*/)S
  2391. 5400 V
  2392. (11155)210 648 A
  2393. 2034(if)S
  2394. ((rp->p_alarm)504 2160 A
  2395. 2706(<=)S
  2396. (realtime))378 2832 A
  2397. 3252({)S
  2398. 5490 V
  2399. (11156)210 648 A
  2400. 2370(/*)S
  2401. 2496(A)S
  2402. (timer)210 2580 A
  2403. (has)126 2832 A
  2404. (gone)168 3000 A
  2405. (off.)168 3210 A
  2406. 3462(If)S
  2407. 3588(it)S
  2408. 3714(is)S
  2409. 3840(a)S
  2410. (user)168 3924 A
  2411. (proc,)210 4134 A
  2412. 5580 V
  2413. (11157)210 648 A
  2414. 2412(*)S
  2415. (send)168 2496 A
  2416. 2706(it)S
  2417. 2832(a)S
  2418. (signal.)294 2916 A
  2419. 3294(If)S
  2420. 3420(it)S
  2421. 3546(is)S
  2422. 3672(a)S
  2423. (task,)210 3756 A
  2424. (call)168 4008 A
  2425. (the)126 4218 A
  2426. 5670 V
  2427. (11158)210 648 A
  2428. 2412(*)S
  2429. (function)336 2496 A
  2430. (previously)420 2874 A
  2431. (specified)378 3336 A
  2432. 3756(by)S
  2433. (the)126 3882 A
  2434. (task.)210 4050 A
  2435. 5760 V
  2436. (11159)210 648 A
  2437. 2412(*/)S
  2438. 5850 V
  2439. (11160)210 648 A
  2440. (proc_nr)294 2370 A
  2441. 2706(=)S
  2442. (proc_number(rp);)672 2790 A
  2443. 5940 V
  2444. (11161)210 648 A
  2445. 2370(if)S
  2446. ((watch_dog[proc_nr+NR_TASKS]))1218 2496 A
  2447. 3756({)S
  2448. 6030 V
  2449. (11162)210 648 A
  2450. (watchdog_proc=)588 2706 A
  2451. (proc_nr;)336 3336 A
  2452. 6120 V
  2453. (11163)210 648 A
  2454. ((*watch_dog[proc_nr+NR_TASKS])();)1386 2706 A
  2455. 6210 V
  2456. (11164)210 648 A
  2457. 2370(})S
  2458. 8418 V
  2459. EP
  2460. %%Page: 147 147
  2461. BP
  2462. /slant 0 def
  2463. /height 0 def
  2464. 630 V
  2465. 10 R
  2466. 648(MINIX)S
  2467. 976(SOURCE)S
  2468. 1399(CODE)S
  2469. 11 R
  2470. 2027(File:)S
  2471. 2260(src/kernel/clock.c)S
  2472. 12 B
  2473. (147)180 4248 A
  2474. 900 V
  2475. 7 LST
  2476. (11165)210 648 A
  2477. (else)168 2370 A
  2478. 990 V
  2479. (11166)210 648 A
  2480. (cause_sig(proc_nr,)756 2706 A
  2481. (SIGALRM);)378 3504 A
  2482. 1080 V
  2483. (11167)210 648 A
  2484. (rp->p_alarm)462 2370 A
  2485. 2874(=)S
  2486. 2958(0;)S
  2487. 1170 V
  2488. (11168)210 648 A
  2489. 2034(})S
  2490. 1260 V
  2491. (11169)210 648 A
  2492. 1350 V
  2493. (11170)210 648 A
  2494. 2034(/*)S
  2495. (Work)168 2160 A
  2496. 2370(on)S
  2497. (determining)462 2496 A
  2498. (which)210 3000 A
  2499. (alarm)210 3252 A
  2500. 3504(is)S
  2501. (next.)210 3630 A
  2502. 3882(*/)S
  2503. 1440 V
  2504. (11171)210 648 A
  2505. 2034(if)S
  2506. ((rp->p_alarm)504 2160 A
  2507. 2706(!=)S
  2508. 2832(0)S
  2509. 2916(&&)S
  2510. (rp->p_alarm)462 3042 A
  2511. 3546(<)S
  2512. (next_alarm))462 3630 A
  2513. 1530 V
  2514. (11172)210 648 A
  2515. (next_alarm)420 2370 A
  2516. 2832(=)S
  2517. (rp->p_alarm;)504 2916 A
  2518. 1620 V
  2519. (11173)210 648 A
  2520. 1698(})S
  2521. 1710 V
  2522. (11174)210 648 A
  2523. 1362(})S
  2524. 1800 V
  2525. (11175)210 648 A
  2526. 1110(})S
  2527. 1890 V
  2528. (11176)210 648 A
  2529. 1980 V
  2530. (11177)210 648 A
  2531. 1110(/*)S
  2532. 1236(If)S
  2533. 1362(a)S
  2534. (user)168 1446 A
  2535. (process)294 1656 A
  2536. (has)126 1992 A
  2537. (been)168 2160 A
  2538. (running)294 2370 A
  2539. (too)126 2706 A
  2540. (long,)210 2874 A
  2541. (pick)168 3126 A
  2542. (another)294 3336 A
  2543. (one.)168 3672 A
  2544. 3882(*/)S
  2545. 2070 V
  2546. (11178)210 648 A
  2547. 1110(if)S
  2548. ((--sched_ticks)588 1236 A
  2549. 1866(==)S
  2550. 1992(0))S
  2551. 2118({)S
  2552. 2160 V
  2553. (11179)210 648 A
  2554. 1362(if)S
  2555. ((bill_ptr)378 1488 A
  2556. 1908(==)S
  2557. (prev_ptr))378 2034 A
  2558. (lock_sched();)546 2454 A
  2559. 3042(/*)S
  2560. (process)294 3168 A
  2561. (has)126 3504 A
  2562. (run)126 3672 A
  2563. (too)126 3840 A
  2564. (long)168 4008 A
  2565. 4218(*/)S
  2566. 2250 V
  2567. (11180)210 648 A
  2568. (sched_ticks)462 1362 A
  2569. 1866(=)S
  2570. (SCHED_RATE;)462 1950 A
  2571. 3042(/*)S
  2572. (reset)210 3168 A
  2573. (quantum)294 3420 A
  2574. 3756(*/)S
  2575. 2340 V
  2576. (11181)210 648 A
  2577. (prev_ptr)336 1362 A
  2578. 1740(=)S
  2579. (bill_ptr;)378 1824 A
  2580. 3042(/*)S
  2581. (new)126 3168 A
  2582. (previous)336 3336 A
  2583. (process)294 3714 A
  2584. 4050(*/)S
  2585. 2430 V
  2586. (11182)210 648 A
  2587. 1110(})S
  2588. 2520 V
  2589. (11183)210 648 A
  2590. 1026(})S
  2591. 2790 V
  2592. (11186)210 648 A
  2593. (/*===========================================================================*)3276 1026 A
  2594. 2880 V
  2595. (11187)210 648 A
  2596. 1068(*)S
  2597. (do_getuptime)504 2370 A
  2598. 4260(*)S
  2599. 2970 V
  2600. (11188)210 648 A
  2601. (*===========================================================================*/)3276 1068 A
  2602. 3060 V
  2603. (11189)210 648 A
  2604. (PRIVATE)294 1026 A
  2605. (void)168 1362 A
  2606. (do_getuptime())588 1572 A
  2607. 3150 V
  2608. (11190)210 648 A
  2609. 1026({)S
  2610. 3240 V
  2611. (11191)210 648 A
  2612. 1026(/*)S
  2613. (Get)126 1152 A
  2614. (and)126 1320 A
  2615. (return)252 1488 A
  2616. (the)126 1782 A
  2617. (current)294 1950 A
  2618. (clock)210 2286 A
  2619. (uptime)252 2538 A
  2620. 2832(in)S
  2621. (ticks.)252 2958 A
  2622. 3252(*/)S
  2623. 3330 V
  2624. (11192)210 648 A
  2625. 3420 V
  2626. (11193)210 648 A
  2627. (mc.NEW_TIME)462 1110 A
  2628. 1614(=)S
  2629. (realtime;)378 1698 A
  2630. 2370(/*)S
  2631. (current)294 2496 A
  2632. (uptime)252 2832 A
  2633. 3126(*/)S
  2634. 3510 V
  2635. (11194)210 648 A
  2636. 1026(})S
  2637. 3780 V
  2638. (11197)210 648 A
  2639. (/*===========================================================================*)3276 1026 A
  2640. 3870 V
  2641. (11198)210 648 A
  2642. 1068(*)S
  2643. (get_uptime)420 2370 A
  2644. 4260(*)S
  2645. 3960 V
  2646. (11199)210 648 A
  2647. (*===========================================================================*/)3276 1068 A
  2648. 4050 V
  2649. (11200)210 648 A
  2650. (PUBLIC)252 1026 A
  2651. (clock_t)294 1320 A
  2652. (get_uptime())504 1656 A
  2653. 4140 V
  2654. (11201)210 648 A
  2655. 1026({)S
  2656. 4230 V
  2657. (11202)210 648 A
  2658. 1026(/*)S
  2659. (Get)126 1152 A
  2660. (and)126 1320 A
  2661. (return)252 1488 A
  2662. (the)126 1782 A
  2663. (current)294 1950 A
  2664. (clock)210 2286 A
  2665. (uptime)252 2538 A
  2666. 2832(in)S
  2667. (ticks.)252 2958 A
  2668. (This)168 3294 A
  2669. (function)336 3504 A
  2670. 3882(is)S
  2671. 4320 V
  2672. (11203)210 648 A
  2673. 1068(*)S
  2674. (designed)336 1152 A
  2675. 1530(to)S
  2676. 1656(be)S
  2677. (called)252 1782 A
  2678. (from)168 2076 A
  2679. (other)210 2286 A
  2680. (tasks,)252 2538 A
  2681. 2832(so)S
  2682. (they)168 2958 A
  2683. (can)126 3168 A
  2684. (get)126 3336 A
  2685. (uptime)252 3504 A
  2686. (without)294 3798 A
  2687. 4410 V
  2688. (11204)210 648 A
  2689. 1068(*)S
  2690. (the)126 1152 A
  2691. (overhead)336 1320 A
  2692. 1698(of)S
  2693. (messages.)378 1824 A
  2694. 2244(It)S
  2695. (has)126 2370 A
  2696. 2538(to)S
  2697. 2664(be)S
  2698. (careful)294 2790 A
  2699. (about)210 3126 A
  2700. (pending_ticks.)588 3378 A
  2701. 4500 V
  2702. (11205)210 648 A
  2703. 1068(*/)S
  2704. 4590 V
  2705. (11206)210 648 A
  2706. 4680 V
  2707. (11207)210 648 A
  2708. (clock_t)294 1110 A
  2709. (uptime;)294 1446 A
  2710. 4770 V
  2711. (11208)210 648 A
  2712. 4860 V
  2713. (11209)210 648 A
  2714. (lock();)294 1110 A
  2715. 4950 V
  2716. (11210)210 648 A
  2717. (uptime)252 1110 A
  2718. 1404(=)S
  2719. (realtime)336 1488 A
  2720. 1866(+)S
  2721. (pending_ticks;)588 1950 A
  2722. 5040 V
  2723. (11211)210 648 A
  2724. (unlock();)378 1110 A
  2725. 5130 V
  2726. (11212)210 648 A
  2727. (return(uptime);)630 1110 A
  2728. 5220 V
  2729. (11213)210 648 A
  2730. 1026(})S
  2731. 5490 V
  2732. (11216)210 648 A
  2733. (/*===========================================================================*)3276 1026 A
  2734. 5580 V
  2735. (11217)210 648 A
  2736. 1068(*)S
  2737. (do_get_time)462 2370 A
  2738. 4260(*)S
  2739. 5670 V
  2740. (11218)210 648 A
  2741. (*===========================================================================*/)3276 1068 A
  2742. 5760 V
  2743. (11219)210 648 A
  2744. (PRIVATE)294 1026 A
  2745. (void)168 1362 A
  2746. (do_get_time())546 1572 A
  2747. 5850 V
  2748. (11220)210 648 A
  2749. 1026({)S
  2750. 5940 V
  2751. (11221)210 648 A
  2752. 1026(/*)S
  2753. (Get)126 1152 A
  2754. (and)126 1320 A
  2755. (return)252 1488 A
  2756. (the)126 1782 A
  2757. (current)294 1950 A
  2758. (clock)210 2286 A
  2759. (time)168 2538 A
  2760. 2748(in)S
  2761. (seconds.)336 2874 A
  2762. 3252(*/)S
  2763. 6030 V
  2764. (11222)210 648 A
  2765. 6120 V
  2766. (11223)210 648 A
  2767. (mc.NEW_TIME)462 1110 A
  2768. 1614(=)S
  2769. (boot_time)378 1698 A
  2770. 2118(+)S
  2771. (realtime/HZ;)504 2202 A
  2772. 3042(/*)S
  2773. (current)294 3168 A
  2774. (real)168 3504 A
  2775. (time)168 3714 A
  2776. 3924(*/)S
  2777. 6210 V
  2778. (11224)210 648 A
  2779. 1026(})S
  2780. 8418 V
  2781. EP
  2782. %%Page: 148 148
  2783. BP
  2784. /slant 0 def
  2785. /height 0 def
  2786. 630 V
  2787. 12 B
  2788. (148)180 648 A
  2789. 11 R
  2790. 2027(File:)S
  2791. 2260(src/kernel/clock.c)S
  2792. 10 R
  2793. 3402(MINIX)S
  2794. 3730(SOURCE)S
  2795. 4153(CODE)S
  2796. 1080 V
  2797. 7 LST
  2798. (11227)210 648 A
  2799. (/*===========================================================================*)3276 1026 A
  2800. 1170 V
  2801. (11228)210 648 A
  2802. 1068(*)S
  2803. (do_set_time)462 2370 A
  2804. 4260(*)S
  2805. 1260 V
  2806. (11229)210 648 A
  2807. (*===========================================================================*/)3276 1068 A
  2808. 1350 V
  2809. (11230)210 648 A
  2810. (PRIVATE)294 1026 A
  2811. (void)168 1362 A
  2812. (do_set_time(m_ptr))756 1572 A
  2813. 1440 V
  2814. (11231)210 648 A
  2815. (message)294 1026 A
  2816. (*m_ptr;)294 1362 A
  2817. 2370(/*)S
  2818. (pointer)294 2496 A
  2819. 2832(to)S
  2820. (request)294 2958 A
  2821. (message)294 3294 A
  2822. 3630(*/)S
  2823. 1530 V
  2824. (11232)210 648 A
  2825. 1026({)S
  2826. 1620 V
  2827. (11233)210 648 A
  2828. 1026(/*)S
  2829. (Set)126 1152 A
  2830. (the)126 1320 A
  2831. (real)168 1488 A
  2832. (time)168 1698 A
  2833. (clock.)252 1908 A
  2834. (Only)168 2244 A
  2835. (the)126 2454 A
  2836. (superuser)378 2622 A
  2837. (can)126 3042 A
  2838. (use)126 3210 A
  2839. (this)168 3378 A
  2840. (call.)210 3588 A
  2841. 3840(*/)S
  2842. 1710 V
  2843. (11234)210 648 A
  2844. 1800 V
  2845. (11235)210 648 A
  2846. (boot_time)378 1110 A
  2847. 1530(=)S
  2848. (m_ptr->NEW_TIME)630 1614 A
  2849. 2286(-)S
  2850. (realtime/HZ;)504 2370 A
  2851. 1890 V
  2852. (11236)210 648 A
  2853. 1026(})S
  2854. 2160 V
  2855. (11239)210 648 A
  2856. (/*===========================================================================*)3276 1026 A
  2857. 2250 V
  2858. (11240)210 648 A
  2859. 1068(*)S
  2860. (do_setalarm)462 2370 A
  2861. 4260(*)S
  2862. 2340 V
  2863. (11241)210 648 A
  2864. (*===========================================================================*/)3276 1068 A
  2865. 2430 V
  2866. (11242)210 648 A
  2867. (PRIVATE)294 1026 A
  2868. (void)168 1362 A
  2869. (do_setalarm(m_ptr))756 1572 A
  2870. 2520 V
  2871. (11243)210 648 A
  2872. (message)294 1026 A
  2873. (*m_ptr;)294 1362 A
  2874. 2370(/*)S
  2875. (pointer)294 2496 A
  2876. 2832(to)S
  2877. (request)294 2958 A
  2878. (message)294 3294 A
  2879. 3630(*/)S
  2880. 2610 V
  2881. (11244)210 648 A
  2882. 1026({)S
  2883. 2700 V
  2884. (11245)210 648 A
  2885. 1026(/*)S
  2886. 1152(A)S
  2887. (process)294 1236 A
  2888. (wants)210 1572 A
  2889. 1824(an)S
  2890. (alarm)210 1950 A
  2891. (signal)252 2202 A
  2892. 2496(or)S
  2893. 2622(a)S
  2894. (task)168 2706 A
  2895. (wants)210 2916 A
  2896. 3168(a)S
  2897. (given)210 3252 A
  2898. (watch_dog)378 3504 A
  2899. (function)336 3924 A
  2900. 2790 V
  2901. (11246)210 648 A
  2902. 1068(*)S
  2903. (called)252 1152 A
  2904. (after)210 1446 A
  2905. 1698(a)S
  2906. (specified)378 1782 A
  2907. (interval.)378 2202 A
  2908. 2880 V
  2909. (11247)210 648 A
  2910. 1068(*/)S
  2911. 2970 V
  2912. (11248)210 648 A
  2913. 3060 V
  2914. (11249)210 648 A
  2915. (register)336 1110 A
  2916. (struct)252 1488 A
  2917. (proc)168 1782 A
  2918. (*rp;)168 1992 A
  2919. 3150 V
  2920. (11250)210 648 A
  2921. (int)126 1110 A
  2922. (proc_nr;)336 1278 A
  2923. 2370(/*)S
  2924. (which)210 2496 A
  2925. (process)294 2748 A
  2926. (wants)210 3084 A
  2927. (the)126 3336 A
  2928. (alarm)210 3504 A
  2929. 3756(*/)S
  2930. 3240 V
  2931. (11251)210 648 A
  2932. (long)168 1110 A
  2933. (delta_ticks;)504 1320 A
  2934. 2370(/*)S
  2935. 2496(in)S
  2936. (how)126 2622 A
  2937. (many)168 2790 A
  2938. (clock)210 3000 A
  2939. (ticks)210 3252 A
  2940. (does)168 3504 A
  2941. 3714(he)S
  2942. (want)168 3840 A
  2943. (it?)126 4050 A
  2944. 4218(*/)S
  2945. 3330 V
  2946. (11252)210 648 A
  2947. (watchdog_t)420 1110 A
  2948. (function;)378 1572 A
  2949. 2370(/*)S
  2950. (function)336 2496 A
  2951. 2874(to)S
  2952. (call)168 3000 A
  2953. ((tasks)252 3210 A
  2954. (only))210 3504 A
  2955. 3756(*/)S
  2956. 3420 V
  2957. (11253)210 648 A
  2958. 3510 V
  2959. (11254)210 648 A
  2960. 1110(/*)S
  2961. (Extract)294 1236 A
  2962. (the)126 1572 A
  2963. (parameters)420 1740 A
  2964. (from)168 2202 A
  2965. (the)126 2412 A
  2966. (message.)336 2580 A
  2967. 2958(*/)S
  2968. 3600 V
  2969. (11255)210 648 A
  2970. (proc_nr)294 1110 A
  2971. 1446(=)S
  2972. (m_ptr->CLOCK_PROC_NR;)882 1530 A
  2973. 2706(/*)S
  2974. (process)294 2832 A
  2975. 3168(to)S
  2976. (interrupt)378 3294 A
  2977. (later)210 3714 A
  2978. 3966(*/)S
  2979. 3690 V
  2980. (11256)210 648 A
  2981. (delta_ticks)462 1110 A
  2982. 1614(=)S
  2983. (m_ptr->DELTA_TICKS;)798 1698 A
  2984. 2706(/*)S
  2985. (how)126 2832 A
  2986. (many)168 3000 A
  2987. (ticks)210 3210 A
  2988. 3462(to)S
  2989. (wait)168 3588 A
  2990. 3798(*/)S
  2991. 3780 V
  2992. (11257)210 648 A
  2993. (function)336 1110 A
  2994. 1488(=)S
  2995. ((watchdog_t))504 1572 A
  2996. (m_ptr->FUNC_TO_CALL;)840 2118 A
  2997. 3870 V
  2998. (11258)210 648 A
  2999. 2706(/*)S
  3000. (function)336 2832 A
  3001. 3210(to)S
  3002. (call)168 3336 A
  3003. ((tasks)252 3546 A
  3004. (only))210 3840 A
  3005. 4092(*/)S
  3006. 3960 V
  3007. (11259)210 648 A
  3008. 1110(rp)S
  3009. 1236(=)S
  3010. (proc_addr(proc_nr);)798 1320 A
  3011. 4050 V
  3012. (11260)210 648 A
  3013. (mc.SECONDS_LEFT)630 1110 A
  3014. 1782(=)S
  3015. ((rp->p_alarm)504 1866 A
  3016. 2412(==)S
  3017. 2538(0)S
  3018. 2622(?)S
  3019. 2706(0)S
  3020. 2790(:)S
  3021. ((rp->p_alarm)504 2874 A
  3022. 3420(-)S
  3023. (realtime)/HZ)504 3504 A
  3024. 4050();)S
  3025. 4140 V
  3026. (11261)210 648 A
  3027. 1110(if)S
  3028. ((!istaskp(rp)))588 1236 A
  3029. (function=)378 1866 A
  3030. 2286(0;)S
  3031. 2706(/*)S
  3032. (user)168 2832 A
  3033. (processes)378 3042 A
  3034. (get)126 3462 A
  3035. (signaled)336 3630 A
  3036. 4008(*/)S
  3037. 4230 V
  3038. (11262)210 648 A
  3039. (common_setalarm(proc_nr,)1008 1110 A
  3040. (delta_ticks,)504 2160 A
  3041. (function);)420 2706 A
  3042. 4320 V
  3043. (11263)210 648 A
  3044. 1026(})S
  3045. 4590 V
  3046. (11266)210 648 A
  3047. (/*===========================================================================*)3276 1026 A
  3048. 4680 V
  3049. (11267)210 648 A
  3050. 1068(*)S
  3051. (do_setsyn_alrm)588 2370 A
  3052. 4260(*)S
  3053. 4770 V
  3054. (11268)210 648 A
  3055. (*===========================================================================*/)3276 1068 A
  3056. 4860 V
  3057. (11269)210 648 A
  3058. (PRIVATE)294 1026 A
  3059. (void)168 1362 A
  3060. (do_setsyn_alrm(m_ptr))882 1572 A
  3061. 4950 V
  3062. (11270)210 648 A
  3063. (message)294 1026 A
  3064. (*m_ptr;)294 1362 A
  3065. 2370(/*)S
  3066. (pointer)294 2496 A
  3067. 2832(to)S
  3068. (request)294 2958 A
  3069. (message)294 3294 A
  3070. 3630(*/)S
  3071. 5040 V
  3072. (11271)210 648 A
  3073. 1026({)S
  3074. 5130 V
  3075. (11272)210 648 A
  3076. 1026(/*)S
  3077. 1152(A)S
  3078. (process)294 1236 A
  3079. (wants)210 1572 A
  3080. 1824(a)S
  3081. (synchronous)462 1908 A
  3082. (alarm.)252 2412 A
  3083. 5220 V
  3084. (11273)210 648 A
  3085. 1068(*/)S
  3086. 5310 V
  3087. (11274)210 648 A
  3088. 5400 V
  3089. (11275)210 648 A
  3090. (register)336 1110 A
  3091. (struct)252 1488 A
  3092. (proc)168 1782 A
  3093. (*rp;)168 1992 A
  3094. 5490 V
  3095. (11276)210 648 A
  3096. (int)126 1110 A
  3097. (proc_nr;)336 1278 A
  3098. 2370(/*)S
  3099. (which)210 2496 A
  3100. (process)294 2748 A
  3101. (wants)210 3084 A
  3102. (the)126 3336 A
  3103. (alarm)210 3504 A
  3104. 3756(*/)S
  3105. 5580 V
  3106. (11277)210 648 A
  3107. (long)168 1110 A
  3108. (delta_ticks;)504 1320 A
  3109. 2370(/*)S
  3110. 2496(in)S
  3111. (how)126 2622 A
  3112. (many)168 2790 A
  3113. (clock)210 3000 A
  3114. (ticks)210 3252 A
  3115. (does)168 3504 A
  3116. 3714(he)S
  3117. (want)168 3840 A
  3118. (it?)126 4050 A
  3119. 4218(*/)S
  3120. 5670 V
  3121. (11278)210 648 A
  3122. 5760 V
  3123. (11279)210 648 A
  3124. 1110(/*)S
  3125. (Extract)294 1236 A
  3126. (the)126 1572 A
  3127. (parameters)420 1740 A
  3128. (from)168 2202 A
  3129. (the)126 2412 A
  3130. (message.)336 2580 A
  3131. 2958(*/)S
  3132. 5850 V
  3133. (11280)210 648 A
  3134. (proc_nr)294 1110 A
  3135. 1446(=)S
  3136. (m_ptr->CLOCK_PROC_NR;)882 1530 A
  3137. 2706(/*)S
  3138. (process)294 2832 A
  3139. 3168(to)S
  3140. (interrupt)378 3294 A
  3141. (later)210 3714 A
  3142. 3966(*/)S
  3143. 5940 V
  3144. (11281)210 648 A
  3145. (delta_ticks)462 1110 A
  3146. 1614(=)S
  3147. (m_ptr->DELTA_TICKS;)798 1698 A
  3148. 2706(/*)S
  3149. (how)126 2832 A
  3150. (many)168 3000 A
  3151. (ticks)210 3210 A
  3152. 3462(to)S
  3153. (wait)168 3588 A
  3154. 3798(*/)S
  3155. 6030 V
  3156. (11282)210 648 A
  3157. 1110(rp)S
  3158. 1236(=)S
  3159. (proc_addr(proc_nr);)798 1320 A
  3160. 6120 V
  3161. (11283)210 648 A
  3162. (mc.SECONDS_LEFT)630 1110 A
  3163. 1782(=)S
  3164. ((rp->p_alarm)504 1866 A
  3165. 2412(==)S
  3166. 2538(0)S
  3167. 2622(?)S
  3168. 2706(0)S
  3169. 2790(:)S
  3170. ((rp->p_alarm)504 2874 A
  3171. 3420(-)S
  3172. (realtime)/HZ)504 3504 A
  3173. 4050();)S
  3174. 6210 V
  3175. (11284)210 648 A
  3176. (common_setalarm(proc_nr,)1008 1110 A
  3177. (delta_ticks,)504 2160 A
  3178. (cause_alarm);)546 2706 A
  3179. 8418 V
  3180. EP
  3181. %%Page: 149 149
  3182. BP
  3183. /slant 0 def
  3184. /height 0 def
  3185. 630 V
  3186. 10 R
  3187. 648(MINIX)S
  3188. 976(SOURCE)S
  3189. 1399(CODE)S
  3190. 11 R
  3191. 2027(File:)S
  3192. 2260(src/kernel/clock.c)S
  3193. 12 B
  3194. (149)180 4248 A
  3195. 900 V
  3196. 7 LST
  3197. (11285)210 648 A
  3198. 1026(})S
  3199. 1170 V
  3200. (11288)210 648 A
  3201. (/*===========================================================================*)3276 1026 A
  3202. 1260 V
  3203. (11289)210 648 A
  3204. 1068(*)S
  3205. (common_setalarm)630 2370 A
  3206. 4260(*)S
  3207. 1350 V
  3208. (11290)210 648 A
  3209. (*===========================================================================*/)3276 1068 A
  3210. 1440 V
  3211. (11291)210 648 A
  3212. (PRIVATE)294 1026 A
  3213. (void)168 1362 A
  3214. (common_setalarm(proc_nr,)1008 1572 A
  3215. (delta_ticks,)504 2622 A
  3216. (function))378 3168 A
  3217. 1530 V
  3218. (11292)210 648 A
  3219. (int)126 1026 A
  3220. (proc_nr;)336 1194 A
  3221. 2370(/*)S
  3222. (which)210 2496 A
  3223. (process)294 2748 A
  3224. (wants)210 3084 A
  3225. (the)126 3336 A
  3226. (alarm)210 3504 A
  3227. 3756(*/)S
  3228. 1620 V
  3229. (11293)210 648 A
  3230. (long)168 1026 A
  3231. (delta_ticks;)504 1236 A
  3232. 2370(/*)S
  3233. 2496(in)S
  3234. (how)126 2622 A
  3235. (many)168 2790 A
  3236. (clock)210 3000 A
  3237. (ticks)210 3252 A
  3238. (does)168 3504 A
  3239. 3714(he)S
  3240. (want)168 3840 A
  3241. (it?)126 4050 A
  3242. 4218(*/)S
  3243. 1710 V
  3244. (11294)210 648 A
  3245. (watchdog_t)420 1026 A
  3246. (function;)378 1488 A
  3247. 2370(/*)S
  3248. (function)336 2496 A
  3249. 2874(to)S
  3250. (call)168 3000 A
  3251. 3210((0)S
  3252. 3336(if)S
  3253. (cause_sig)378 3462 A
  3254. 3882(is)S
  3255. 1800 V
  3256. (11295)210 648 A
  3257. 2412(*)S
  3258. 2496(to)S
  3259. 2622(be)S
  3260. (called)252 2748 A
  3261. 3042(*/)S
  3262. 1890 V
  3263. (11296)210 648 A
  3264. 1026({)S
  3265. 1980 V
  3266. (11297)210 648 A
  3267. 1026(/*)S
  3268. (Finish)252 1152 A
  3269. 1446(up)S
  3270. (work)168 1572 A
  3271. 1782(of)S
  3272. (do_set_alarm)504 1908 A
  3273. (and)126 2454 A
  3274. (do_setsyn_alrm.)630 2622 A
  3275. (Record)252 3336 A
  3276. 3630(an)S
  3277. (alarm)210 3756 A
  3278. 2070 V
  3279. (11298)210 648 A
  3280. 1068(*)S
  3281. (request)294 1152 A
  3282. (and)126 1488 A
  3283. (check)210 1656 A
  3284. 1908(to)S
  3285. (see)126 2034 A
  3286. 2202(if)S
  3287. 2328(it)S
  3288. 2454(is)S
  3289. (the)126 2580 A
  3290. (next)168 2748 A
  3291. (alarm)210 2958 A
  3292. (needed.)294 3210 A
  3293. 2160 V
  3294. (11299)210 648 A
  3295. 1068(*/)S
  3296. 2250 V
  3297. (11300)210 648 A
  3298. 2340 V
  3299. (11301)210 648 A
  3300. (register)336 1110 A
  3301. (struct)252 1488 A
  3302. (proc)168 1782 A
  3303. (*rp;)168 1992 A
  3304. 2430 V
  3305. (11302)210 648 A
  3306. 2520 V
  3307. (11303)210 648 A
  3308. 1110(rp)S
  3309. 1236(=)S
  3310. (proc_addr(proc_nr);)798 1320 A
  3311. 2610 V
  3312. (11304)210 648 A
  3313. (rp->p_alarm)462 1110 A
  3314. 1614(=)S
  3315. ((delta_ticks)504 1698 A
  3316. 2244(==)S
  3317. 2370(0)S
  3318. 2454(?)S
  3319. 2538(0)S
  3320. 2622(:)S
  3321. (realtime)336 2706 A
  3322. 3084(+)S
  3323. (delta_ticks);)546 3168 A
  3324. 2700 V
  3325. (11305)210 648 A
  3326. (watch_dog[proc_nr+NR_TASKS])1134 1110 A
  3327. 2286(=)S
  3328. (function;)378 2370 A
  3329. 2790 V
  3330. (11306)210 648 A
  3331. 2880 V
  3332. (11307)210 648 A
  3333. 1110(/*)S
  3334. (Which)210 1236 A
  3335. (alarm)210 1488 A
  3336. 1740(is)S
  3337. (next?)210 1866 A
  3338. 2118(*/)S
  3339. 2970 V
  3340. (11308)210 648 A
  3341. (next_alarm)420 1110 A
  3342. 1572(=)S
  3343. (LONG_MAX;)378 1656 A
  3344. 3060 V
  3345. (11309)210 648 A
  3346. (for)126 1110 A
  3347. ((rp)126 1278 A
  3348. 1446(=)S
  3349. (BEG_PROC_ADDR;)588 1530 A
  3350. 2160(rp)S
  3351. 2286(<)S
  3352. (END_PROC_ADDR;)588 2370 A
  3353. (rp++))210 3000 A
  3354. 3150 V
  3355. (11310)210 648 A
  3356. (if(rp->p_alarm)588 1362 A
  3357. 1992(!=)S
  3358. 2118(0)S
  3359. 2202(&&)S
  3360. (rp->p_alarm)462 2328 A
  3361. 2832(<)S
  3362. (next_alarm)next_alarm=rp->p_alarm;)1428 2916 A
  3363. 3240 V
  3364. (11311)210 648 A
  3365. 3330 V
  3366. (11312)210 648 A
  3367. 1026(})S
  3368. 3600 V
  3369. (11315)210 648 A
  3370. (/*===========================================================================*)3276 1026 A
  3371. 3690 V
  3372. (11316)210 648 A
  3373. 1068(*)S
  3374. (cause_alarm)462 2370 A
  3375. 4260(*)S
  3376. 3780 V
  3377. (11317)210 648 A
  3378. (*===========================================================================*/)3276 1068 A
  3379. 3870 V
  3380. (11318)210 648 A
  3381. (PRIVATE)294 1026 A
  3382. (void)168 1362 A
  3383. (cause_alarm())546 1572 A
  3384. 3960 V
  3385. (11319)210 648 A
  3386. 1026({)S
  3387. 4050 V
  3388. (11320)210 648 A
  3389. 1026(/*)S
  3390. (Routine)294 1152 A
  3391. (called)252 1488 A
  3392. 1782(if)S
  3393. 1908(a)S
  3394. (timer)210 1992 A
  3395. (goes)168 2244 A
  3396. (off)126 2454 A
  3397. (and)126 2622 A
  3398. (the)126 2790 A
  3399. (process)294 2958 A
  3400. (requested)378 3294 A
  3401. 3714(a)S
  3402. (synchronous)462 3798 A
  3403. 4140 V
  3404. (11321)210 648 A
  3405. 1068(*)S
  3406. (alarm.)252 1152 A
  3407. (The)126 1446 A
  3408. (process)294 1614 A
  3409. (number)252 1950 A
  3410. 2244(is)S
  3411. 2370(in)S
  3412. (the)126 2496 A
  3413. (global)252 2664 A
  3414. (variable)336 2958 A
  3415. (watchdog_proc)546 3336 A
  3416. ((HACK).)294 3924 A
  3417. 4230 V
  3418. (11322)210 648 A
  3419. 1068(*/)S
  3420. 4320 V
  3421. (11323)210 648 A
  3422. (message)294 1110 A
  3423. (mess;)210 1446 A
  3424. 4410 V
  3425. (11324)210 648 A
  3426. 4500 V
  3427. (11325)210 648 A
  3428. (syn_table[watchdog_proc)966 1110 A
  3429. 2118(+)S
  3430. (NR_TASKS]=)420 2202 A
  3431. (TRUE;)210 2664 A
  3432. 4590 V
  3433. (11326)210 648 A
  3434. 1110(if)S
  3435. ((!syn_al_alive))630 1236 A
  3436. (send)168 1908 A
  3437. ((SYN_ALRM_TASK,)630 2118 A
  3438. (&mess);)294 2790 A
  3439. 4680 V
  3440. (11327)210 648 A
  3441. 1026(})S
  3442. 4950 V
  3443. (11330)210 648 A
  3444. (/*===========================================================================*)3276 1026 A
  3445. 5040 V
  3446. (11331)210 648 A
  3447. 1068(*)S
  3448. (syn_alrm_task)546 2370 A
  3449. 4260(*)S
  3450. 5130 V
  3451. (11332)210 648 A
  3452. (*===========================================================================*/)3276 1068 A
  3453. 5220 V
  3454. (11333)210 648 A
  3455. (PUBLIC)252 1026 A
  3456. (void)168 1320 A
  3457. (syn_alrm_task())630 1530 A
  3458. 5310 V
  3459. (11334)210 648 A
  3460. 1026({)S
  3461. 5400 V
  3462. (11335)210 648 A
  3463. 1026(/*)S
  3464. (Main)168 1152 A
  3465. (program)294 1362 A
  3466. 1698(of)S
  3467. (the)126 1824 A
  3468. (synchronous)462 1992 A
  3469. (alarm)210 2496 A
  3470. (task.)210 2748 A
  3471. 5490 V
  3472. (11336)210 648 A
  3473. 1068(*)S
  3474. (This)168 1152 A
  3475. (task)168 1362 A
  3476. (receives)336 1572 A
  3477. (messages)336 1950 A
  3478. (only)168 2328 A
  3479. (from)168 2538 A
  3480. (cause_alarm)462 2748 A
  3481. 3252(in)S
  3482. (the)126 3378 A
  3483. (clock)210 3546 A
  3484. (task.)210 3798 A
  3485. 5580 V
  3486. (11337)210 648 A
  3487. 1068(*)S
  3488. 1152(It)S
  3489. (sends)210 1278 A
  3490. 1530(a)S
  3491. (CLOCK_INT)378 1614 A
  3492. (message)294 2034 A
  3493. 2370(to)S
  3494. 2496(a)S
  3495. (process)294 2580 A
  3496. (that)168 2916 A
  3497. (requested)378 3126 A
  3498. 3546(a)S
  3499. (syn_alrm.)378 3630 A
  3500. 5670 V
  3501. (11338)210 648 A
  3502. 1068(*)S
  3503. (Synchronous)462 1152 A
  3504. (alarms)252 1656 A
  3505. (are)126 1950 A
  3506. 2118(so)S
  3507. (called)252 2244 A
  3508. (because,)336 2538 A
  3509. (unlike)252 2916 A
  3510. 3210(a)S
  3511. (signals)294 3294 A
  3512. 3630(or)S
  3513. (the)126 3756 A
  3514. 5760 V
  3515. (11339)210 648 A
  3516. 1068(*)S
  3517. (activation)420 1152 A
  3518. 1614(of)S
  3519. 1740(a)S
  3520. (watchdog,)378 1824 A
  3521. 2244(a)S
  3522. (synchronous)462 2328 A
  3523. (alarm)210 2832 A
  3524. 3084(is)S
  3525. (received)336 3210 A
  3526. 3588(by)S
  3527. 3714(a)S
  3528. (process)294 3798 A
  3529. 5850 V
  3530. (11340)210 648 A
  3531. 1068(*)S
  3532. (when)168 1152 A
  3533. 1362(it)S
  3534. 1488(is)S
  3535. 1614(in)S
  3536. 1740(a)S
  3537. (known)210 1824 A
  3538. (part)168 2076 A
  3539. 2286(of)S
  3540. (its)126 2412 A
  3541. (code,)210 2580 A
  3542. (that)168 2832 A
  3543. (is,)126 3042 A
  3544. (when)168 3210 A
  3545. 3420(it)S
  3546. (has)126 3546 A
  3547. (issued)252 3714 A
  3548. 5940 V
  3549. (11341)210 648 A
  3550. 1068(*)S
  3551. 1152(a)S
  3552. (call)168 1236 A
  3553. 1446(to)S
  3554. (receive)294 1572 A
  3555. 1908(a)S
  3556. (message.)336 1992 A
  3557. 6030 V
  3558. (11342)210 648 A
  3559. 1068(*/)S
  3560. 6120 V
  3561. (11343)210 648 A
  3562. 6210 V
  3563. (11344)210 648 A
  3564. (message)294 1110 A
  3565. (mess;)210 1446 A
  3566. 8418 V
  3567. EP
  3568. %%Page: 150 150
  3569. BP
  3570. /slant 0 def
  3571. /height 0 def
  3572. 630 V
  3573. 12 B
  3574. (150)180 648 A
  3575. 11 R
  3576. 2027(File:)S
  3577. 2260(src/kernel/clock.c)S
  3578. 10 R
  3579. 3402(MINIX)S
  3580. 3730(SOURCE)S
  3581. 4153(CODE)S
  3582. 900 V
  3583. 7 LST
  3584. (11345)210 648 A
  3585. (int)126 1110 A
  3586. (work_done;)420 1278 A
  3587. 2034(/*)S
  3588. (ready)210 2160 A
  3589. 2412(to)S
  3590. (sleep)210 2538 A
  3591. 2790(?)S
  3592. 2874(*/)S
  3593. 990 V
  3594. (11346)210 648 A
  3595. (int)126 1110 A
  3596. (*al_ptr;)336 1278 A
  3597. 2034(/*)S
  3598. (pointer)294 2160 A
  3599. 2496(in)S
  3600. (syn_table)378 2622 A
  3601. 3042(*/)S
  3602. 1080 V
  3603. (11347)210 648 A
  3604. (int)126 1110 A
  3605. 1278(i;)S
  3606. 1170 V
  3607. (11348)210 648 A
  3608. 1260 V
  3609. (11349)210 648 A
  3610. (syn_al_alive=)546 1110 A
  3611. (TRUE;)210 1698 A
  3612. 1350 V
  3613. (11350)210 648 A
  3614. (for)126 1110 A
  3615. ((i=)126 1278 A
  3616. 1446(0,)S
  3617. (al_ptr=)294 1572 A
  3618. (syn_table;)420 1908 A
  3619. (i<NR_TASKS+NR_PROCS;)840 2370 A
  3620. (i++,)168 3252 A
  3621. (al_ptr++))378 3462 A
  3622. 1440 V
  3623. (11351)210 648 A
  3624. (*al_ptr=)336 1362 A
  3625. (FALSE;)252 1740 A
  3626. 1530 V
  3627. (11352)210 648 A
  3628. 1620 V
  3629. (11353)210 648 A
  3630. (while)210 1110 A
  3631. ((TRUE))252 1362 A
  3632. 1656({)S
  3633. 1710 V
  3634. (11354)210 648 A
  3635. (work_done=)420 1362 A
  3636. (TRUE;)210 1824 A
  3637. 1800 V
  3638. (11355)210 648 A
  3639. (for)126 1362 A
  3640. ((i=)126 1530 A
  3641. 1698(0,)S
  3642. (al_ptr=)294 1824 A
  3643. (syn_table;)420 2160 A
  3644. (i<NR_TASKS+NR_PROCS;)840 2622 A
  3645. (i++,)168 3504 A
  3646. (al_ptr++))378 3714 A
  3647. 1890 V
  3648. (11356)210 648 A
  3649. 1698(if)S
  3650. ((*al_ptr))378 1824 A
  3651. 2244({)S
  3652. 1980 V
  3653. (11357)210 648 A
  3654. (*al_ptr=)336 2034 A
  3655. (FALSE;)252 2412 A
  3656. 2070 V
  3657. (11358)210 648 A
  3658. (mess.m_type=)504 2034 A
  3659. (CLOCK_INT;)420 2580 A
  3660. 2160 V
  3661. (11359)210 648 A
  3662. (send)168 2034 A
  3663. ((i-NR_TASKS,)504 2244 A
  3664. (&mess);)294 2790 A
  3665. 2250 V
  3666. (11360)210 648 A
  3667. (work_done=)420 2034 A
  3668. (FALSE;)252 2496 A
  3669. 2340 V
  3670. (11361)210 648 A
  3671. 1698(})S
  3672. 2430 V
  3673. (11362)210 648 A
  3674. 1362(if)S
  3675. ((work_done))462 1488 A
  3676. 1992({)S
  3677. 2520 V
  3678. (11363)210 648 A
  3679. (syn_al_alive=)546 1698 A
  3680. (FALSE;)252 2286 A
  3681. 2610 V
  3682. (11364)210 648 A
  3683. (receive)294 1698 A
  3684. ((CLOCK,)294 2034 A
  3685. (&mess);)294 2370 A
  3686. 2700 V
  3687. (11365)210 648 A
  3688. (syn_al_alive=)546 1698 A
  3689. (TRUE;)210 2286 A
  3690. 2790 V
  3691. (11366)210 648 A
  3692. 1362(})S
  3693. 2880 V
  3694. (11367)210 648 A
  3695. 1110(})S
  3696. 2970 V
  3697. (11368)210 648 A
  3698. 1026(})S
  3699. 3240 V
  3700. (11371)210 648 A
  3701. (/*===========================================================================*)3276 1026 A
  3702. 3330 V
  3703. (11372)210 648 A
  3704. 1068(*)S
  3705. (clock_handler)546 2370 A
  3706. 4260(*)S
  3707. 3420 V
  3708. (11373)210 648 A
  3709. (*===========================================================================*/)3276 1068 A
  3710. 3510 V
  3711. (11374)210 648 A
  3712. (PRIVATE)294 1026 A
  3713. (int)126 1362 A
  3714. (clock_handler(irq))756 1530 A
  3715. 3600 V
  3716. (11375)210 648 A
  3717. (int)126 1026 A
  3718. (irq;)168 1194 A
  3719. 3690 V
  3720. (11376)210 648 A
  3721. 1026({)S
  3722. 3780 V
  3723. (11377)210 648 A
  3724. 1026(/*)S
  3725. (This)168 1152 A
  3726. (executes)336 1362 A
  3727. 1740(on)S
  3728. (every)210 1866 A
  3729. (clock)210 2118 A
  3730. (tick)168 2370 A
  3731. ((i.e.,)252 2580 A
  3732. (every)210 2874 A
  3733. (time)168 3126 A
  3734. (the)126 3336 A
  3735. (timer)210 3504 A
  3736. (chip)168 3756 A
  3737. 3870 V
  3738. (11378)210 648 A
  3739. 1068(*)S
  3740. (generates)378 1152 A
  3741. 1572(an)S
  3742. (interrupt).)462 1698 A
  3743. 2202(It)S
  3744. (does)168 2328 A
  3745. 2538(a)S
  3746. (little)252 2622 A
  3747. (bit)126 2916 A
  3748. 3084(of)S
  3749. (work)168 3210 A
  3750. 3420(so)S
  3751. (the)126 3546 A
  3752. (clock)210 3714 A
  3753. 3960 V
  3754. (11379)210 648 A
  3755. 1068(*)S
  3756. (task)168 1152 A
  3757. (does)168 1362 A
  3758. (not)126 1572 A
  3759. (have)168 1740 A
  3760. 1950(to)S
  3761. 2076(be)S
  3762. (called)252 2202 A
  3763. 2496(on)S
  3764. (every)210 2622 A
  3765. (tick.)210 2874 A
  3766. 4050 V
  3767. (11380)210 648 A
  3768. 1068(*)S
  3769. 4140 V
  3770. (11381)210 648 A
  3771. 1068(*)S
  3772. (Switch)252 1152 A
  3773. (context)294 1446 A
  3774. 1782(to)S
  3775. (do_clocktick)504 1908 A
  3776. 2454(if)S
  3777. 2580(an)S
  3778. (alarm)210 2706 A
  3779. (has)126 2958 A
  3780. (gone)168 3126 A
  3781. (off.)168 3336 A
  3782. 4230 V
  3783. (11382)210 648 A
  3784. 1068(*)S
  3785. (Also)168 1152 A
  3786. (switch)252 1362 A
  3787. (there)210 1656 A
  3788. 1908(to)S
  3789. (reschedule)420 2034 A
  3790. 2496(if)S
  3791. (the)126 2622 A
  3792. (reschedule)420 2790 A
  3793. (will)168 3252 A
  3794. 3462(do)S
  3795. (something.)420 3588 A
  3796. 4320 V
  3797. (11383)210 648 A
  3798. 1068(*)S
  3799. (This)168 1152 A
  3800. (happens)294 1362 A
  3801. (when)168 1698 A
  3802. 4410 V
  3803. (11384)210 648 A
  3804. 1068(*)S
  3805. ((1))126 1362 A
  3806. (quantum)294 1530 A
  3807. (has)126 1866 A
  3808. (expired)294 2034 A
  3809. 4500 V
  3810. (11385)210 648 A
  3811. 1068(*)S
  3812. ((2))126 1362 A
  3813. (current)294 1530 A
  3814. (process)294 1866 A
  3815. (received)336 2202 A
  3816. (full)168 2580 A
  3817. (quantum)294 2790 A
  3818. ((as)126 3126 A
  3819. (clock)210 3294 A
  3820. (sampled)294 3546 A
  3821. (it!))168 3882 A
  3822. 4590 V
  3823. (11386)210 648 A
  3824. 1068(*)S
  3825. ((3))126 1362 A
  3826. (something)378 1530 A
  3827. (else)168 1950 A
  3828. 2160(is)S
  3829. (ready)210 2286 A
  3830. 2538(to)S
  3831. (run.)168 2664 A
  3832. 4680 V
  3833. (11387)210 648 A
  3834. 1068(*)S
  3835. (Also)168 1152 A
  3836. (call)168 1362 A
  3837. (TTY)126 1572 A
  3838. (and)126 1740 A
  3839. (PRINTER)294 1908 A
  3840. (and)126 2244 A
  3841. (let)126 2412 A
  3842. (them)168 2580 A
  3843. 2790(do)S
  3844. (whatever)336 2916 A
  3845. 3294(is)S
  3846. (necessary.)420 3420 A
  3847. 4770 V
  3848. (11388)210 648 A
  3849. 1068(*)S
  3850. 4860 V
  3851. (11389)210 648 A
  3852. 1068(*)S
  3853. (Many)168 1152 A
  3854. (global)252 1362 A
  3855. (global)252 1656 A
  3856. (and)126 1950 A
  3857. (static)252 2118 A
  3858. (variables)378 2412 A
  3859. (are)126 2832 A
  3860. (accessed)336 3000 A
  3861. (here.)210 3378 A
  3862. (The)126 3672 A
  3863. (safety)252 3840 A
  3864. 4950 V
  3865. (11390)210 648 A
  3866. 1068(*)S
  3867. 1152(of)S
  3868. (this)168 1278 A
  3869. (must)168 1488 A
  3870. 1698(be)S
  3871. (justified.)420 1824 A
  3872. (Most)168 2328 A
  3873. 2538(of)S
  3874. (them)168 2664 A
  3875. (are)126 2874 A
  3876. (not)126 3042 A
  3877. (changed)294 3210 A
  3878. (here:)210 3546 A
  3879. 5040 V
  3880. (11391)210 648 A
  3881. 1068(*)S
  3882. (k_reenter:)420 1362 A
  3883. 5130 V
  3884. (11392)210 648 A
  3885. 1068(*)S
  3886. (This)168 1698 A
  3887. (safely)252 1908 A
  3888. (tells)210 2202 A
  3889. 2454(if)S
  3890. (the)126 2580 A
  3891. (clock)210 2748 A
  3892. (interrupt)378 3000 A
  3893. 3420(is)S
  3894. (nested.)294 3546 A
  3895. 5220 V
  3896. (11393)210 648 A
  3897. 1068(*)S
  3898. (proc_ptr,)378 1362 A
  3899. (bill_ptr:)378 1782 A
  3900. 5310 V
  3901. (11394)210 648 A
  3902. 1068(*)S
  3903. (These)210 1698 A
  3904. (are)126 1950 A
  3905. (used)168 2118 A
  3906. (for)126 2328 A
  3907. (accounting.)462 2496 A
  3908. 3042(It)S
  3909. (does)168 3168 A
  3910. (not)126 3378 A
  3911. (matter)252 3546 A
  3912. 3840(if)S
  3913. (proc.c)252 3966 A
  3914. 5400 V
  3915. (11395)210 648 A
  3916. 1068(*)S
  3917. 1698(is)S
  3918. (changing)336 1824 A
  3919. (them,)210 2202 A
  3920. (provided)336 2454 A
  3921. (they)168 2832 A
  3922. (are)126 3042 A
  3923. (always)252 3210 A
  3924. (valid)210 3504 A
  3925. (pointers,)378 3756 A
  3926. 5490 V
  3927. (11396)210 648 A
  3928. 1068(*)S
  3929. (since)210 1698 A
  3930. 1950(at)S
  3931. (worst)210 2076 A
  3932. (the)126 2328 A
  3933. (previous)336 2496 A
  3934. (process)294 2874 A
  3935. (would)210 3210 A
  3936. 3462(be)S
  3937. (billed.)294 3588 A
  3938. 5580 V
  3939. (11397)210 648 A
  3940. 1068(*)S
  3941. (next_alarm,)462 1362 A
  3942. (realtime,)378 1866 A
  3943. (sched_ticks,)504 2286 A
  3944. (bill_ptr,)378 2832 A
  3945. (prev_ptr,)378 3252 A
  3946. 5670 V
  3947. (11398)210 648 A
  3948. 1068(*)S
  3949. (rdy_head[USER_Q]:)714 1362 A
  3950. 5760 V
  3951. (11399)210 648 A
  3952. 1068(*)S
  3953. (These)210 1698 A
  3954. (are)126 1950 A
  3955. (tested)252 2118 A
  3956. 2412(to)S
  3957. (decide)252 2538 A
  3958. (whether)294 2832 A
  3959. 3168(to)S
  3960. (call)168 3294 A
  3961. (interrupt().)504 3504 A
  3962. 4092(It)S
  3963. 5850 V
  3964. (11400)210 648 A
  3965. 1068(*)S
  3966. (does)168 1698 A
  3967. (not)126 1908 A
  3968. (matter)252 2076 A
  3969. 2370(if)S
  3970. (the)126 2496 A
  3971. (test)168 2664 A
  3972. 2874(is)S
  3973. (sometimes)378 3000 A
  3974. ((rarely))336 3420 A
  3975. (backwards)378 3798 A
  3976. 5940 V
  3977. (11401)210 648 A
  3978. 1068(*)S
  3979. (due)126 1698 A
  3980. 1866(to)S
  3981. 1992(a)S
  3982. (race,)210 2076 A
  3983. (since)210 2328 A
  3984. (this)168 2580 A
  3985. (will)168 2790 A
  3986. (only)168 3000 A
  3987. (delay)210 3210 A
  3988. (the)126 3462 A
  3989. (high-level)420 3630 A
  3990. 6030 V
  3991. (11402)210 648 A
  3992. 1068(*)S
  3993. (processing)420 1698 A
  3994. 2160(by)S
  3995. (one)126 2286 A
  3996. (tick,)210 2454 A
  3997. 2706(or)S
  3998. (call)168 2832 A
  3999. (the)126 3042 A
  4000. (high)168 3210 A
  4001. (level)210 3420 A
  4002. (unnecessarily.)588 3672 A
  4003. 6120 V
  4004. (11403)210 648 A
  4005. 1068(*)S
  4006. (The)126 1152 A
  4007. (variables)378 1320 A
  4008. (which)210 1740 A
  4009. (are)126 1992 A
  4010. (changed)294 2160 A
  4011. (require)294 2496 A
  4012. (more)168 2832 A
  4013. (care:)210 3042 A
  4014. 6210 V
  4015. (11404)210 648 A
  4016. 1068(*)S
  4017. (rp->user_time,)588 1362 A
  4018. (rp->sys_time:)546 1992 A
  4019. 8418 V
  4020. EP
  4021. %%Page: 151 151
  4022. BP
  4023. /slant 0 def
  4024. /height 0 def
  4025. 630 V
  4026. 10 R
  4027. 648(MINIX)S
  4028. 976(SOURCE)S
  4029. 1399(CODE)S
  4030. 11 R
  4031. 2027(File:)S
  4032. 2260(src/kernel/clock.c)S
  4033. 12 B
  4034. (151)180 4248 A
  4035. 900 V
  4036. 7 LST
  4037. (11405)210 648 A
  4038. 1068(*)S
  4039. (These)210 1698 A
  4040. (are)126 1950 A
  4041. (protected)378 2118 A
  4042. 2538(by)S
  4043. (explicit)336 2664 A
  4044. (locks)210 3042 A
  4045. 3294(in)S
  4046. (system.c.)378 3420 A
  4047. (They)168 3882 A
  4048. (are)126 4092 A
  4049. 990 V
  4050. (11406)210 648 A
  4051. 1068(*)S
  4052. (not)126 1698 A
  4053. (properly)336 1866 A
  4054. (protected)378 2244 A
  4055. 2664(in)S
  4056. (dmp.c)210 2790 A
  4057. ((the)168 3042 A
  4058. (increment)378 3252 A
  4059. (here)168 3672 A
  4060. 3882(is)S
  4061. (not)126 4008 A
  4062. 1080 V
  4063. (11407)210 648 A
  4064. 1068(*)S
  4065. (atomic))294 1698 A
  4066. (but)126 2034 A
  4067. (that)168 2202 A
  4068. (hardly)252 2412 A
  4069. (matters.)336 2706 A
  4070. 1170 V
  4071. (11408)210 648 A
  4072. 1068(*)S
  4073. (pending_ticks:)588 1362 A
  4074. 1260 V
  4075. (11409)210 648 A
  4076. 1068(*)S
  4077. (This)168 1698 A
  4078. 1908(is)S
  4079. (protected)378 2034 A
  4080. 2454(by)S
  4081. (explicit)336 2580 A
  4082. (locks)210 2958 A
  4083. 3210(in)S
  4084. (clock.c.)336 3336 A
  4085. (Don't)210 3756 A
  4086. 1350 V
  4087. (11410)210 648 A
  4088. 1068(*)S
  4089. (update)252 1698 A
  4090. (realtime)336 1992 A
  4091. (directly,)378 2370 A
  4092. (since)210 2790 A
  4093. (there)210 3042 A
  4094. (are)126 3294 A
  4095. (too)126 3462 A
  4096. (many)168 3630 A
  4097. 1440 V
  4098. (11411)210 648 A
  4099. 1068(*)S
  4100. (references)420 1698 A
  4101. 2160(to)S
  4102. 2286(it)S
  4103. 2412(to)S
  4104. (guard)210 2538 A
  4105. (conveniently.)546 2790 A
  4106. 1530 V
  4107. (11412)210 648 A
  4108. 1068(*)S
  4109. (lost_ticks:)462 1362 A
  4110. 1620 V
  4111. (11413)210 648 A
  4112. 1068(*)S
  4113. (Clock)210 1698 A
  4114. (ticks)210 1950 A
  4115. (counted)294 2202 A
  4116. (outside)294 2538 A
  4117. (the)126 2874 A
  4118. (clock)210 3042 A
  4119. (task.)210 3294 A
  4120. 1710 V
  4121. (11414)210 648 A
  4122. 1068(*)S
  4123. (sched_ticks,)504 1362 A
  4124. (prev_ptr:)378 1908 A
  4125. 1800 V
  4126. (11415)210 648 A
  4127. 1068(*)S
  4128. (Updating)336 1698 A
  4129. (these)210 2076 A
  4130. (competes)336 2328 A
  4131. (with)168 2706 A
  4132. (similar)294 2916 A
  4133. (code)168 3252 A
  4134. 3462(in)S
  4135. (do_clocktick().)630 3588 A
  4136. 1890 V
  4137. (11416)210 648 A
  4138. 1068(*)S
  4139. 1698(No)S
  4140. (lock)168 1824 A
  4141. 2034(is)S
  4142. (necessary,)420 2160 A
  4143. (because)294 2622 A
  4144. 2958(if)S
  4145. (bad)126 3084 A
  4146. (things)252 3252 A
  4147. (happen)252 3546 A
  4148. (here)168 3840 A
  4149. 1980 V
  4150. (11417)210 648 A
  4151. 1068(*)S
  4152. ((like)210 1698 A
  4153. (sched_ticks)462 1950 A
  4154. (going)210 2454 A
  4155. (negative),)420 2706 A
  4156. (the)126 3168 A
  4157. (code)168 3336 A
  4158. 3546(in)S
  4159. (do_clocktick())588 3672 A
  4160. 2070 V
  4161. (11418)210 648 A
  4162. 1068(*)S
  4163. (will)168 1698 A
  4164. (restore)294 1908 A
  4165. (the)126 2244 A
  4166. (variables)378 2412 A
  4167. 2832(to)S
  4168. (reasonable)420 2958 A
  4169. (values,)294 3420 A
  4170. (and)126 3756 A
  4171. 3924(an)S
  4172. 2160 V
  4173. (11419)210 648 A
  4174. 1068(*)S
  4175. (occasional)420 1698 A
  4176. (missed)252 2160 A
  4177. 2454(or)S
  4178. (extra)210 2580 A
  4179. (sched())294 2832 A
  4180. 3168(is)S
  4181. (harmless.)378 3294 A
  4182. 2250 V
  4183. (11420)210 648 A
  4184. 1068(*)S
  4185. 2340 V
  4186. (11421)210 648 A
  4187. 1068(*)S
  4188. (Are)126 1152 A
  4189. (these)210 1320 A
  4190. (complications)546 1572 A
  4191. (worth)210 2160 A
  4192. (the)126 2412 A
  4193. (trouble?)336 2580 A
  4194. (Well,)210 3000 A
  4195. (they)168 3252 A
  4196. (make)168 3462 A
  4197. (the)126 3672 A
  4198. (system)252 3840 A
  4199. (15%)126 4134 A
  4200. 2430 V
  4201. (11422)210 648 A
  4202. 1068(*)S
  4203. (faster)252 1152 A
  4204. 1446(on)S
  4205. 1572(a)S
  4206. (5MHz)168 1656 A
  4207. (8088,)210 1866 A
  4208. (and)126 2118 A
  4209. (make)168 2286 A
  4210. (task)168 2496 A
  4211. (debugging)378 2706 A
  4212. (much)168 3126 A
  4213. (easier)252 3336 A
  4214. (since)210 3630 A
  4215. (there)210 3882 A
  4216. (are)126 4134 A
  4217. 2520 V
  4218. (11423)210 648 A
  4219. 1068(*)S
  4220. 1152(no)S
  4221. (task)168 1278 A
  4222. (switches)336 1488 A
  4223. 1866(on)S
  4224. 1992(an)S
  4225. (inactive)336 2118 A
  4226. (system.)294 2496 A
  4227. 2610 V
  4228. (11424)210 648 A
  4229. 1068(*/)S
  4230. 2700 V
  4231. (11425)210 648 A
  4232. 2790 V
  4233. (11426)210 648 A
  4234. (register)336 1110 A
  4235. (struct)252 1488 A
  4236. (proc)168 1782 A
  4237. (*rp;)168 1992 A
  4238. 2880 V
  4239. (11427)210 648 A
  4240. (register)336 1110 A
  4241. (unsigned)336 1488 A
  4242. (ticks;)252 1866 A
  4243. 2970 V
  4244. (11428)210 648 A
  4245. (clock_t)294 1110 A
  4246. (now;)168 1446 A
  4247. 3060 V
  4248. (11429)210 648 A
  4249. 3150 V
  4250. (11430)210 648 A
  4251. 1110(if)S
  4252. ((ps_mca))336 1236 A
  4253. 1614({)S
  4254. 3240 V
  4255. (11431)210 648 A
  4256. 1362(/*)S
  4257. (Acknowledge)462 1488 A
  4258. (the)126 1992 A
  4259. (PS/2)168 2160 A
  4260. (clock)210 2370 A
  4261. (interrupt.)420 2622 A
  4262. 3084(*/)S
  4263. 3330 V
  4264. (11432)210 648 A
  4265. (out_byte(PORT_B,)672 1362 A
  4266. (in_byte(PORT_B))630 2076 A
  4267. 2748(|)S
  4268. (CLOCK_ACK_BIT);)630 2832 A
  4269. 3420 V
  4270. (11433)210 648 A
  4271. 1110(})S
  4272. 3510 V
  4273. (11434)210 648 A
  4274. 3600 V
  4275. (11435)210 648 A
  4276. 1110(/*)S
  4277. (Update)252 1236 A
  4278. (user)168 1530 A
  4279. (and)126 1740 A
  4280. (system)252 1908 A
  4281. (accounting)420 2202 A
  4282. (times.)252 2664 A
  4283. 3690 V
  4284. (11436)210 648 A
  4285. 1152(*)S
  4286. (First)210 1236 A
  4287. (charge)252 1488 A
  4288. (the)126 1782 A
  4289. (current)294 1950 A
  4290. (process)294 2286 A
  4291. (for)126 2622 A
  4292. (user)168 2790 A
  4293. (time.)210 3000 A
  4294. 3780 V
  4295. (11437)210 648 A
  4296. 1152(*)S
  4297. 1236(If)S
  4298. (the)126 1362 A
  4299. (current)294 1530 A
  4300. (process)294 1866 A
  4301. 2202(is)S
  4302. (not)126 2328 A
  4303. (the)126 2496 A
  4304. (billable)336 2664 A
  4305. (process)294 3042 A
  4306. ((usually)336 3378 A
  4307. (because)294 3756 A
  4308. 4092(it)S
  4309. 3870 V
  4310. (11438)210 648 A
  4311. 1152(*)S
  4312. 1236(is)S
  4313. 1362(a)S
  4314. (task),)252 1446 A
  4315. (charge)252 1740 A
  4316. (the)126 2034 A
  4317. (billable)336 2202 A
  4318. (process)294 2580 A
  4319. (for)126 2916 A
  4320. (system)252 3084 A
  4321. (time)168 3378 A
  4322. 3588(as)S
  4323. (well.)210 3714 A
  4324. 3960 V
  4325. (11439)210 648 A
  4326. 1152(*)S
  4327. (Thus)168 1236 A
  4328. (the)126 1446 A
  4329. (unbillable)420 1614 A
  4330. (tasks')252 2076 A
  4331. (user)168 2370 A
  4332. (time)168 2580 A
  4333. 2790(is)S
  4334. (the)126 2916 A
  4335. (billable)336 3084 A
  4336. (users')252 3462 A
  4337. (system)252 3756 A
  4338. (time.)210 4050 A
  4339. 4050 V
  4340. (11440)210 648 A
  4341. 1152(*/)S
  4342. 4140 V
  4343. (11441)210 648 A
  4344. 1110(if)S
  4345. ((k_reenter)420 1236 A
  4346. 1698(!=)S
  4347. 1824(0))S
  4348. 4230 V
  4349. (11442)210 648 A
  4350. 1362(rp)S
  4351. 1488(=)S
  4352. (proc_addr(HARDWARE);)840 1572 A
  4353. 4320 V
  4354. (11443)210 648 A
  4355. (else)168 1110 A
  4356. 4410 V
  4357. (11444)210 648 A
  4358. 1362(rp)S
  4359. 1488(=)S
  4360. (proc_ptr;)378 1572 A
  4361. 4500 V
  4362. (11445)210 648 A
  4363. (ticks)210 1110 A
  4364. 1362(=)S
  4365. (lost_ticks)420 1446 A
  4366. 1908(+)S
  4367. 1992(1;)S
  4368. 4590 V
  4369. (11446)210 648 A
  4370. (lost_ticks)420 1110 A
  4371. 1572(=)S
  4372. 1656(0;)S
  4373. 4680 V
  4374. (11447)210 648 A
  4375. (rp->user_time)546 1110 A
  4376. 1698(+=)S
  4377. (ticks;)252 1824 A
  4378. 4770 V
  4379. (11448)210 648 A
  4380. 1110(if)S
  4381. ((rp)126 1236 A
  4382. 1404(!=)S
  4383. (bill_ptr)336 1530 A
  4384. 1908(&&)S
  4385. 2034(rp)S
  4386. 2160(!=)S
  4387. (proc_addr(IDLE)))672 2286 A
  4388. (bill_ptr->sys_time)756 3000 A
  4389. 3798(+=)S
  4390. (ticks;)252 3924 A
  4391. 4860 V
  4392. (11449)210 648 A
  4393. 4950 V
  4394. (11450)210 648 A
  4395. (pending_ticks)546 1110 A
  4396. 1698(+=)S
  4397. (ticks;)252 1824 A
  4398. 5040 V
  4399. (11451)210 648 A
  4400. (now)126 1110 A
  4401. 1278(=)S
  4402. (realtime)336 1362 A
  4403. 1740(+)S
  4404. (pending_ticks;)588 1824 A
  4405. 5130 V
  4406. (11452)210 648 A
  4407. 1110(if)S
  4408. ((tty_timeout)504 1236 A
  4409. 1782(<=)S
  4410. (now))168 1908 A
  4411. (tty_wakeup(now);)672 2118 A
  4412. 3042(/*)S
  4413. (possibly)336 3168 A
  4414. (wake)168 3546 A
  4415. 3756(up)S
  4416. (TTY)126 3882 A
  4417. 4050(*/)S
  4418. 5220 V
  4419. (11453)210 648 A
  4420. (pr_restart();)546 1110 A
  4421. 3042(/*)S
  4422. (possibly)336 3168 A
  4423. (restart)294 3546 A
  4424. (printer)294 3882 A
  4425. 4218(*/)S
  4426. 5310 V
  4427. (11454)210 648 A
  4428. 5400 V
  4429. (11455)210 648 A
  4430. 1110(if)S
  4431. ((next_alarm)462 1236 A
  4432. 1740(<=)S
  4433. (now)126 1866 A
  4434. 2034(||)S
  4435. 5490 V
  4436. (11456)210 648 A
  4437. (sched_ticks)462 1278 A
  4438. 1782(==)S
  4439. 1908(1)S
  4440. 1992(&&)S
  4441. 5580 V
  4442. (11457)210 648 A
  4443. (bill_ptr)336 1278 A
  4444. 1656(==)S
  4445. (prev_ptr)336 1782 A
  4446. 2160(&&)S
  4447. 5670 V
  4448. (11458)210 648 A
  4449. (rdy_head[USER_Q])672 1278 A
  4450. 1992(!=)S
  4451. (NIL_PROC))378 2118 A
  4452. 2538({)S
  4453. 5760 V
  4454. (11459)210 648 A
  4455. (interrupt(CLOCK);)714 1362 A
  4456. 5850 V
  4457. (11460)210 648 A
  4458. (return)252 1362 A
  4459. 1656(1;)S
  4460. 2034(/*)S
  4461. (Reenable)336 2160 A
  4462. (interrupts)420 2538 A
  4463. 3000(*/)S
  4464. 5940 V
  4465. (11461)210 648 A
  4466. 1110(})S
  4467. 6030 V
  4468. (11462)210 648 A
  4469. 6120 V
  4470. (11463)210 648 A
  4471. 1110(if)S
  4472. ((--sched_ticks)588 1236 A
  4473. 1866(==)S
  4474. 1992(0))S
  4475. 2118({)S
  4476. 6210 V
  4477. (11464)210 648 A
  4478. 1362(/*)S
  4479. 1488(If)S
  4480. (bill_ptr)336 1614 A
  4481. 1992(==)S
  4482. (prev_ptr,)378 2118 A
  4483. 2538(no)S
  4484. (ready)210 2664 A
  4485. (users)210 2916 A
  4486. 3168(so)S
  4487. (don't)210 3294 A
  4488. (need)168 3546 A
  4489. (sched().)336 3756 A
  4490. 4134(*/)S
  4491. 8418 V
  4492. EP
  4493. %%Page: 152 152
  4494. BP
  4495. /slant 0 def
  4496. /height 0 def
  4497. 630 V
  4498. 12 B
  4499. (152)180 648 A
  4500. 11 R
  4501. 2027(File:)S
  4502. 2260(src/kernel/clock.c)S
  4503. 10 R
  4504. 3402(MINIX)S
  4505. 3730(SOURCE)S
  4506. 4153(CODE)S
  4507. 900 V
  4508. 7 LST
  4509. (11465)210 648 A
  4510. (sched_ticks)462 1362 A
  4511. 1866(=)S
  4512. (SCHED_RATE;)462 1950 A
  4513. 2706(/*)S
  4514. (reset)210 2832 A
  4515. (quantum)294 3084 A
  4516. 3420(*/)S
  4517. 990 V
  4518. (11466)210 648 A
  4519. (prev_ptr)336 1362 A
  4520. 1740(=)S
  4521. (bill_ptr;)378 1824 A
  4522. 2706(/*)S
  4523. (new)126 2832 A
  4524. (previous)336 3000 A
  4525. (process)294 3378 A
  4526. 3714(*/)S
  4527. 1080 V
  4528. (11467)210 648 A
  4529. 1110(})S
  4530. 1170 V
  4531. (11468)210 648 A
  4532. (return)252 1110 A
  4533. 1404(1;)S
  4534. 1698(/*)S
  4535. (Reenable)336 1824 A
  4536. (clock)210 2202 A
  4537. (interrupt)378 2454 A
  4538. 2874(*/)S
  4539. 1260 V
  4540. (11469)210 648 A
  4541. 1026(})S
  4542. 1440 V
  4543. (11471)210 648 A
  4544. (/*===========================================================================*)3276 1026 A
  4545. 1530 V
  4546. (11472)210 648 A
  4547. 1068(*)S
  4548. (init_clock)420 2370 A
  4549. 4260(*)S
  4550. 1620 V
  4551. (11473)210 648 A
  4552. (*===========================================================================*/)3276 1068 A
  4553. 1710 V
  4554. (11474)210 648 A
  4555. (PRIVATE)294 1026 A
  4556. (void)168 1362 A
  4557. (init_clock())504 1572 A
  4558. 1800 V
  4559. (11475)210 648 A
  4560. 1026({)S
  4561. 1890 V
  4562. (11476)210 648 A
  4563. 1026(/*)S
  4564. (Initialize)420 1152 A
  4565. (channel)294 1614 A
  4566. 1950(0)S
  4567. 2034(of)S
  4568. (the)126 2160 A
  4569. (8253A)210 2328 A
  4570. (timer)210 2580 A
  4571. 2832(to)S
  4572. (e.g.)168 2958 A
  4573. 3168(60)S
  4574. (Hz.)126 3294 A
  4575. 3462(*/)S
  4576. 1980 V
  4577. (11477)210 648 A
  4578. 2070 V
  4579. (11478)210 648 A
  4580. (out_byte(TIMER_MODE,)840 1110 A
  4581. (SQUARE_WAVE);)546 1992 A
  4582. 2706(/*)S
  4583. (set)126 2832 A
  4584. (timer)210 3000 A
  4585. 3252(to)S
  4586. (run)126 3378 A
  4587. (continuously)504 3546 A
  4588. 4092(*/)S
  4589. 2160 V
  4590. (11479)210 648 A
  4591. (out_byte(TIMER0,)672 1110 A
  4592. (TIMER_COUNT);)546 1824 A
  4593. 2706(/*)S
  4594. (load)168 2832 A
  4595. (timer)210 3042 A
  4596. (low)126 3294 A
  4597. (byte)168 3462 A
  4598. 3672(*/)S
  4599. 2250 V
  4600. (11480)210 648 A
  4601. (out_byte(TIMER0,)672 1110 A
  4602. (TIMER_COUNT)462 1824 A
  4603. 2328(>>)S
  4604. (8);)126 2454 A
  4605. 2706(/*)S
  4606. (load)168 2832 A
  4607. (timer)210 3042 A
  4608. (high)168 3294 A
  4609. (byte)168 3504 A
  4610. 3714(*/)S
  4611. 2340 V
  4612. (11481)210 648 A
  4613. (put_irq_handler(CLOCK_IRQ,)1092 1110 A
  4614. (clock_handler);)630 2244 A
  4615. 3042(/*)S
  4616. (set)126 3168 A
  4617. (the)126 3336 A
  4618. (interrupt)378 3504 A
  4619. (handler)294 3924 A
  4620. 4260(*/)S
  4621. 2430 V
  4622. (11482)210 648 A
  4623. (enable_irq(CLOCK_IRQ);)924 1110 A
  4624. 2706(/*)S
  4625. (ready)210 2832 A
  4626. (for)126 3084 A
  4627. (clock)210 3252 A
  4628. (interrupts)420 3504 A
  4629. 3966(*/)S
  4630. 2520 V
  4631. (11483)210 648 A
  4632. 1026(})S
  4633. 2790 V
  4634. (11486)210 648 A
  4635. (/*===========================================================================*)3276 1026 A
  4636. 2880 V
  4637. (11487)210 648 A
  4638. 1068(*)S
  4639. (clock_stop)420 2370 A
  4640. 4260(*)S
  4641. 2970 V
  4642. (11488)210 648 A
  4643. (*===========================================================================*/)3276 1068 A
  4644. 3060 V
  4645. (11489)210 648 A
  4646. (PUBLIC)252 1026 A
  4647. (void)168 1320 A
  4648. (clock_stop())504 1530 A
  4649. 3150 V
  4650. (11490)210 648 A
  4651. 1026({)S
  4652. 3240 V
  4653. (11491)210 648 A
  4654. 1026(/*)S
  4655. (Reset)210 1152 A
  4656. (the)126 1404 A
  4657. (clock)210 1572 A
  4658. 1824(to)S
  4659. (the)126 1950 A
  4660. (BIOS)168 2118 A
  4661. (rate.)210 2328 A
  4662. ((For)168 2580 A
  4663. (rebooting))420 2790 A
  4664. 3252(*/)S
  4665. 3330 V
  4666. (11492)210 648 A
  4667. 3420 V
  4668. (11493)210 648 A
  4669. (out_byte(TIMER_MODE,)840 1110 A
  4670. (0x36);)252 1992 A
  4671. 3510 V
  4672. (11494)210 648 A
  4673. (out_byte(TIMER0,)672 1110 A
  4674. (0);)126 1824 A
  4675. 3600 V
  4676. (11495)210 648 A
  4677. (out_byte(TIMER0,)672 1110 A
  4678. (0);)126 1824 A
  4679. 3690 V
  4680. (11496)210 648 A
  4681. 1026(})S
  4682. 3960 V
  4683. (11499)210 648 A
  4684. (/*==========================================================================*)3234 1026 A
  4685. 4050 V
  4686. (11500)210 648 A
  4687. 1068(*)S
  4688. (milli_delay)462 2370 A
  4689. 4218(*)S
  4690. 4140 V
  4691. (11501)210 648 A
  4692. (*==========================================================================*/)3234 1068 A
  4693. 4230 V
  4694. (11502)210 648 A
  4695. (PUBLIC)252 1026 A
  4696. (void)168 1320 A
  4697. (milli_delay(millisec))882 1530 A
  4698. 4320 V
  4699. (11503)210 648 A
  4700. (unsigned)336 1026 A
  4701. (millisec;)378 1404 A
  4702. 4410 V
  4703. (11504)210 648 A
  4704. 1026({)S
  4705. 4500 V
  4706. (11505)210 648 A
  4707. 1026(/*)S
  4708. (Delay)210 1152 A
  4709. (some)168 1404 A
  4710. (milliseconds.)546 1614 A
  4711. 2202(*/)S
  4712. 4590 V
  4713. (11506)210 648 A
  4714. 4680 V
  4715. (11507)210 648 A
  4716. (struct)252 1110 A
  4717. (milli_state)462 1404 A
  4718. (ms;)126 1908 A
  4719. 4770 V
  4720. (11508)210 648 A
  4721. 4860 V
  4722. (11509)210 648 A
  4723. (milli_start(&ms);)714 1110 A
  4724. 4950 V
  4725. (11510)210 648 A
  4726. (while)210 1110 A
  4727. ((milli_elapsed(&ms))798 1362 A
  4728. 2202(<)S
  4729. (millisec))378 2286 A
  4730. 2706({})S
  4731. 5040 V
  4732. (11511)210 648 A
  4733. 1026(})S
  4734. 5220 V
  4735. (11513)210 648 A
  4736. (/*==========================================================================*)3234 1026 A
  4737. 5310 V
  4738. (11514)210 648 A
  4739. 1068(*)S
  4740. (milli_start)462 2370 A
  4741. 4218(*)S
  4742. 5400 V
  4743. (11515)210 648 A
  4744. (*==========================================================================*/)3234 1068 A
  4745. 5490 V
  4746. (11516)210 648 A
  4747. (PUBLIC)252 1026 A
  4748. (void)168 1320 A
  4749. (milli_start(msp))672 1530 A
  4750. 5580 V
  4751. (11517)210 648 A
  4752. (struct)252 1026 A
  4753. (milli_state)462 1320 A
  4754. (*msp;)210 1824 A
  4755. 5670 V
  4756. (11518)210 648 A
  4757. 1026({)S
  4758. 5760 V
  4759. (11519)210 648 A
  4760. 1026(/*)S
  4761. (Prepare)294 1152 A
  4762. (for)126 1488 A
  4763. (calls)210 1656 A
  4764. 1908(to)S
  4765. (milli_elapsed().)672 2034 A
  4766. 2748(*/)S
  4767. 5850 V
  4768. (11520)210 648 A
  4769. 5940 V
  4770. (11521)210 648 A
  4771. (msp->prev_count)630 1110 A
  4772. 1782(=)S
  4773. 1866(0;)S
  4774. 6030 V
  4775. (11522)210 648 A
  4776. (msp->accum_count)672 1110 A
  4777. 1824(=)S
  4778. 1908(0;)S
  4779. 6120 V
  4780. (11523)210 648 A
  4781. 1026(})S
  4782. 8418 V
  4783. EP
  4784. %%Page: 153 153
  4785. BP
  4786. /slant 0 def
  4787. /height 0 def
  4788. 630 V
  4789. 10 R
  4790. 648(MINIX)S
  4791. 976(SOURCE)S
  4792. 1399(CODE)S
  4793. 11 R
  4794. 2027(File:)S
  4795. 2260(src/kernel/clock.c)S
  4796. 12 B
  4797. (153)180 4248 A
  4798. 990 V
  4799. 7 LST
  4800. (11526)210 648 A
  4801. (/*==========================================================================*)3234 1026 A
  4802. 1080 V
  4803. (11527)210 648 A
  4804. 1068(*)S
  4805. (milli_elapsed)546 2370 A
  4806. 4218(*)S
  4807. 1170 V
  4808. (11528)210 648 A
  4809. (*==========================================================================*/)3234 1068 A
  4810. 1260 V
  4811. (11529)210 648 A
  4812. (PUBLIC)252 1026 A
  4813. (unsigned)336 1320 A
  4814. (milli_elapsed(msp))756 1698 A
  4815. 1350 V
  4816. (11530)210 648 A
  4817. (struct)252 1026 A
  4818. (milli_state)462 1320 A
  4819. (*msp;)210 1824 A
  4820. 1440 V
  4821. (11531)210 648 A
  4822. 1026({)S
  4823. 1530 V
  4824. (11532)210 648 A
  4825. 1026(/*)S
  4826. (Return)252 1152 A
  4827. (the)126 1446 A
  4828. (number)252 1614 A
  4829. 1908(of)S
  4830. (milliseconds)504 2034 A
  4831. (since)210 2580 A
  4832. (the)126 2832 A
  4833. (call)168 3000 A
  4834. 3210(to)S
  4835. (milli_start().)588 3336 A
  4836. (Must)168 4008 A
  4837. 4218(be)S
  4838. 1620 V
  4839. (11533)210 648 A
  4840. 1068(*)S
  4841. (polled)252 1152 A
  4842. (rapidly.)336 1446 A
  4843. 1710 V
  4844. (11534)210 648 A
  4845. 1068(*/)S
  4846. 1800 V
  4847. (11535)210 648 A
  4848. (unsigned)336 1110 A
  4849. (count;)252 1488 A
  4850. 1890 V
  4851. (11536)210 648 A
  4852. 1980 V
  4853. (11537)210 648 A
  4854. 1110(/*)S
  4855. (Read)168 1236 A
  4856. (the)126 1446 A
  4857. (counter)294 1614 A
  4858. (for)126 1950 A
  4859. (channel)294 2118 A
  4860. 2454(0)S
  4861. 2538(of)S
  4862. (the)126 2664 A
  4863. (8253A)210 2832 A
  4864. (timer.)252 3084 A
  4865. (The)126 3420 A
  4866. (counter)294 3588 A
  4867. 2070 V
  4868. (11538)210 648 A
  4869. 1152(*)S
  4870. (decrements)420 1236 A
  4871. 1698(at)S
  4872. (twice)210 1824 A
  4873. (the)126 2076 A
  4874. (timer)210 2244 A
  4875. (frequency)378 2496 A
  4876. ((one)168 2916 A
  4877. (full)168 3126 A
  4878. (cycle)210 3336 A
  4879. (for)126 3588 A
  4880. (each)168 3756 A
  4881. 2160 V
  4882. (11539)210 648 A
  4883. 1152(*)S
  4884. (half)168 1236 A
  4885. 1446(of)S
  4886. (square)252 1572 A
  4887. (wave).)252 1866 A
  4888. (The)126 2202 A
  4889. (counter)294 2370 A
  4890. (normally)336 2706 A
  4891. (has)126 3084 A
  4892. 3252(a)S
  4893. (value)210 3336 A
  4894. (between)294 3588 A
  4895. 3924(0)S
  4896. 2250 V
  4897. (11540)210 648 A
  4898. 1152(*)S
  4899. (and)126 1236 A
  4900. (TIMER_COUNT,)504 1404 A
  4901. (but)126 1950 A
  4902. (before)252 2118 A
  4903. (the)126 2412 A
  4904. (clock)210 2580 A
  4905. (task)168 2832 A
  4906. (has)126 3042 A
  4907. (been)168 3210 A
  4908. (initialized,)504 3420 A
  4909. 2340 V
  4910. (11541)210 648 A
  4911. 1152(*)S
  4912. (its)126 1236 A
  4913. (maximum)294 1404 A
  4914. (value)210 1740 A
  4915. 1992(is)S
  4916. (65535,)252 2118 A
  4917. 2412(as)S
  4918. (set)126 2538 A
  4919. 2706(by)S
  4920. (the)126 2832 A
  4921. (BIOS.)210 3000 A
  4922. 2430 V
  4923. (11542)210 648 A
  4924. 1152(*/)S
  4925. 2520 V
  4926. (11543)210 648 A
  4927. (out_byte(TIMER_MODE,)840 1110 A
  4928. (LATCH_COUNT);)546 1992 A
  4929. 2706(/*)S
  4930. (make)168 2832 A
  4931. (chip)168 3042 A
  4932. (copy)168 3252 A
  4933. (count)210 3462 A
  4934. 3714(to)S
  4935. (latch)210 3840 A
  4936. 4092(*/)S
  4937. 2610 V
  4938. (11544)210 648 A
  4939. (count)210 1110 A
  4940. 1362(=)S
  4941. (in_byte(TIMER0);)672 1446 A
  4942. 2370(/*)S
  4943. (countdown)378 2496 A
  4944. (continues)378 2916 A
  4945. (during)252 3336 A
  4946. (2-step)252 3630 A
  4947. (read)168 3924 A
  4948. 4134(*/)S
  4949. 2700 V
  4950. (11545)210 648 A
  4951. (count)210 1110 A
  4952. 1362(|=)S
  4953. (in_byte(TIMER0))630 1488 A
  4954. 2160(<<)S
  4955. 2286(8;)S
  4956. 2790 V
  4957. (11546)210 648 A
  4958. 2880 V
  4959. (11547)210 648 A
  4960. 1110(/*)S
  4961. (Add)126 1236 A
  4962. (difference)420 1404 A
  4963. (between)294 1866 A
  4964. (previous)336 2202 A
  4965. (and)126 2580 A
  4966. (new)126 2748 A
  4967. (count)210 2916 A
  4968. (unless)252 3168 A
  4969. (the)126 3462 A
  4970. (counter)294 3630 A
  4971. (has)126 3966 A
  4972. 2970 V
  4973. (11548)210 648 A
  4974. 1152(*)S
  4975. (increased)378 1236 A
  4976. ((restarted)420 1656 A
  4977. (its)126 2118 A
  4978. (cycle).)294 2286 A
  4979. 2664(We)S
  4980. (may)126 2790 A
  4981. (lose)168 2958 A
  4982. 3168(a)S
  4983. (tick)168 3252 A
  4984. (now)126 3462 A
  4985. (and)126 3630 A
  4986. (then,)210 3798 A
  4987. (but)126 4050 A
  4988. 3060 V
  4989. (11549)210 648 A
  4990. 1152(*)S
  4991. (microsecond)462 1236 A
  4992. (precision)378 1740 A
  4993. 2160(is)S
  4994. (not)126 2286 A
  4995. (needed.)294 2454 A
  4996. 3150 V
  4997. (11550)210 648 A
  4998. 1152(*/)S
  4999. 3240 V
  5000. (11551)210 648 A
  5001. (msp->accum_count)672 1110 A
  5002. 1824(+=)S
  5003. (count)210 1950 A
  5004. 2202(<=)S
  5005. (msp->prev_count)630 2328 A
  5006. 3000(?)S
  5007. ((msp->prev_count)672 3084 A
  5008. 3798(-)S
  5009. (count))252 3882 A
  5010. 4176(:)S
  5011. 4260(1;)S
  5012. 3330 V
  5013. (11552)210 648 A
  5014. (msp->prev_count)630 1110 A
  5015. 1782(=)S
  5016. (count;)252 1866 A
  5017. 3420 V
  5018. (11553)210 648 A
  5019. 3510 V
  5020. (11554)210 648 A
  5021. (return)252 1110 A
  5022. (msp->accum_count)672 1404 A
  5023. 2118(/)S
  5024. ((TIMER_FREQ)462 2202 A
  5025. 2706(/)S
  5026. (1000);)252 2790 A
  5027. 3600 V
  5028. (11555)210 648 A
  5029. 1026(})S
  5030. 4140 V
  5031. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  5032. 4230 V
  5033. (src/kernel/tty.h)672 2034 A
  5034. 4320 V
  5035. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  5036. 4500 V
  5037. (11600)210 648 A
  5038. 1026(/*)S
  5039. (tty.h)210 1362 A
  5040. 1614(-)S
  5041. (Terminals)378 1698 A
  5042. 2370(*/)S
  5043. 4590 V
  5044. (11601)210 648 A
  5045. 4680 V
  5046. (11602)210 648 A
  5047. (#define)294 1026 A
  5048. (TTY_IN_BYTES)504 1362 A
  5049. (256)126 2076 A
  5050. 2370(/*)S
  5051. (tty)126 2496 A
  5052. (input)210 2664 A
  5053. (queue)210 2916 A
  5054. (size)168 3168 A
  5055. 3378(*/)S
  5056. 4770 V
  5057. (11603)210 648 A
  5058. (#define)294 1026 A
  5059. (TAB_SIZE)336 1362 A
  5060. 2160(8)S
  5061. 2370(/*)S
  5062. (distance)336 2496 A
  5063. (between)294 2874 A
  5064. (tab)126 3210 A
  5065. (stops)210 3378 A
  5066. 3630(*/)S
  5067. 4860 V
  5068. (11604)210 648 A
  5069. (#define)294 1026 A
  5070. (TAB_MASK)336 1362 A
  5071. 2160(7)S
  5072. 2370(/*)S
  5073. (mask)168 2496 A
  5074. 2706(to)S
  5075. (compute)294 2832 A
  5076. 3168(a)S
  5077. (tab)126 3252 A
  5078. (stop)168 3420 A
  5079. (position)336 3630 A
  5080. 4008(*/)S
  5081. 4950 V
  5082. (11605)210 648 A
  5083. 5040 V
  5084. (11606)210 648 A
  5085. (#define)294 1026 A
  5086. (ESC)126 1362 A
  5087. ('\33')210 2034 A
  5088. 2370(/*)S
  5089. (escape)252 2496 A
  5090. 2790(*/)S
  5091. 5130 V
  5092. (11607)210 648 A
  5093. 5220 V
  5094. (11608)210 648 A
  5095. (#define)294 1026 A
  5096. (O_NOCTTY)336 1362 A
  5097. (00400)210 1992 A
  5098. 2370(/*)S
  5099. (from)168 2496 A
  5100. (<fcntl.h>,)420 2706 A
  5101. 3168(or)S
  5102. 3294(cc)S
  5103. (will)168 3420 A
  5104. (choke)210 3630 A
  5105. 3882(*/)S
  5106. 5310 V
  5107. (11609)210 648 A
  5108. (#define)294 1026 A
  5109. (O_NONBLOCK)420 1362 A
  5110. (04000)210 1992 A
  5111. 5400 V
  5112. (11610)210 648 A
  5113. 5490 V
  5114. (11611)210 648 A
  5115. (typedef)294 1026 A
  5116. (_PROTOTYPE()462 1362 A
  5117. (void)168 1866 A
  5118. ((*devfun_t),)504 2076 A
  5119. ((struct)294 2622 A
  5120. (tty)126 2958 A
  5121. (*tp))168 3126 A
  5122. 3336();)S
  5123. 5580 V
  5124. (11612)210 648 A
  5125. (typedef)294 1026 A
  5126. (_PROTOTYPE()462 1362 A
  5127. (void)168 1866 A
  5128. ((*devfunarg_t),)630 2076 A
  5129. ((struct)294 2748 A
  5130. (tty)126 3084 A
  5131. (*tp,)168 3252 A
  5132. (int)126 3462 A
  5133. 3630(c))S
  5134. 3756();)S
  5135. 5670 V
  5136. (11613)210 648 A
  5137. 5760 V
  5138. (11614)210 648 A
  5139. (typedef)294 1026 A
  5140. (struct)252 1362 A
  5141. (tty)126 1656 A
  5142. 1824({)S
  5143. 5850 V
  5144. (11615)210 648 A
  5145. (int)126 1110 A
  5146. (tty_events;)462 1278 A
  5147. 2370(/*)S
  5148. (set)126 2496 A
  5149. (when)168 2664 A
  5150. (TTY)126 2874 A
  5151. (should)252 3042 A
  5152. (inspect)294 3336 A
  5153. (this)168 3672 A
  5154. (line)168 3882 A
  5155. 4092(*/)S
  5156. 5940 V
  5157. (11616)210 648 A
  5158. 6030 V
  5159. (11617)210 648 A
  5160. 1110(/*)S
  5161. (Input)210 1236 A
  5162. (queue.)252 1488 A
  5163. (Typed)210 1824 A
  5164. (characters)420 2076 A
  5165. (are)126 2538 A
  5166. (stored)252 2706 A
  5167. (here)168 3000 A
  5168. (until)210 3210 A
  5169. (read)168 3462 A
  5170. 3672(by)S
  5171. 3798(a)S
  5172. (program.)336 3882 A
  5173. 4260(*/)S
  5174. 6120 V
  5175. (11618)210 648 A
  5176. (u16_t)210 1110 A
  5177. (*tty_inhead;)504 1362 A
  5178. 2370(/*)S
  5179. (pointer)294 2496 A
  5180. 2832(to)S
  5181. (place)210 2958 A
  5182. (where)210 3210 A
  5183. (next)168 3462 A
  5184. (char)168 3672 A
  5185. (goes)168 3882 A
  5186. 4092(*/)S
  5187. 6210 V
  5188. (11619)210 648 A
  5189. (u16_t)210 1110 A
  5190. (*tty_intail;)504 1362 A
  5191. 2370(/*)S
  5192. (pointer)294 2496 A
  5193. 2832(to)S
  5194. (next)168 2958 A
  5195. (char)168 3168 A
  5196. 3378(to)S
  5197. 3504(be)S
  5198. (given)210 3630 A
  5199. 3882(to)S
  5200. (prog)168 4008 A
  5201. 4218(*/)S
  5202. 8418 V
  5203. EP
  5204. %%Page: 154 154
  5205. BP
  5206. /slant 0 def
  5207. /height 0 def
  5208. 630 V
  5209. 12 B
  5210. (154)180 648 A
  5211. 11 R
  5212. 2086(File:)S
  5213. (src/kernel/tty.h)670 2319 A
  5214. 10 R
  5215. 3402(MINIX)S
  5216. 3730(SOURCE)S
  5217. 4153(CODE)S
  5218. 900 V
  5219. 7 LST
  5220. (11620)210 648 A
  5221. (int)126 1110 A
  5222. (tty_incount;)504 1278 A
  5223. 2370(/*)S
  5224. 2496(#)S
  5225. (chars)210 2580 A
  5226. 2832(in)S
  5227. (the)126 2958 A
  5228. (input)210 3126 A
  5229. (queue)210 3378 A
  5230. 3630(*/)S
  5231. 990 V
  5232. (11621)210 648 A
  5233. (int)126 1110 A
  5234. (tty_eotct;)420 1278 A
  5235. 2370(/*)S
  5236. (number)252 2496 A
  5237. 2790(of)S
  5238. ("line)210 2916 A
  5239. (breaks")294 3168 A
  5240. 3504(in)S
  5241. (input)210 3630 A
  5242. (queue)210 3882 A
  5243. 4134(*/)S
  5244. 1080 V
  5245. (11622)210 648 A
  5246. (devfun_t)336 1110 A
  5247. (tty_devread;)504 1488 A
  5248. 2370(/*)S
  5249. (routine)294 2496 A
  5250. 2832(to)S
  5251. (read)168 2958 A
  5252. (from)168 3168 A
  5253. (low)126 3378 A
  5254. (level)210 3546 A
  5255. (buffers)294 3798 A
  5256. 4134(*/)S
  5257. 1170 V
  5258. (11623)210 648 A
  5259. (devfun_t)336 1110 A
  5260. (tty_icancel;)504 1488 A
  5261. 2370(/*)S
  5262. (cancel)252 2496 A
  5263. (any)126 2790 A
  5264. (device)252 2958 A
  5265. (input)210 3252 A
  5266. 3504(*/)S
  5267. 1260 V
  5268. (11624)210 648 A
  5269. (int)126 1110 A
  5270. (tty_min;)336 1278 A
  5271. 2370(/*)S
  5272. (minimum)294 2496 A
  5273. (requested)378 2832 A
  5274. (#chars)252 3252 A
  5275. 3546(in)S
  5276. (input)210 3672 A
  5277. (queue)210 3924 A
  5278. 4176(*/)S
  5279. 1350 V
  5280. (11625)210 648 A
  5281. (clock_t)294 1110 A
  5282. (tty_time;)378 1446 A
  5283. 2370(/*)S
  5284. (time)168 2496 A
  5285. (when)168 2706 A
  5286. (the)126 2916 A
  5287. (input)210 3084 A
  5288. 3336(is)S
  5289. (available)378 3462 A
  5290. 3882(*/)S
  5291. 1440 V
  5292. (11626)210 648 A
  5293. (struct)252 1110 A
  5294. (tty)126 1404 A
  5295. (*tty_timenext;)588 1572 A
  5296. 2370(/*)S
  5297. (for)126 2496 A
  5298. 2664(a)S
  5299. (list)168 2748 A
  5300. 2958(of)S
  5301. (ttys)168 3084 A
  5302. (with)168 3294 A
  5303. (active)252 3504 A
  5304. (timers)252 3798 A
  5305. 4092(*/)S
  5306. 1530 V
  5307. (11627)210 648 A
  5308. 1620 V
  5309. (11628)210 648 A
  5310. 1110(/*)S
  5311. (Output)252 1236 A
  5312. (section.)336 1530 A
  5313. 1908(*/)S
  5314. 1710 V
  5315. (11629)210 648 A
  5316. (devfun_t)336 1110 A
  5317. (tty_devwrite;)546 1488 A
  5318. 2370(/*)S
  5319. (routine)294 2496 A
  5320. 2832(to)S
  5321. (start)210 2958 A
  5322. (actual)252 3210 A
  5323. (device)252 3504 A
  5324. (output)252 3798 A
  5325. 4092(*/)S
  5326. 1800 V
  5327. (11630)210 648 A
  5328. (devfunarg_t)462 1110 A
  5329. (tty_echo;)378 1614 A
  5330. 2370(/*)S
  5331. (routine)294 2496 A
  5332. 2832(to)S
  5333. (echo)168 2958 A
  5334. (characters)420 3168 A
  5335. (input)210 3630 A
  5336. 3882(*/)S
  5337. 1890 V
  5338. (11631)210 648 A
  5339. (devfun_t)336 1110 A
  5340. (tty_ocancel;)504 1488 A
  5341. 2370(/*)S
  5342. (cancel)252 2496 A
  5343. (any)126 2790 A
  5344. (ongoing)294 2958 A
  5345. (device)252 3294 A
  5346. (output)252 3588 A
  5347. 3882(*/)S
  5348. 1980 V
  5349. (11632)210 648 A
  5350. (devfun_t)336 1110 A
  5351. (tty_break;)420 1488 A
  5352. 2370(/*)S
  5353. (let)126 2496 A
  5354. (the)126 2664 A
  5355. (device)252 2832 A
  5356. (send)168 3126 A
  5357. 3336(a)S
  5358. (break)210 3420 A
  5359. 3672(*/)S
  5360. 2070 V
  5361. (11633)210 648 A
  5362. 2160 V
  5363. (11634)210 648 A
  5364. 1110(/*)S
  5365. (Terminal)336 1236 A
  5366. (parameters)420 1614 A
  5367. (and)126 2076 A
  5368. (status.)294 2244 A
  5369. 2580(*/)S
  5370. 2250 V
  5371. (11635)210 648 A
  5372. (int)126 1110 A
  5373. (tty_position;)546 1278 A
  5374. 2370(/*)S
  5375. (current)294 2496 A
  5376. (position)336 2832 A
  5377. 3210(on)S
  5378. (the)126 3336 A
  5379. (screen)252 3504 A
  5380. (for)126 3798 A
  5381. (echoing)294 3966 A
  5382. 4302(*/)S
  5383. 2340 V
  5384. (11636)210 648 A
  5385. (char)168 1110 A
  5386. (tty_reprint;)504 1320 A
  5387. 2370(/*)S
  5388. 2496(1)S
  5389. (when)168 2580 A
  5390. (echoed)252 2790 A
  5391. (input)210 3084 A
  5392. (messed)252 3336 A
  5393. (up,)126 3630 A
  5394. (else)168 3798 A
  5395. 4008(0)S
  5396. 4092(*/)S
  5397. 2430 V
  5398. (11637)210 648 A
  5399. (char)168 1110 A
  5400. (tty_escaped;)504 1320 A
  5401. 2370(/*)S
  5402. 2496(1)S
  5403. (when)168 2580 A
  5404. (LNEXT)210 2790 A
  5405. ((303V))168 3042 A
  5406. (just)168 3252 A
  5407. (seen,)210 3462 A
  5408. (else)168 3714 A
  5409. 3924(0)S
  5410. 4008(*/)S
  5411. 2520 V
  5412. (11638)210 648 A
  5413. (char)168 1110 A
  5414. (tty_inhibited;)588 1320 A
  5415. 2370(/*)S
  5416. 2496(1)S
  5417. (when)168 2580 A
  5418. (STOP)168 2790 A
  5419. ((303S))168 3000 A
  5420. (just)168 3210 A
  5421. (seen)168 3420 A
  5422. ((stops)252 3630 A
  5423. (output))294 3924 A
  5424. 4260(*/)S
  5425. 2610 V
  5426. (11639)210 648 A
  5427. (char)168 1110 A
  5428. (tty_pgrp;)378 1320 A
  5429. 2370(/*)S
  5430. (slot)168 2496 A
  5431. (number)252 2706 A
  5432. 3000(of)S
  5433. (controlling)462 3126 A
  5434. (process)294 3630 A
  5435. 3966(*/)S
  5436. 2700 V
  5437. (11640)210 648 A
  5438. (char)168 1110 A
  5439. (tty_openct;)462 1320 A
  5440. 2370(/*)S
  5441. (count)210 2496 A
  5442. 2748(of)S
  5443. (number)252 2874 A
  5444. 3168(of)S
  5445. (opens)210 3294 A
  5446. 3546(of)S
  5447. (this)168 3672 A
  5448. (tty)126 3882 A
  5449. 4050(*/)S
  5450. 2790 V
  5451. (11641)210 648 A
  5452. 2880 V
  5453. (11642)210 648 A
  5454. 1110(/*)S
  5455. (Information)462 1236 A
  5456. (about)210 1740 A
  5457. (incomplete)420 1992 A
  5458. (I/O)126 2454 A
  5459. (requests)336 2622 A
  5460. 3000(is)S
  5461. (stored)252 3126 A
  5462. (here.)210 3420 A
  5463. 3672(*/)S
  5464. 2970 V
  5465. (11643)210 648 A
  5466. (char)168 1110 A
  5467. (tty_inrepcode;)588 1320 A
  5468. 2370(/*)S
  5469. (reply)210 2496 A
  5470. (code,)210 2748 A
  5471. (TASK_REPLY)420 3000 A
  5472. 3462(or)S
  5473. (REVIVE)252 3588 A
  5474. 3882(*/)S
  5475. 3060 V
  5476. (11644)210 648 A
  5477. (char)168 1110 A
  5478. (tty_incaller;)546 1320 A
  5479. 2370(/*)S
  5480. (process)294 2496 A
  5481. (that)168 2832 A
  5482. (made)168 3042 A
  5483. (the)126 3252 A
  5484. (call)168 3420 A
  5485. ((usually)336 3630 A
  5486. (FS))126 4008 A
  5487. 4176(*/)S
  5488. 3150 V
  5489. (11645)210 648 A
  5490. (char)168 1110 A
  5491. (tty_inproc;)462 1320 A
  5492. 2370(/*)S
  5493. (process)294 2496 A
  5494. (that)168 2832 A
  5495. (wants)210 3042 A
  5496. 3294(to)S
  5497. (read)168 3420 A
  5498. (from)168 3630 A
  5499. (tty)126 3840 A
  5500. 4008(*/)S
  5501. 3240 V
  5502. (11646)210 648 A
  5503. (vir_bytes)378 1110 A
  5504. (tty_in_vir;)462 1530 A
  5505. 2370(/*)S
  5506. (virtual)294 2496 A
  5507. (address)294 2832 A
  5508. (where)210 3168 A
  5509. (data)168 3420 A
  5510. 3630(is)S
  5511. 3756(to)S
  5512. 3882(go)S
  5513. 4008(*/)S
  5514. 3330 V
  5515. (11647)210 648 A
  5516. (int)126 1110 A
  5517. (tty_inleft;)462 1278 A
  5518. 2370(/*)S
  5519. (how)126 2496 A
  5520. (many)168 2664 A
  5521. (chars)210 2874 A
  5522. (are)126 3126 A
  5523. (still)210 3294 A
  5524. (needed)252 3546 A
  5525. 3840(*/)S
  5526. 3420 V
  5527. (11648)210 648 A
  5528. (int)126 1110 A
  5529. (tty_incum;)420 1278 A
  5530. 2370(/*)S
  5531. 2496(#)S
  5532. (chars)210 2580 A
  5533. (input)210 2832 A
  5534. 3084(so)S
  5535. (far)126 3210 A
  5536. 3378(*/)S
  5537. 3510 V
  5538. (11649)210 648 A
  5539. (char)168 1110 A
  5540. (tty_outrepcode;)630 1320 A
  5541. 2370(/*)S
  5542. (reply)210 2496 A
  5543. (code,)210 2748 A
  5544. (TASK_REPLY)420 3000 A
  5545. 3462(or)S
  5546. (REVIVE)252 3588 A
  5547. 3882(*/)S
  5548. 3600 V
  5549. (11650)210 648 A
  5550. (char)168 1110 A
  5551. (tty_outcaller;)588 1320 A
  5552. 2370(/*)S
  5553. (process)294 2496 A
  5554. (that)168 2832 A
  5555. (made)168 3042 A
  5556. (the)126 3252 A
  5557. (call)168 3420 A
  5558. ((usually)336 3630 A
  5559. (FS))126 4008 A
  5560. 4176(*/)S
  5561. 3690 V
  5562. (11651)210 648 A
  5563. (char)168 1110 A
  5564. (tty_outproc;)504 1320 A
  5565. 2370(/*)S
  5566. (process)294 2496 A
  5567. (that)168 2832 A
  5568. (wants)210 3042 A
  5569. 3294(to)S
  5570. (write)210 3420 A
  5571. 3672(to)S
  5572. (tty)126 3798 A
  5573. 3966(*/)S
  5574. 3780 V
  5575. (11652)210 648 A
  5576. (vir_bytes)378 1110 A
  5577. (tty_out_vir;)504 1530 A
  5578. 2370(/*)S
  5579. (virtual)294 2496 A
  5580. (address)294 2832 A
  5581. (where)210 3168 A
  5582. (data)168 3420 A
  5583. (comes)210 3630 A
  5584. (from)168 3882 A
  5585. 4092(*/)S
  5586. 3870 V
  5587. (11653)210 648 A
  5588. (int)126 1110 A
  5589. (tty_outleft;)504 1278 A
  5590. 2370(/*)S
  5591. 2496(#)S
  5592. (chars)210 2580 A
  5593. (yet)126 2832 A
  5594. 3000(to)S
  5595. 3126(be)S
  5596. (output)252 3252 A
  5597. 3546(*/)S
  5598. 3960 V
  5599. (11654)210 648 A
  5600. (int)126 1110 A
  5601. (tty_outcum;)462 1278 A
  5602. 2370(/*)S
  5603. 2496(#)S
  5604. (chars)210 2580 A
  5605. (output)252 2832 A
  5606. 3126(so)S
  5607. (far)126 3252 A
  5608. 3420(*/)S
  5609. 4050 V
  5610. (11655)210 648 A
  5611. (char)168 1110 A
  5612. (tty_iocaller;)546 1320 A
  5613. 2370(/*)S
  5614. (process)294 2496 A
  5615. (that)168 2832 A
  5616. (made)168 3042 A
  5617. (the)126 3252 A
  5618. (call)168 3420 A
  5619. ((usually)336 3630 A
  5620. (FS))126 4008 A
  5621. 4176(*/)S
  5622. 4140 V
  5623. (11656)210 648 A
  5624. (char)168 1110 A
  5625. (tty_ioproc;)462 1320 A
  5626. 2370(/*)S
  5627. (process)294 2496 A
  5628. (that)168 2832 A
  5629. (wants)210 3042 A
  5630. 3294(to)S
  5631. 3420(do)S
  5632. 3546(an)S
  5633. (ioctl)210 3672 A
  5634. 3924(*/)S
  5635. 4230 V
  5636. (11657)210 648 A
  5637. (int)126 1110 A
  5638. (tty_ioreq;)420 1278 A
  5639. 2370(/*)S
  5640. (ioctl)210 2496 A
  5641. (request)294 2748 A
  5642. (code)168 3084 A
  5643. 3294(*/)S
  5644. 4320 V
  5645. (11658)210 648 A
  5646. (vir_bytes)378 1110 A
  5647. (tty_iovir;)420 1530 A
  5648. 2370(/*)S
  5649. (virtual)294 2496 A
  5650. (address)294 2832 A
  5651. 3168(of)S
  5652. (ioctl)210 3294 A
  5653. (buffer)252 3546 A
  5654. 3840(*/)S
  5655. 4410 V
  5656. (11659)210 648 A
  5657. 4500 V
  5658. (11660)210 648 A
  5659. 1110(/*)S
  5660. (Miscellaneous.)588 1236 A
  5661. 1866(*/)S
  5662. 4590 V
  5663. (11661)210 648 A
  5664. (devfun_t)336 1110 A
  5665. (tty_ioctl;)420 1488 A
  5666. 2370(/*)S
  5667. (set)126 2496 A
  5668. (line)168 2664 A
  5669. (speed,)252 2874 A
  5670. (etc.)168 3168 A
  5671. 3378(at)S
  5672. (the)126 3504 A
  5673. (device)252 3672 A
  5674. (level)210 3966 A
  5675. 4218(*/)S
  5676. 4680 V
  5677. (11662)210 648 A
  5678. (devfun_t)336 1110 A
  5679. (tty_close;)420 1488 A
  5680. 2370(/*)S
  5681. (tell)168 2496 A
  5682. (the)126 2706 A
  5683. (device)252 2874 A
  5684. (that)168 3168 A
  5685. (the)126 3378 A
  5686. (tty)126 3546 A
  5687. 3714(is)S
  5688. (closed)252 3840 A
  5689. 4134(*/)S
  5690. 4770 V
  5691. (11663)210 648 A
  5692. (void)168 1110 A
  5693. (*tty_priv;)420 1320 A
  5694. 2370(/*)S
  5695. (pointer)294 2496 A
  5696. 2832(to)S
  5697. (per)126 2958 A
  5698. (device)252 3126 A
  5699. (private)294 3420 A
  5700. (data)168 3756 A
  5701. 3966(*/)S
  5702. 4860 V
  5703. (11664)210 648 A
  5704. (struct)252 1110 A
  5705. (termios)294 1404 A
  5706. (tty_termios;)504 1740 A
  5707. 2370(/*)S
  5708. (terminal)336 2496 A
  5709. (attributes)420 2874 A
  5710. 3336(*/)S
  5711. 4950 V
  5712. (11665)210 648 A
  5713. (struct)252 1110 A
  5714. (winsize)294 1404 A
  5715. (tty_winsize;)504 1740 A
  5716. 2370(/*)S
  5717. (window)252 2496 A
  5718. (size)168 2790 A
  5719. ((#lines)294 3000 A
  5720. (and)126 3336 A
  5721. (#columns))378 3504 A
  5722. 3924(*/)S
  5723. 5040 V
  5724. (11666)210 648 A
  5725. 5130 V
  5726. (11667)210 648 A
  5727. (u16_t)210 1110 A
  5728. (tty_inbuf[TTY_IN_BYTES];/*)1092 1362 A
  5729. (tty)126 2496 A
  5730. (input)210 2664 A
  5731. (buffer)252 2916 A
  5732. 3210(*/)S
  5733. 5220 V
  5734. (11668)210 648 A
  5735. 1026(})S
  5736. (tty_t;)252 1110 A
  5737. 5310 V
  5738. (11669)210 648 A
  5739. 5400 V
  5740. (11670)210 648 A
  5741. (EXTERN)252 1026 A
  5742. (tty_t)210 1320 A
  5743. (tty_table[NR_CONS+NR_RS_LINES+NR_PTYS];)1638 1572 A
  5744. 5490 V
  5745. (11671)210 648 A
  5746. 5580 V
  5747. (11672)210 648 A
  5748. 1026(/*)S
  5749. (Values)252 1152 A
  5750. (for)126 1446 A
  5751. (the)126 1614 A
  5752. (fields.)294 1782 A
  5753. 2118(*/)S
  5754. 5670 V
  5755. (11673)210 648 A
  5756. (#define)294 1026 A
  5757. (NOT_ESCAPED)462 1362 A
  5758. 2160(0)S
  5759. 2370(/*)S
  5760. (previous)336 2496 A
  5761. (character)378 2874 A
  5762. 3294(is)S
  5763. (not)126 3420 A
  5764. (LNEXT)210 3588 A
  5765. ((303V))168 3840 A
  5766. 4050(*/)S
  5767. 5760 V
  5768. (11674)210 648 A
  5769. (#define)294 1026 A
  5770. (ESCAPED)294 1362 A
  5771. 2160(1)S
  5772. 2370(/*)S
  5773. (previous)336 2496 A
  5774. (character)378 2874 A
  5775. (was)126 3294 A
  5776. (LNEXT)210 3462 A
  5777. ((303V))168 3714 A
  5778. 3924(*/)S
  5779. 5850 V
  5780. (11675)210 648 A
  5781. (#define)294 1026 A
  5782. (RUNNING)294 1362 A
  5783. 2160(0)S
  5784. 2370(/*)S
  5785. 2496(no)S
  5786. (STOP)168 2622 A
  5787. ((303S))168 2832 A
  5788. (has)126 3042 A
  5789. (been)168 3210 A
  5790. (typed)210 3420 A
  5791. 3672(to)S
  5792. (stop)168 3798 A
  5793. (output)252 4008 A
  5794. 4302(*/)S
  5795. 5940 V
  5796. (11676)210 648 A
  5797. (#define)294 1026 A
  5798. (STOPPED)294 1362 A
  5799. 2160(1)S
  5800. 2370(/*)S
  5801. (STOP)168 2496 A
  5802. ((303S))168 2706 A
  5803. (has)126 2916 A
  5804. (been)168 3084 A
  5805. (typed)210 3294 A
  5806. 3546(to)S
  5807. (stop)168 3672 A
  5808. (output)252 3882 A
  5809. 4176(*/)S
  5810. 6030 V
  5811. (11677)210 648 A
  5812. 6120 V
  5813. (11678)210 648 A
  5814. 1026(/*)S
  5815. (Fields)252 1152 A
  5816. (and)126 1446 A
  5817. (flags)210 1614 A
  5818. 1866(on)S
  5819. (characters)420 1992 A
  5820. 2454(in)S
  5821. (the)126 2580 A
  5822. (input)210 2748 A
  5823. (queue.)252 3000 A
  5824. 3294(*/)S
  5825. 6210 V
  5826. (11679)210 648 A
  5827. (#define)294 1026 A
  5828. (IN_CHAR)294 1362 A
  5829. (0x00FF)252 1950 A
  5830. 2370(/*)S
  5831. (low)126 2496 A
  5832. 2664(8)S
  5833. (bits)168 2748 A
  5834. (are)126 2958 A
  5835. (the)126 3126 A
  5836. (character)378 3294 A
  5837. (itself)252 3714 A
  5838. 4008(*/)S
  5839. 8418 V
  5840. EP
  5841. %%Page: 155 155
  5842. BP
  5843. /slant 0 def
  5844. /height 0 def
  5845. 630 V
  5846. 10 R
  5847. 648(MINIX)S
  5848. 976(SOURCE)S
  5849. 1399(CODE)S
  5850. 11 R
  5851. 2086(File:)S
  5852. (src/kernel/tty.h)670 2319 A
  5853. 12 B
  5854. (155)180 4248 A
  5855. 900 V
  5856. 7 LST
  5857. (11680)210 648 A
  5858. (#define)294 1026 A
  5859. (IN_LEN)252 1362 A
  5860. (0x0F00)252 1950 A
  5861. 2370(/*)S
  5862. (length)252 2496 A
  5863. 2790(of)S
  5864. (char)168 2916 A
  5865. 3126(if)S
  5866. 3252(it)S
  5867. (has)126 3378 A
  5868. (been)168 3546 A
  5869. (echoed)252 3756 A
  5870. 4050(*/)S
  5871. 990 V
  5872. (11681)210 648 A
  5873. (#define)294 1026 A
  5874. (IN_LSHIFT)378 1362 A
  5875. 2160(8)S
  5876. 2370(/*)S
  5877. (length)252 2496 A
  5878. 2790(=)S
  5879. 2874((c)S
  5880. 3000(&)S
  5881. (IN_LEN))294 3084 A
  5882. 3420(>>)S
  5883. (IN_LSHIFT)378 3546 A
  5884. 3966(*/)S
  5885. 1080 V
  5886. (11682)210 648 A
  5887. (#define)294 1026 A
  5888. (IN_EOT)252 1362 A
  5889. (0x1000)252 1950 A
  5890. 2370(/*)S
  5891. (char)168 2496 A
  5892. 2706(is)S
  5893. 2832(a)S
  5894. (line)168 2916 A
  5895. (break)210 3126 A
  5896. ((303D,)168 3378 A
  5897. (LF))126 3588 A
  5898. 3756(*/)S
  5899. 1170 V
  5900. (11683)210 648 A
  5901. (#define)294 1026 A
  5902. (IN_EOF)252 1362 A
  5903. (0x2000)252 1950 A
  5904. 2370(/*)S
  5905. (char)168 2496 A
  5906. 2706(is)S
  5907. (EOF)126 2832 A
  5908. ((303D),)210 3000 A
  5909. 3252(do)S
  5910. (not)126 3378 A
  5911. (return)252 3546 A
  5912. 3840(to)S
  5913. (user)168 3966 A
  5914. 4176(*/)S
  5915. 1260 V
  5916. (11684)210 648 A
  5917. (#define)294 1026 A
  5918. (IN_ESC)252 1362 A
  5919. (0x4000)252 1950 A
  5920. 2370(/*)S
  5921. (escaped)294 2496 A
  5922. 2832(by)S
  5923. (LNEXT)210 2958 A
  5924. ((303V),)210 3210 A
  5925. 3462(no)S
  5926. (interpretation)588 3588 A
  5927. 4218(*/)S
  5928. 1350 V
  5929. (11685)210 648 A
  5930. 1440 V
  5931. (11686)210 648 A
  5932. 1026(/*)S
  5933. (Times)210 1152 A
  5934. (and)126 1404 A
  5935. (timeouts.)378 1572 A
  5936. 1992(*/)S
  5937. 1530 V
  5938. (11687)210 648 A
  5939. (#define)294 1026 A
  5940. (TIME_NEVER)420 1362 A
  5941. (((clock_t))420 2034 A
  5942. 2496(-1)S
  5943. 2622(<)S
  5944. 2706(0)S
  5945. 2790(?)S
  5946. ((clock_t))378 2874 A
  5947. (LONG_MAX)336 3294 A
  5948. 3672(:)S
  5949. ((clock_t))378 3756 A
  5950. (-1))126 4176 A
  5951. 1620 V
  5952. (11688)210 648 A
  5953. (#define)294 1026 A
  5954. (force_timeout())630 1362 A
  5955. (((void))294 2034 A
  5956. ((tty_timeout)504 2370 A
  5957. 2916(=)S
  5958. (0)))126 3000 A
  5959. 1710 V
  5960. (11689)210 648 A
  5961. 1800 V
  5962. (11690)210 648 A
  5963. (EXTERN)252 1026 A
  5964. (tty_t)210 1320 A
  5965. (*tty_timelist;)588 1572 A
  5966. 2370(/*)S
  5967. (list)168 2496 A
  5968. 2706(of)S
  5969. (ttys)168 2832 A
  5970. (with)168 3042 A
  5971. (active)252 3252 A
  5972. (timers)252 3546 A
  5973. 3840(*/)S
  5974. 1890 V
  5975. (11691)210 648 A
  5976. 1980 V
  5977. (11692)210 648 A
  5978. 1026(/*)S
  5979. (Number)252 1152 A
  5980. 1446(of)S
  5981. (elements)336 1572 A
  5982. (and)126 1950 A
  5983. (limit)210 2118 A
  5984. 2370(of)S
  5985. 2496(a)S
  5986. (buffer.)294 2580 A
  5987. 2916(*/)S
  5988. 2070 V
  5989. (11693)210 648 A
  5990. (#define)294 1026 A
  5991. (buflen(buf))462 1362 A
  5992. ((sizeof(buf))504 2034 A
  5993. 2580(/)S
  5994. (sizeof((buf)[0])))714 2664 A
  5995. 2160 V
  5996. (11694)210 648 A
  5997. (#define)294 1026 A
  5998. (bufend(buf))462 1362 A
  5999. (((buf))252 2034 A
  6000. 2328(+)S
  6001. (buflen(buf)))504 2412 A
  6002. 2790 V
  6003. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6004. 2880 V
  6005. (src/kernel/tty.c)672 2034 A
  6006. 2970 V
  6007. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6008. 3150 V
  6009. (11700)210 648 A
  6010. 1026(/*)S
  6011. (This)168 1152 A
  6012. (file)168 1362 A
  6013. (contains)336 1572 A
  6014. (the)126 1950 A
  6015. (terminal)336 2118 A
  6016. (driver,)294 2496 A
  6017. (both)168 2832 A
  6018. (for)126 3042 A
  6019. (the)126 3210 A
  6020. (IBM)126 3378 A
  6021. (console)294 3546 A
  6022. (and)126 3882 A
  6023. (regular)294 4050 A
  6024. 3240 V
  6025. (11701)210 648 A
  6026. 1068(*)S
  6027. (ASCII)210 1152 A
  6028. (terminals.)420 1404 A
  6029. 1908(It)S
  6030. (handles)294 2034 A
  6031. (only)168 2370 A
  6032. (the)126 2580 A
  6033. (device-independent)756 2748 A
  6034. (part)168 3546 A
  6035. 3756(of)S
  6036. 3882(a)S
  6037. (TTY,)168 3966 A
  6038. (the)126 4176 A
  6039. 3330 V
  6040. (11702)210 648 A
  6041. 1068(*)S
  6042. (device)252 1152 A
  6043. (dependent)378 1446 A
  6044. (parts)210 1866 A
  6045. (are)126 2118 A
  6046. 2286(in)S
  6047. (console.c,)420 2412 A
  6048. (rs232.c,)336 2874 A
  6049. (etc.)168 3252 A
  6050. (This)168 3504 A
  6051. (file)168 3714 A
  6052. (contains)336 3924 A
  6053. 3420 V
  6054. (11703)210 648 A
  6055. 1068(*)S
  6056. (two)126 1152 A
  6057. (main)168 1320 A
  6058. (entry)210 1530 A
  6059. (points,)294 1782 A
  6060. (tty_task())420 2118 A
  6061. (and)126 2580 A
  6062. (tty_wakeup(),)546 2748 A
  6063. (and)126 3336 A
  6064. (several)294 3504 A
  6065. (minor)210 3840 A
  6066. (entry)210 4092 A
  6067. 3510 V
  6068. (11704)210 648 A
  6069. 1068(*)S
  6070. (points)252 1152 A
  6071. (for)126 1446 A
  6072. (use)126 1614 A
  6073. 1782(by)S
  6074. (the)126 1908 A
  6075. (device-dependent)672 2076 A
  6076. (code.)210 2790 A
  6077. 3600 V
  6078. (11705)210 648 A
  6079. 1068(*)S
  6080. 3690 V
  6081. (11706)210 648 A
  6082. 1068(*)S
  6083. (The)126 1152 A
  6084. (device-independent)756 1320 A
  6085. (part)168 2118 A
  6086. (accepts)294 2328 A
  6087. ("keyboard")420 2664 A
  6088. (input)210 3126 A
  6089. (from)168 3378 A
  6090. (the)126 3588 A
  6091. (device-)294 3756 A
  6092. 3780 V
  6093. (11707)210 648 A
  6094. 1068(*)S
  6095. (dependent)378 1152 A
  6096. (part,)210 1572 A
  6097. (performs)336 1824 A
  6098. (input)210 2202 A
  6099. (processing)420 2454 A
  6100. ((special)336 2916 A
  6101. (key)126 3294 A
  6102. (interpretation),)672 3462 A
  6103. 3870 V
  6104. (11708)210 648 A
  6105. 1068(*)S
  6106. (and)126 1152 A
  6107. (sends)210 1320 A
  6108. (the)126 1572 A
  6109. (input)210 1740 A
  6110. 1992(to)S
  6111. 2118(a)S
  6112. (process)294 2202 A
  6113. (reading)294 2538 A
  6114. (from)168 2874 A
  6115. (the)126 3084 A
  6116. (TTY.)168 3252 A
  6117. (Output)252 3504 A
  6118. 3798(to)S
  6119. 3924(a)S
  6120. (TTY)126 4008 A
  6121. 3960 V
  6122. (11709)210 648 A
  6123. 1068(*)S
  6124. 1152(is)S
  6125. (sent)168 1278 A
  6126. 1488(to)S
  6127. (the)126 1614 A
  6128. (device-dependent)672 1782 A
  6129. (code)168 2496 A
  6130. (for)126 2706 A
  6131. (output)252 2874 A
  6132. (processing)420 3168 A
  6133. (and)126 3630 A
  6134. ("screen")336 3798 A
  6135. 4050 V
  6136. (11710)210 648 A
  6137. 1068(*)S
  6138. (display.)336 1152 A
  6139. (Input)210 1572 A
  6140. (processing)420 1824 A
  6141. 2286(is)S
  6142. (done)168 2412 A
  6143. 2622(by)S
  6144. (the)126 2748 A
  6145. (device)252 2916 A
  6146. 3210(by)S
  6147. (calling)294 3336 A
  6148. ('in_process')504 3672 A
  6149. 4140 V
  6150. (11711)210 648 A
  6151. 1068(*)S
  6152. 1152(on)S
  6153. (the)126 1278 A
  6154. (input)210 1446 A
  6155. (characters,)462 1698 A
  6156. (output)252 2202 A
  6157. (processing)420 2496 A
  6158. (may)126 2958 A
  6159. 3126(be)S
  6160. (done)168 3252 A
  6161. 3462(by)S
  6162. (the)126 3588 A
  6163. (device)252 3756 A
  6164. (itself)252 4050 A
  6165. 4230 V
  6166. (11712)210 648 A
  6167. 1068(*)S
  6168. 1152(or)S
  6169. 1278(by)S
  6170. (calling)294 1404 A
  6171. ('out_process'.)588 1740 A
  6172. (The)126 2412 A
  6173. (TTY)126 2580 A
  6174. (takes)210 2748 A
  6175. (care)168 3000 A
  6176. 3210(of)S
  6177. (input)210 3336 A
  6178. (queuing,)336 3588 A
  6179. (the)126 3966 A
  6180. 4320 V
  6181. (11713)210 648 A
  6182. 1068(*)S
  6183. (device)252 1152 A
  6184. (does)168 1446 A
  6185. (the)126 1656 A
  6186. (output)252 1824 A
  6187. (queuing.)336 2118 A
  6188. 2538(If)S
  6189. 2664(a)S
  6190. (device)252 2748 A
  6191. (receives)336 3042 A
  6192. 3420(an)S
  6193. (external)336 3546 A
  6194. (signal,)294 3924 A
  6195. 4410 V
  6196. (11714)210 648 A
  6197. 1068(*)S
  6198. (like)168 1152 A
  6199. 1362(an)S
  6200. (interrupt,)420 1488 A
  6201. (then)168 1950 A
  6202. 2160(it)S
  6203. (causes)252 2286 A
  6204. (tty_wakeup())504 2580 A
  6205. 3126(to)S
  6206. 3252(be)S
  6207. (run)126 3378 A
  6208. 3546(by)S
  6209. (the)126 3672 A
  6210. (CLOCK)210 3840 A
  6211. (task)168 4092 A
  6212. 4500 V
  6213. (11715)210 648 A
  6214. 1068(*)S
  6215. (to,)126 1152 A
  6216. (you)126 1320 A
  6217. (guessed)294 1488 A
  6218. (it,)126 1824 A
  6219. (wake)168 1992 A
  6220. 2202(up)S
  6221. (the)126 2328 A
  6222. (TTY)126 2496 A
  6223. 2664(to)S
  6224. (check)210 2790 A
  6225. 3042(if)S
  6226. (input)210 3168 A
  6227. 3420(or)S
  6228. (output)252 3546 A
  6229. (can)126 3840 A
  6230. 4590 V
  6231. (11716)210 648 A
  6232. 1068(*)S
  6233. (continue.)378 1152 A
  6234. 4680 V
  6235. (11717)210 648 A
  6236. 1068(*)S
  6237. 4770 V
  6238. (11718)210 648 A
  6239. 1068(*)S
  6240. (The)126 1152 A
  6241. (valid)210 1320 A
  6242. (messages)336 1572 A
  6243. (and)126 1950 A
  6244. (their)210 2118 A
  6245. (parameters)420 2370 A
  6246. (are:)168 2832 A
  6247. 4860 V
  6248. (11719)210 648 A
  6249. 1068(*)S
  6250. 4950 V
  6251. (11720)210 648 A
  6252. 1068(*)S
  6253. (HARD_INT:)378 1236 A
  6254. (output)252 1824 A
  6255. (has)126 2118 A
  6256. (been)168 2286 A
  6257. (completed)378 2496 A
  6258. 2916(or)S
  6259. (input)210 3042 A
  6260. (has)126 3294 A
  6261. (arrived)294 3462 A
  6262. 5040 V
  6263. (11721)210 648 A
  6264. 1068(*)S
  6265. (DEV_READ:)378 1236 A
  6266. 1824(a)S
  6267. (process)294 1908 A
  6268. (wants)210 2244 A
  6269. 2496(to)S
  6270. (read)168 2622 A
  6271. (from)168 2832 A
  6272. 3042(a)S
  6273. (terminal)336 3126 A
  6274. 5130 V
  6275. (11722)210 648 A
  6276. 1068(*)S
  6277. (DEV_WRITE:)420 1236 A
  6278. 1824(a)S
  6279. (process)294 1908 A
  6280. (wants)210 2244 A
  6281. 2496(to)S
  6282. (write)210 2622 A
  6283. 2874(on)S
  6284. 3000(a)S
  6285. (terminal)336 3084 A
  6286. 5220 V
  6287. (11723)210 648 A
  6288. 1068(*)S
  6289. (DEV_IOCTL:)420 1236 A
  6290. 1824(a)S
  6291. (process)294 1908 A
  6292. (wants)210 2244 A
  6293. 2496(to)S
  6294. (change)252 2622 A
  6295. 2916(a)S
  6296. (terminal's)420 3000 A
  6297. (parameters)420 3462 A
  6298. 5310 V
  6299. (11724)210 648 A
  6300. 1068(*)S
  6301. (DEV_OPEN:)378 1236 A
  6302. 1824(a)S
  6303. (tty)126 1908 A
  6304. (line)168 2076 A
  6305. (has)126 2286 A
  6306. (been)168 2454 A
  6307. (opened)252 2664 A
  6308. 5400 V
  6309. (11725)210 648 A
  6310. 1068(*)S
  6311. (DEV_CLOSE:)420 1236 A
  6312. 1824(a)S
  6313. (tty)126 1908 A
  6314. (line)168 2076 A
  6315. (has)126 2286 A
  6316. (been)168 2454 A
  6317. (closed)252 2664 A
  6318. 5490 V
  6319. (11726)210 648 A
  6320. 1068(*)S
  6321. (CANCEL:)294 1236 A
  6322. (terminate)378 1824 A
  6323. 2244(a)S
  6324. (previous)336 2328 A
  6325. (incomplete)420 2706 A
  6326. (system)252 3168 A
  6327. (call)168 3462 A
  6328. (immediately)462 3672 A
  6329. 5580 V
  6330. (11727)210 648 A
  6331. 1068(*)S
  6332. 5670 V
  6333. (11728)210 648 A
  6334. 1068(*)S
  6335. (m_type)252 1278 A
  6336. (TTY_LINE)336 1782 A
  6337. (PROC_NR)294 2244 A
  6338. (COUNT)210 2706 A
  6339. (TTY_SPEK)336 3042 A
  6340. (TTY_FLAGS)378 3462 A
  6341. (ADDRESS)294 3924 A
  6342. 5760 V
  6343. (11729)210 648 A
  6344. 1068(*)S
  6345. (---------------------------------------------------------------------------)3150 1152 A
  6346. 5850 V
  6347. (11730)210 648 A
  6348. 1068(*)S
  6349. 1152(|)S
  6350. (HARD_INT)336 1236 A
  6351. 1740(|)S
  6352. 2160(|)S
  6353. 2580(|)S
  6354. 3000(|)S
  6355. 3420(|)S
  6356. 3840(|)S
  6357. 4260(|)S
  6358. 5940 V
  6359. (11731)210 648 A
  6360. 1068(*)S
  6361. (|-------------+---------+---------+---------+---------+---------+---------|)3150 1152 A
  6362. 6030 V
  6363. (11732)210 648 A
  6364. 1068(*)S
  6365. 1152(|)S
  6366. (DEV_READ)336 1236 A
  6367. (|minor)252 1740 A
  6368. (dev|)168 2034 A
  6369. (proc)168 2244 A
  6370. 2454(nr)S
  6371. 2580(|)S
  6372. (count)210 2706 A
  6373. 3000(|)S
  6374. (O_NONBLOCK|)462 3420 A
  6375. (buf)126 3924 A
  6376. (ptr)126 4092 A
  6377. 4260(|)S
  6378. 6120 V
  6379. (11733)210 648 A
  6380. 1068(*)S
  6381. (|-------------+---------+---------+---------+---------+---------+---------|)3150 1152 A
  6382. 6210 V
  6383. (11734)210 648 A
  6384. 1068(*)S
  6385. 1152(|)S
  6386. (DEV_WRITE)378 1236 A
  6387. (|minor)252 1740 A
  6388. (dev|)168 2034 A
  6389. (proc)168 2244 A
  6390. 2454(nr)S
  6391. 2580(|)S
  6392. (count)210 2706 A
  6393. 3000(|)S
  6394. 3420(|)S
  6395. 3840(|)S
  6396. (buf)126 3924 A
  6397. (ptr)126 4092 A
  6398. 4260(|)S
  6399. 8418 V
  6400. EP
  6401. %%Page: 156 156
  6402. BP
  6403. /slant 0 def
  6404. /height 0 def
  6405. 630 V
  6406. 12 B
  6407. (156)180 648 A
  6408. 11 R
  6409. 2089(File:)S
  6410. (src/kernel/tty.c)665 2322 A
  6411. 10 R
  6412. 3402(MINIX)S
  6413. 3730(SOURCE)S
  6414. 4153(CODE)S
  6415. 900 V
  6416. 7 LST
  6417. (11735)210 648 A
  6418. 1068(*)S
  6419. (|-------------+---------+---------+---------+---------+---------+---------|)3150 1152 A
  6420. 990 V
  6421. (11736)210 648 A
  6422. 1068(*)S
  6423. 1152(|)S
  6424. (DEV_IOCTL)378 1236 A
  6425. (|minor)252 1740 A
  6426. (dev|)168 2034 A
  6427. (proc)168 2244 A
  6428. 2454(nr)S
  6429. (|func)210 2580 A
  6430. (code|erase)420 2832 A
  6431. (etc|)168 3294 A
  6432. (flags)210 3546 A
  6433. 3840(|)S
  6434. 4260(|)S
  6435. 1080 V
  6436. (11737)210 648 A
  6437. 1068(*)S
  6438. (|-------------+---------+---------+---------+---------+---------+---------|)3150 1152 A
  6439. 1170 V
  6440. (11738)210 648 A
  6441. 1068(*)S
  6442. 1152(|)S
  6443. (DEV_OPEN)336 1236 A
  6444. (|minor)252 1740 A
  6445. (dev|)168 2034 A
  6446. (proc)168 2244 A
  6447. 2454(nr)S
  6448. 2580(|)S
  6449. (O_NOCTTY|)378 2664 A
  6450. 3420(|)S
  6451. 3840(|)S
  6452. 4260(|)S
  6453. 1260 V
  6454. (11739)210 648 A
  6455. 1068(*)S
  6456. (|-------------+---------+---------+---------+---------+---------+---------|)3150 1152 A
  6457. 1350 V
  6458. (11740)210 648 A
  6459. 1068(*)S
  6460. 1152(|)S
  6461. (DEV_CLOSE)378 1236 A
  6462. (|minor)252 1740 A
  6463. (dev|)168 2034 A
  6464. (proc)168 2244 A
  6465. 2454(nr)S
  6466. 2580(|)S
  6467. 3000(|)S
  6468. 3420(|)S
  6469. 3840(|)S
  6470. 4260(|)S
  6471. 1440 V
  6472. (11741)210 648 A
  6473. 1068(*)S
  6474. (|-------------+---------+---------+---------+---------+---------+---------|)3150 1152 A
  6475. 1530 V
  6476. (11742)210 648 A
  6477. 1068(*)S
  6478. 1152(|)S
  6479. (CANCEL)252 1236 A
  6480. (|minor)252 1740 A
  6481. (dev|)168 2034 A
  6482. (proc)168 2244 A
  6483. 2454(nr)S
  6484. 2580(|)S
  6485. 3000(|)S
  6486. 3420(|)S
  6487. 3840(|)S
  6488. 4260(|)S
  6489. 1620 V
  6490. (11743)210 648 A
  6491. 1068(*)S
  6492. (---------------------------------------------------------------------------)3150 1152 A
  6493. 1710 V
  6494. (11744)210 648 A
  6495. 1068(*/)S
  6496. 1800 V
  6497. (11745)210 648 A
  6498. 1890 V
  6499. (11746)210 648 A
  6500. (#include)336 1026 A
  6501. ("kernel.h")420 1404 A
  6502. 1980 V
  6503. (11747)210 648 A
  6504. (#include)336 1026 A
  6505. (<termios.h>)462 1404 A
  6506. 2070 V
  6507. (11748)210 648 A
  6508. (#include)336 1026 A
  6509. (<sys/ioctl.h>)546 1404 A
  6510. 2160 V
  6511. (11749)210 648 A
  6512. (#include)336 1026 A
  6513. (<signal.h>)420 1404 A
  6514. 2250 V
  6515. (11750)210 648 A
  6516. (#include)336 1026 A
  6517. (<minix/callnr.h>)672 1404 A
  6518. 2340 V
  6519. (11751)210 648 A
  6520. (#include)336 1026 A
  6521. (<minix/com.h>)546 1404 A
  6522. 2430 V
  6523. (11752)210 648 A
  6524. (#include)336 1026 A
  6525. (<minix/keymap.h>)672 1404 A
  6526. 2520 V
  6527. (11753)210 648 A
  6528. (#include)336 1026 A
  6529. ("tty.h")294 1404 A
  6530. 2610 V
  6531. (11754)210 648 A
  6532. (#include)336 1026 A
  6533. ("proc.h")336 1404 A
  6534. 2700 V
  6535. (11755)210 648 A
  6536. 2790 V
  6537. (11756)210 648 A
  6538. 1026(/*)S
  6539. (Address)294 1152 A
  6540. 1488(of)S
  6541. 1614(a)S
  6542. (tty)126 1698 A
  6543. (structure.)420 1866 A
  6544. 2328(*/)S
  6545. 2880 V
  6546. (11757)210 648 A
  6547. (#define)294 1026 A
  6548. (tty_addr(line))588 1362 A
  6549. ((&tty_table[line]))756 2034 A
  6550. 2970 V
  6551. (11758)210 648 A
  6552. 3060 V
  6553. (11759)210 648 A
  6554. 1026(/*)S
  6555. (First)210 1152 A
  6556. (minor)210 1404 A
  6557. (numbers)294 1656 A
  6558. (for)126 1992 A
  6559. (the)126 2160 A
  6560. (various)294 2328 A
  6561. (classes)294 2664 A
  6562. 3000(of)S
  6563. (TTY)126 3126 A
  6564. (devices.)336 3294 A
  6565. 3672(*/)S
  6566. 3150 V
  6567. (11760)210 648 A
  6568. (#define)294 1026 A
  6569. (CONS_MINOR)420 1362 A
  6570. 2118(0)S
  6571. 3240 V
  6572. (11761)210 648 A
  6573. (#define)294 1026 A
  6574. (LOG_MINOR)378 1362 A
  6575. 2076(15)S
  6576. 3330 V
  6577. (11762)210 648 A
  6578. (#define)294 1026 A
  6579. (RS232_MINOR)462 1362 A
  6580. 2076(16)S
  6581. 3420 V
  6582. (11763)210 648 A
  6583. (#define)294 1026 A
  6584. (TTYPX_MINOR)462 1362 A
  6585. (128)126 2034 A
  6586. 3510 V
  6587. (11764)210 648 A
  6588. (#define)294 1026 A
  6589. (PTYPX_MINOR)462 1362 A
  6590. (192)126 2034 A
  6591. 3600 V
  6592. (11765)210 648 A
  6593. 3690 V
  6594. (11766)210 648 A
  6595. 1026(/*)S
  6596. (Macros)252 1152 A
  6597. (for)126 1446 A
  6598. (magic)210 1614 A
  6599. (tty)126 1866 A
  6600. (types.)252 2034 A
  6601. 2328(*/)S
  6602. 3780 V
  6603. (11767)210 648 A
  6604. (#define)294 1026 A
  6605. (isconsole(tp))546 1362 A
  6606. (((tp))210 2034 A
  6607. 2286(<)S
  6608. (tty_addr(NR_CONS)))756 2370 A
  6609. 3870 V
  6610. (11768)210 648 A
  6611. 3960 V
  6612. (11769)210 648 A
  6613. 1026(/*)S
  6614. (Macros)252 1152 A
  6615. (for)126 1446 A
  6616. (magic)210 1614 A
  6617. (tty)126 1866 A
  6618. (structure)378 2034 A
  6619. (pointers.)378 2454 A
  6620. 2874(*/)S
  6621. 4050 V
  6622. (11770)210 648 A
  6623. (#define)294 1026 A
  6624. (FIRST_TTY)378 1362 A
  6625. (tty_addr(0))462 2034 A
  6626. 4140 V
  6627. (11771)210 648 A
  6628. (#define)294 1026 A
  6629. (END_TTY)294 1362 A
  6630. (tty_addr(sizeof(tty_table))1092 2034 A
  6631. 3168(/)S
  6632. (sizeof(tty_table[0])))882 3252 A
  6633. 4230 V
  6634. (11772)210 648 A
  6635. 4320 V
  6636. (11773)210 648 A
  6637. 1026(/*)S
  6638. 1152(A)S
  6639. (device)252 1236 A
  6640. (exists)252 1530 A
  6641. 1824(if)S
  6642. 1950(at)S
  6643. (least)210 2076 A
  6644. (its)126 2328 A
  6645. ('devread')378 2496 A
  6646. (function)336 2916 A
  6647. 3294(is)S
  6648. (defined.)336 3420 A
  6649. 3798(*/)S
  6650. 4410 V
  6651. (11774)210 648 A
  6652. (#define)294 1026 A
  6653. (tty_active(tp))588 1362 A
  6654. (((tp)->tty_devread)756 2034 A
  6655. 2832(!=)S
  6656. (NULL))210 2958 A
  6657. 4500 V
  6658. (11775)210 648 A
  6659. 4590 V
  6660. (11776)210 648 A
  6661. 1026(/*)S
  6662. (RS232)210 1152 A
  6663. (lines)210 1404 A
  6664. 1656(or)S
  6665. (pseudo)252 1782 A
  6666. (terminals)378 2076 A
  6667. (can)126 2496 A
  6668. 2664(be)S
  6669. (completely)420 2790 A
  6670. (configured)420 3252 A
  6671. (out.)168 3714 A
  6672. 3924(*/)S
  6673. 4680 V
  6674. (11777)210 648 A
  6675. (#if)126 1026 A
  6676. (NR_RS_LINES)462 1194 A
  6677. 1698(==)S
  6678. 1824(0)S
  6679. 4770 V
  6680. (11778)210 648 A
  6681. (#define)294 1026 A
  6682. (rs_init(tp))462 1362 A
  6683. (((void))294 2034 A
  6684. 2370(0))S
  6685. 4860 V
  6686. (11779)210 648 A
  6687. (#endif)252 1026 A
  6688. 4950 V
  6689. (11780)210 648 A
  6690. (#if)126 1026 A
  6691. (NR_PTYS)294 1194 A
  6692. 1530(==)S
  6693. 1656(0)S
  6694. 5040 V
  6695. (11781)210 648 A
  6696. (#define)294 1026 A
  6697. (pty_init(tp))504 1362 A
  6698. (((void))294 2034 A
  6699. 2370(0))S
  6700. 5130 V
  6701. (11782)210 648 A
  6702. (#define)294 1026 A
  6703. (do_pty(tp,)420 1362 A
  6704. (mp))126 1824 A
  6705. (((void))294 2034 A
  6706. 2370(0))S
  6707. 5220 V
  6708. (11783)210 648 A
  6709. (#endif)252 1026 A
  6710. 5310 V
  6711. (11784)210 648 A
  6712. 5400 V
  6713. (11785)210 648 A
  6714. (FORWARD)294 1026 A
  6715. (_PROTOTYPE()462 1362 A
  6716. (void)168 1866 A
  6717. (do_cancel,)420 2076 A
  6718. ((tty_t)252 2538 A
  6719. (*tp,)168 2832 A
  6720. (message)294 3042 A
  6721. (*m_ptr))294 3378 A
  6722. 4050();)S
  6723. 5490 V
  6724. (11786)210 648 A
  6725. (FORWARD)294 1026 A
  6726. (_PROTOTYPE()462 1362 A
  6727. (void)168 1866 A
  6728. (do_ioctl,)378 2076 A
  6729. ((tty_t)252 2496 A
  6730. (*tp,)168 2790 A
  6731. (message)294 3000 A
  6732. (*m_ptr))294 3336 A
  6733. 4050();)S
  6734. 5580 V
  6735. (11787)210 648 A
  6736. (FORWARD)294 1026 A
  6737. (_PROTOTYPE()462 1362 A
  6738. (void)168 1866 A
  6739. (do_open,)336 2076 A
  6740. ((tty_t)252 2454 A
  6741. (*tp,)168 2748 A
  6742. (message)294 2958 A
  6743. (*m_ptr))294 3294 A
  6744. 4050();)S
  6745. 5670 V
  6746. (11788)210 648 A
  6747. (FORWARD)294 1026 A
  6748. (_PROTOTYPE()462 1362 A
  6749. (void)168 1866 A
  6750. (do_close,)378 2076 A
  6751. ((tty_t)252 2496 A
  6752. (*tp,)168 2790 A
  6753. (message)294 3000 A
  6754. (*m_ptr))294 3336 A
  6755. 4050();)S
  6756. 5760 V
  6757. (11789)210 648 A
  6758. (FORWARD)294 1026 A
  6759. (_PROTOTYPE()462 1362 A
  6760. (void)168 1866 A
  6761. (do_read,)336 2076 A
  6762. ((tty_t)252 2454 A
  6763. (*tp,)168 2748 A
  6764. (message)294 2958 A
  6765. (*m_ptr))294 3294 A
  6766. 4050();)S
  6767. 5850 V
  6768. (11790)210 648 A
  6769. (FORWARD)294 1026 A
  6770. (_PROTOTYPE()462 1362 A
  6771. (void)168 1866 A
  6772. (do_write,)378 2076 A
  6773. ((tty_t)252 2496 A
  6774. (*tp,)168 2790 A
  6775. (message)294 3000 A
  6776. (*m_ptr))294 3336 A
  6777. 4050();)S
  6778. 5940 V
  6779. (11791)210 648 A
  6780. (FORWARD)294 1026 A
  6781. (_PROTOTYPE()462 1362 A
  6782. (void)168 1866 A
  6783. (in_transfer,)504 2076 A
  6784. ((tty_t)252 2622 A
  6785. (*tp))168 2916 A
  6786. 4050();)S
  6787. 6030 V
  6788. (11792)210 648 A
  6789. (FORWARD)294 1026 A
  6790. (_PROTOTYPE()462 1362 A
  6791. (int)126 1866 A
  6792. (echo,)210 2034 A
  6793. ((tty_t)252 2286 A
  6794. (*tp,)168 2580 A
  6795. (int)126 2790 A
  6796. (ch))126 2958 A
  6797. 4050();)S
  6798. 6120 V
  6799. (11793)210 648 A
  6800. (FORWARD)294 1026 A
  6801. (_PROTOTYPE()462 1362 A
  6802. (void)168 1866 A
  6803. (rawecho,)336 2076 A
  6804. ((tty_t)252 2454 A
  6805. (*tp,)168 2748 A
  6806. (int)126 2958 A
  6807. (ch))126 3126 A
  6808. 4050();)S
  6809. 6210 V
  6810. (11794)210 648 A
  6811. (FORWARD)294 1026 A
  6812. (_PROTOTYPE()462 1362 A
  6813. (int)126 1866 A
  6814. (back_over,)420 2034 A
  6815. ((tty_t)252 2496 A
  6816. (*tp))168 2790 A
  6817. 4050();)S
  6818. 8418 V
  6819. EP
  6820. %%Page: 157 157
  6821. BP
  6822. /slant 0 def
  6823. /height 0 def
  6824. 630 V
  6825. 10 R
  6826. 648(MINIX)S
  6827. 976(SOURCE)S
  6828. 1399(CODE)S
  6829. 11 R
  6830. 2089(File:)S
  6831. (src/kernel/tty.c)665 2322 A
  6832. 12 B
  6833. (157)180 4248 A
  6834. 900 V
  6835. 7 LST
  6836. (11795)210 648 A
  6837. (FORWARD)294 1026 A
  6838. (_PROTOTYPE()462 1362 A
  6839. (void)168 1866 A
  6840. (reprint,)336 2076 A
  6841. ((tty_t)252 2454 A
  6842. (*tp))168 2748 A
  6843. 4050();)S
  6844. 990 V
  6845. (11796)210 648 A
  6846. (FORWARD)294 1026 A
  6847. (_PROTOTYPE()462 1362 A
  6848. (void)168 1866 A
  6849. (dev_ioctl,)420 2076 A
  6850. ((tty_t)252 2538 A
  6851. (*tp))168 2832 A
  6852. 4050();)S
  6853. 1080 V
  6854. (11797)210 648 A
  6855. (FORWARD)294 1026 A
  6856. (_PROTOTYPE()462 1362 A
  6857. (void)168 1866 A
  6858. (setattr,)336 2076 A
  6859. ((tty_t)252 2454 A
  6860. (*tp))168 2748 A
  6861. 4050();)S
  6862. 1170 V
  6863. (11798)210 648 A
  6864. (FORWARD)294 1026 A
  6865. (_PROTOTYPE()462 1362 A
  6866. (void)168 1866 A
  6867. (tty_icancel,)504 2076 A
  6868. ((tty_t)252 2622 A
  6869. (*tp))168 2916 A
  6870. 4050();)S
  6871. 1260 V
  6872. (11799)210 648 A
  6873. (FORWARD)294 1026 A
  6874. (_PROTOTYPE()462 1362 A
  6875. (void)168 1866 A
  6876. (tty_init,)378 2076 A
  6877. ((tty_t)252 2496 A
  6878. (*tp))168 2790 A
  6879. 4050();)S
  6880. 1350 V
  6881. (11800)210 648 A
  6882. (FORWARD)294 1026 A
  6883. (_PROTOTYPE()462 1362 A
  6884. (void)168 1866 A
  6885. (settimer,)378 2076 A
  6886. ((tty_t)252 2496 A
  6887. (*tp,)168 2790 A
  6888. (int)126 3000 A
  6889. (on))126 3168 A
  6890. 4050();)S
  6891. 1440 V
  6892. (11801)210 648 A
  6893. 1530 V
  6894. (11802)210 648 A
  6895. 1026(/*)S
  6896. (Default)294 1152 A
  6897. (attributes.)462 1488 A
  6898. 1992(*/)S
  6899. 1620 V
  6900. (11803)210 648 A
  6901. (PRIVATE)294 1026 A
  6902. (struct)252 1362 A
  6903. (termios)294 1656 A
  6904. (termios_defaults)672 1992 A
  6905. 2706(=)S
  6906. 2790({)S
  6907. 1710 V
  6908. (11804)210 648 A
  6909. (TINPUT_DEF,)462 1110 A
  6910. (TOUTPUT_DEF,)504 1614 A
  6911. (TCTRL_DEF,)420 2160 A
  6912. (TLOCAL_DEF,)462 2622 A
  6913. (TSPEED_DEF,)462 3126 A
  6914. (TSPEED_DEF,)462 3630 A
  6915. 1800 V
  6916. (11805)210 648 A
  6917. 1110({)S
  6918. 1890 V
  6919. (11806)210 648 A
  6920. (TEOF_DEF,)378 1362 A
  6921. (TEOL_DEF,)378 1782 A
  6922. (TERASE_DEF,)462 2202 A
  6923. (TINTR_DEF,)420 2706 A
  6924. (TKILL_DEF,)420 3168 A
  6925. (TMIN_DEF,)378 3630 A
  6926. 1980 V
  6927. (11807)210 648 A
  6928. (TQUIT_DEF,)420 1362 A
  6929. (TTIME_DEF,)420 1824 A
  6930. (TSUSP_DEF,)420 2286 A
  6931. (TSTART_DEF,)462 2748 A
  6932. (TSTOP_DEF,)420 3252 A
  6933. 2070 V
  6934. (11808)210 648 A
  6935. (TREPRINT_DEF,)546 1362 A
  6936. (TLNEXT_DEF,)462 1950 A
  6937. (TDISCARD_DEF,)546 2454 A
  6938. 2160 V
  6939. (11809)210 648 A
  6940. 1110(},)S
  6941. 2250 V
  6942. (11810)210 648 A
  6943. 1026(};)S
  6944. 2340 V
  6945. (11811)210 648 A
  6946. (PRIVATE)294 1026 A
  6947. (struct)252 1362 A
  6948. (winsize)294 1656 A
  6949. (winsize_defaults;)714 1992 A
  6950. 3042(/*)S
  6951. 3168(=)S
  6952. (all)126 3252 A
  6953. (zeroes)252 3420 A
  6954. 3714(*/)S
  6955. 2430 V
  6956. (11812)210 648 A
  6957. 2520 V
  6958. (11813)210 648 A
  6959. 2610 V
  6960. (11814)210 648 A
  6961. (/*===========================================================================*)3276 1026 A
  6962. 2700 V
  6963. (11815)210 648 A
  6964. 1068(*)S
  6965. (tty_task)336 2370 A
  6966. 4260(*)S
  6967. 2790 V
  6968. (11816)210 648 A
  6969. (*===========================================================================*/)3276 1068 A
  6970. 2880 V
  6971. (11817)210 648 A
  6972. (PUBLIC)252 1026 A
  6973. (void)168 1320 A
  6974. (tty_task())420 1530 A
  6975. 2970 V
  6976. (11818)210 648 A
  6977. 1026({)S
  6978. 3060 V
  6979. (11819)210 648 A
  6980. 1026(/*)S
  6981. (Main)168 1152 A
  6982. (routine)294 1362 A
  6983. 1698(of)S
  6984. (the)126 1824 A
  6985. (terminal)336 1992 A
  6986. (task.)210 2370 A
  6987. 2622(*/)S
  6988. 3150 V
  6989. (11820)210 648 A
  6990. 3240 V
  6991. (11821)210 648 A
  6992. (message)294 1110 A
  6993. (tty_mess;)378 1446 A
  6994. 2370(/*)S
  6995. (buffer)252 2496 A
  6996. (for)126 2790 A
  6997. (all)126 2958 A
  6998. (incoming)336 3126 A
  6999. (messages)336 3504 A
  7000. 3882(*/)S
  7001. 3330 V
  7002. (11822)210 648 A
  7003. (register)336 1110 A
  7004. (tty_t)210 1488 A
  7005. (*tp;)168 1740 A
  7006. 3420 V
  7007. (11823)210 648 A
  7008. (unsigned)336 1110 A
  7009. (line;)210 1488 A
  7010. 3510 V
  7011. (11824)210 648 A
  7012. 3600 V
  7013. (11825)210 648 A
  7014. 1110(/*)S
  7015. (Initialize)420 1236 A
  7016. (the)126 1698 A
  7017. (terminal)336 1866 A
  7018. (lines.)252 2244 A
  7019. 2538(*/)S
  7020. 3690 V
  7021. (11826)210 648 A
  7022. (for)126 1110 A
  7023. ((tp)126 1278 A
  7024. 1446(=)S
  7025. (FIRST_TTY;)420 1530 A
  7026. 1992(tp)S
  7027. 2118(<)S
  7028. (END_TTY;)336 2202 A
  7029. (tp++))210 2580 A
  7030. (tty_init(tp);)546 2832 A
  7031. 3780 V
  7032. (11827)210 648 A
  7033. 3870 V
  7034. (11828)210 648 A
  7035. 1110(/*)S
  7036. (Display)294 1236 A
  7037. (the)126 1572 A
  7038. (Minix)210 1740 A
  7039. (startup)294 1992 A
  7040. (banner.)294 2328 A
  7041. 2664(*/)S
  7042. 3960 V
  7043. (11829)210 648 A
  7044. (printf("Minix)546 1110 A
  7045. (%s.%s)210 1698 A
  7046. (Copyright)378 1992 A
  7047. (1997)168 2412 A
  7048. (Prentice-Hall,)588 2622 A
  7049. (Inc.\n\n",)420 3252 A
  7050. 4050 V
  7051. (11830)210 648 A
  7052. (OS_RELEASE,)462 3042 A
  7053. (OS_VERSION);)504 3546 A
  7054. 4140 V
  7055. (11831)210 648 A
  7056. (printf("Executing)714 1110 A
  7057. 1866(in)S
  7058. (32-bit)252 1992 A
  7059. (protected)378 2286 A
  7060. (mode\n\n");)462 2706 A
  7061. 4230 V
  7062. (11832)210 648 A
  7063. 4320 V
  7064. (11833)210 648 A
  7065. (while)210 1110 A
  7066. ((TRUE))252 1362 A
  7067. 1656({)S
  7068. 4410 V
  7069. (11834)210 648 A
  7070. 1362(/*)S
  7071. (Handle)252 1488 A
  7072. (any)126 1782 A
  7073. (events)252 1950 A
  7074. 2244(on)S
  7075. (any)126 2370 A
  7076. 2538(of)S
  7077. (the)126 2664 A
  7078. (ttys.)210 2832 A
  7079. 3084(*/)S
  7080. 4500 V
  7081. (11835)210 648 A
  7082. (for)126 1362 A
  7083. ((tp)126 1530 A
  7084. 1698(=)S
  7085. (FIRST_TTY;)420 1782 A
  7086. 2244(tp)S
  7087. 2370(<)S
  7088. (END_TTY;)336 2454 A
  7089. (tp++))210 2832 A
  7090. 3084({)S
  7091. 4590 V
  7092. (11836)210 648 A
  7093. 1698(if)S
  7094. ((tp->tty_events))672 1824 A
  7095. (handle_events(tp);)756 2538 A
  7096. 4680 V
  7097. (11837)210 648 A
  7098. 1362(})S
  7099. 4770 V
  7100. (11838)210 648 A
  7101. 4860 V
  7102. (11839)210 648 A
  7103. (receive(ANY,)504 1362 A
  7104. (&tty_mess);)462 1908 A
  7105. 4950 V
  7106. (11840)210 648 A
  7107. 5040 V
  7108. (11841)210 648 A
  7109. 1362(/*)S
  7110. 1488(A)S
  7111. (hardware)336 1572 A
  7112. (interrupt)378 1950 A
  7113. 2370(is)S
  7114. 2496(an)S
  7115. (invitation)420 2622 A
  7116. 3084(to)S
  7117. (check)210 3210 A
  7118. (for)126 3462 A
  7119. (events.)294 3630 A
  7120. 3966(*/)S
  7121. 5130 V
  7122. (11842)210 648 A
  7123. 1362(if)S
  7124. ((tty_mess.m_type)672 1488 A
  7125. 2202(==)S
  7126. (HARD_INT))378 2328 A
  7127. (continue;)378 2748 A
  7128. 5220 V
  7129. (11843)210 648 A
  7130. 5310 V
  7131. (11844)210 648 A
  7132. 1362(/*)S
  7133. (Check)210 1488 A
  7134. (the)126 1740 A
  7135. (minor)210 1908 A
  7136. (device)252 2160 A
  7137. (number.)294 2454 A
  7138. 2790(*/)S
  7139. 5400 V
  7140. (11845)210 648 A
  7141. (line)168 1362 A
  7142. 1572(=)S
  7143. (tty_mess.TTY_LINE;)756 1656 A
  7144. 5490 V
  7145. (11846)210 648 A
  7146. 1362(if)S
  7147. (((line)252 1488 A
  7148. 1782(-)S
  7149. (CONS_MINOR))462 1866 A
  7150. 2370(<)S
  7151. (NR_CONS))336 2454 A
  7152. 2832({)S
  7153. 5580 V
  7154. (11847)210 648 A
  7155. 1698(tp)S
  7156. 1824(=)S
  7157. (tty_addr(line)546 1908 A
  7158. 2496(-)S
  7159. (CONS_MINOR);)504 2580 A
  7160. 5670 V
  7161. (11848)210 648 A
  7162. 1362(})S
  7163. (else)168 1446 A
  7164. 5760 V
  7165. (11849)210 648 A
  7166. 1362(if)S
  7167. ((line)210 1488 A
  7168. 1740(==)S
  7169. (LOG_MINOR))420 1866 A
  7170. 2328({)S
  7171. 5850 V
  7172. (11850)210 648 A
  7173. 1698(tp)S
  7174. 1824(=)S
  7175. (tty_addr(0);)504 1908 A
  7176. 5940 V
  7177. (11851)210 648 A
  7178. 1362(})S
  7179. (else)168 1446 A
  7180. 6030 V
  7181. (11852)210 648 A
  7182. 1362(if)S
  7183. (((line)252 1488 A
  7184. 1782(-)S
  7185. (RS232_MINOR))504 1866 A
  7186. 2412(<)S
  7187. (NR_RS_LINES))504 2496 A
  7188. 3042({)S
  7189. 6120 V
  7190. (11853)210 648 A
  7191. 1698(tp)S
  7192. 1824(=)S
  7193. (tty_addr(line)546 1908 A
  7194. 2496(-)S
  7195. (RS232_MINOR)462 2580 A
  7196. 3084(+)S
  7197. (NR_CONS);)378 3168 A
  7198. 6210 V
  7199. (11854)210 648 A
  7200. 1362(})S
  7201. (else)168 1446 A
  7202. 8418 V
  7203. EP
  7204. %%Page: 158 158
  7205. BP
  7206. /slant 0 def
  7207. /height 0 def
  7208. 630 V
  7209. 12 B
  7210. (158)180 648 A
  7211. 11 R
  7212. 2089(File:)S
  7213. (src/kernel/tty.c)665 2322 A
  7214. 10 R
  7215. 3402(MINIX)S
  7216. 3730(SOURCE)S
  7217. 4153(CODE)S
  7218. 900 V
  7219. 7 LST
  7220. (11855)210 648 A
  7221. 1362(if)S
  7222. (((line)252 1488 A
  7223. 1782(-)S
  7224. (TTYPX_MINOR))504 1866 A
  7225. 2412(<)S
  7226. (NR_PTYS))336 2496 A
  7227. 2874({)S
  7228. 990 V
  7229. (11856)210 648 A
  7230. 1698(tp)S
  7231. 1824(=)S
  7232. (tty_addr(line)546 1908 A
  7233. 2496(-)S
  7234. (TTYPX_MINOR)462 2580 A
  7235. 3084(+)S
  7236. (NR_CONS)294 3168 A
  7237. 3504(+)S
  7238. (NR_RS_LINES);)546 3588 A
  7239. 1080 V
  7240. (11857)210 648 A
  7241. 1362(})S
  7242. (else)168 1446 A
  7243. 1170 V
  7244. (11858)210 648 A
  7245. 1362(if)S
  7246. (((line)252 1488 A
  7247. 1782(-)S
  7248. (PTYPX_MINOR))504 1866 A
  7249. 2412(<)S
  7250. (NR_PTYS))336 2496 A
  7251. 2874({)S
  7252. 1260 V
  7253. (11859)210 648 A
  7254. 1698(tp)S
  7255. 1824(=)S
  7256. (tty_addr(line)546 1908 A
  7257. 2496(-)S
  7258. (PTYPX_MINOR)462 2580 A
  7259. 3084(+)S
  7260. (NR_CONS)294 3168 A
  7261. 3504(+)S
  7262. (NR_RS_LINES);)546 3588 A
  7263. 1350 V
  7264. (11860)210 648 A
  7265. (do_pty(tp,)420 1698 A
  7266. (&tty_mess);)462 2160 A
  7267. 1440 V
  7268. (11861)210 648 A
  7269. (continue;)378 1698 A
  7270. 3042(/*)S
  7271. (this)168 3168 A
  7272. 3378(is)S
  7273. 3504(a)S
  7274. (pty,)168 3588 A
  7275. (not)126 3798 A
  7276. 3966(a)S
  7277. (tty)126 4050 A
  7278. 4218(*/)S
  7279. 1530 V
  7280. (11862)210 648 A
  7281. 1362(})S
  7282. (else)168 1446 A
  7283. 1656({)S
  7284. 1620 V
  7285. (11863)210 648 A
  7286. 1698(tp)S
  7287. 1824(=)S
  7288. (NULL;)210 1908 A
  7289. 1710 V
  7290. (11864)210 648 A
  7291. 1362(})S
  7292. 1800 V
  7293. (11865)210 648 A
  7294. 1890 V
  7295. (11866)210 648 A
  7296. 1362(/*)S
  7297. 1488(If)S
  7298. (the)126 1614 A
  7299. (device)252 1782 A
  7300. (doesn't)294 2076 A
  7301. (exist)210 2412 A
  7302. 2664(or)S
  7303. 2790(is)S
  7304. (not)126 2916 A
  7305. (configured)420 3084 A
  7306. (return)252 3546 A
  7307. (ENXIO.)252 3840 A
  7308. 4134(*/)S
  7309. 1980 V
  7310. (11867)210 648 A
  7311. 1362(if)S
  7312. ((tp)126 1488 A
  7313. 1656(==)S
  7314. (NULL)168 1782 A
  7315. 1992(||)S
  7316. (!tty_active(tp)))672 2118 A
  7317. 2832({)S
  7318. 2070 V
  7319. (11868)210 648 A
  7320. (tty_reply(TASK_REPLY,)882 1698 A
  7321. (tty_mess.m_source,)756 2622 A
  7322. 2160 V
  7323. (11869)210 648 A
  7324. (tty_mess.PROC_NR,)714 3042 A
  7325. (ENXIO);)294 3798 A
  7326. 2250 V
  7327. (11870)210 648 A
  7328. (continue;)378 1698 A
  7329. 2340 V
  7330. (11871)210 648 A
  7331. 1362(})S
  7332. 2430 V
  7333. (11872)210 648 A
  7334. 2520 V
  7335. (11873)210 648 A
  7336. 1362(/*)S
  7337. (Execute)294 1488 A
  7338. (the)126 1824 A
  7339. (requested)378 1992 A
  7340. (function.)378 2412 A
  7341. 2832(*/)S
  7342. 2610 V
  7343. (11874)210 648 A
  7344. (switch)252 1362 A
  7345. ((tty_mess.m_type))714 1656 A
  7346. 2412({)S
  7347. 2700 V
  7348. (11875)210 648 A
  7349. (case)168 1530 A
  7350. (DEV_READ:)378 1740 A
  7351. (do_read(tp,)462 2370 A
  7352. (&tty_mess);)462 2874 A
  7353. (break;)252 3714 A
  7354. 2790 V
  7355. (11876)210 648 A
  7356. (case)168 1530 A
  7357. (DEV_WRITE:)420 1740 A
  7358. (do_write(tp,)504 2370 A
  7359. (&tty_mess);)462 2916 A
  7360. (break;)252 3714 A
  7361. 2880 V
  7362. (11877)210 648 A
  7363. (case)168 1530 A
  7364. (DEV_IOCTL:)420 1740 A
  7365. (do_ioctl(tp,)504 2370 A
  7366. (&tty_mess);)462 2916 A
  7367. (break;)252 3714 A
  7368. 2970 V
  7369. (11878)210 648 A
  7370. (case)168 1530 A
  7371. (DEV_OPEN:)378 1740 A
  7372. (do_open(tp,)462 2370 A
  7373. (&tty_mess);)462 2874 A
  7374. (break;)252 3714 A
  7375. 3060 V
  7376. (11879)210 648 A
  7377. (case)168 1530 A
  7378. (DEV_CLOSE:)420 1740 A
  7379. (do_close(tp,)504 2370 A
  7380. (&tty_mess);)462 2916 A
  7381. (break;)252 3714 A
  7382. 3150 V
  7383. (11880)210 648 A
  7384. (case)168 1530 A
  7385. (CANCEL:)294 1740 A
  7386. (do_cancel(tp,)546 2370 A
  7387. (&tty_mess);)462 2958 A
  7388. (break;)252 3714 A
  7389. 3240 V
  7390. (11881)210 648 A
  7391. (default:)336 1530 A
  7392. (tty_reply(TASK_REPLY,)882 2370 A
  7393. (tty_mess.m_source,)756 3294 A
  7394. 3330 V
  7395. (11882)210 648 A
  7396. (tty_mess.PROC_NR,)714 3042 A
  7397. (EINVAL);)336 3798 A
  7398. 3420 V
  7399. (11883)210 648 A
  7400. 1362(})S
  7401. 3510 V
  7402. (11884)210 648 A
  7403. 1110(})S
  7404. 3600 V
  7405. (11885)210 648 A
  7406. 1026(})S
  7407. 3870 V
  7408. (11888)210 648 A
  7409. (/*===========================================================================*)3276 1026 A
  7410. 3960 V
  7411. (11889)210 648 A
  7412. 1068(*)S
  7413. (do_read)294 2370 A
  7414. 4260(*)S
  7415. 4050 V
  7416. (11890)210 648 A
  7417. (*===========================================================================*/)3276 1068 A
  7418. 4140 V
  7419. (11891)210 648 A
  7420. (PRIVATE)294 1026 A
  7421. (void)168 1362 A
  7422. (do_read(tp,)462 1572 A
  7423. (m_ptr))252 2076 A
  7424. 4230 V
  7425. (11892)210 648 A
  7426. (register)336 1026 A
  7427. (tty_t)210 1404 A
  7428. (*tp;)168 1656 A
  7429. 2370(/*)S
  7430. (pointer)294 2496 A
  7431. 2832(to)S
  7432. (tty)126 2958 A
  7433. (struct)252 3126 A
  7434. 3420(*/)S
  7435. 4320 V
  7436. (11893)210 648 A
  7437. (message)294 1026 A
  7438. (*m_ptr;)294 1362 A
  7439. 2370(/*)S
  7440. (pointer)294 2496 A
  7441. 2832(to)S
  7442. (message)294 2958 A
  7443. (sent)168 3294 A
  7444. 3504(to)S
  7445. (the)126 3630 A
  7446. (task)168 3798 A
  7447. 4008(*/)S
  7448. 4410 V
  7449. (11894)210 648 A
  7450. 1026({)S
  7451. 4500 V
  7452. (11895)210 648 A
  7453. 1026(/*)S
  7454. 1152(A)S
  7455. (process)294 1236 A
  7456. (wants)210 1572 A
  7457. 1824(to)S
  7458. (read)168 1950 A
  7459. (from)168 2160 A
  7460. 2370(a)S
  7461. (terminal.)378 2454 A
  7462. 2874(*/)S
  7463. 4590 V
  7464. (11896)210 648 A
  7465. (int)126 1110 A
  7466. 1278(r;)S
  7467. 4680 V
  7468. (11897)210 648 A
  7469. 4770 V
  7470. (11898)210 648 A
  7471. 1110(/*)S
  7472. (Check)210 1236 A
  7473. 1488(if)S
  7474. (there)210 1614 A
  7475. 1866(is)S
  7476. (already)294 1992 A
  7477. 2328(a)S
  7478. (process)294 2412 A
  7479. (hanging)294 2748 A
  7480. 3084(in)S
  7481. 3210(a)S
  7482. (read,)210 3294 A
  7483. (check)210 3546 A
  7484. 3798(if)S
  7485. (the)126 3924 A
  7486. 4860 V
  7487. (11899)210 648 A
  7488. 1152(*)S
  7489. (parameters)420 1236 A
  7490. (are)126 1698 A
  7491. (correct,)336 1866 A
  7492. 2244(do)S
  7493. (I/O.)168 2370 A
  7494. 4950 V
  7495. (11900)210 648 A
  7496. 1152(*/)S
  7497. 5040 V
  7498. (11901)210 648 A
  7499. 1110(if)S
  7500. ((tp->tty_inleft)630 1236 A
  7501. 1908(>)S
  7502. 1992(0))S
  7503. 2118({)S
  7504. 5130 V
  7505. (11902)210 648 A
  7506. 1362(r)S
  7507. 1446(=)S
  7508. (EIO;)168 1530 A
  7509. 5220 V
  7510. (11903)210 648 A
  7511. 1110(})S
  7512. (else)168 1194 A
  7513. 5310 V
  7514. (11904)210 648 A
  7515. 1110(if)S
  7516. ((m_ptr->COUNT)546 1236 A
  7517. 1824(<=)S
  7518. 1950(0))S
  7519. 2076({)S
  7520. 5400 V
  7521. (11905)210 648 A
  7522. 1362(r)S
  7523. 1446(=)S
  7524. (EINVAL;)294 1530 A
  7525. 5490 V
  7526. (11906)210 648 A
  7527. 1110(})S
  7528. (else)168 1194 A
  7529. 5580 V
  7530. (11907)210 648 A
  7531. 1110(if)S
  7532. ((numap(m_ptr->PROC_NR,)924 1236 A
  7533. ((vir_bytes))462 2202 A
  7534. (m_ptr->ADDRESS,)630 2706 A
  7535. (m_ptr->COUNT))546 3378 A
  7536. 3966(==)S
  7537. 4092(0))S
  7538. 4218({)S
  7539. 5670 V
  7540. (11908)210 648 A
  7541. 1362(r)S
  7542. 1446(=)S
  7543. (EFAULT;)294 1530 A
  7544. 5760 V
  7545. (11909)210 648 A
  7546. 1110(})S
  7547. (else)168 1194 A
  7548. 1404({)S
  7549. 5850 V
  7550. (11910)210 648 A
  7551. 1362(/*)S
  7552. (Copy)168 1488 A
  7553. (information)462 1698 A
  7554. (from)168 2202 A
  7555. (the)126 2412 A
  7556. (message)294 2580 A
  7557. 2916(to)S
  7558. (the)126 3042 A
  7559. (tty)126 3210 A
  7560. (struct.)294 3378 A
  7561. 3714(*/)S
  7562. 5940 V
  7563. (11911)210 648 A
  7564. (tp->tty_inrepcode)714 1362 A
  7565. 2118(=)S
  7566. (TASK_REPLY;)462 2202 A
  7567. 6030 V
  7568. (11912)210 648 A
  7569. (tp->tty_incaller)672 1362 A
  7570. 2076(=)S
  7571. (m_ptr->m_source;)672 2160 A
  7572. 6120 V
  7573. (11913)210 648 A
  7574. (tp->tty_inproc)588 1362 A
  7575. 1992(=)S
  7576. (m_ptr->PROC_NR;)630 2076 A
  7577. 6210 V
  7578. (11914)210 648 A
  7579. (tp->tty_in_vir)588 1362 A
  7580. 1992(=)S
  7581. ((vir_bytes))462 2076 A
  7582. (m_ptr->ADDRESS;)630 2580 A
  7583. 8418 V
  7584. EP
  7585. %%Page: 159 159
  7586. BP
  7587. /slant 0 def
  7588. /height 0 def
  7589. 630 V
  7590. 10 R
  7591. 648(MINIX)S
  7592. 976(SOURCE)S
  7593. 1399(CODE)S
  7594. 11 R
  7595. 2089(File:)S
  7596. (src/kernel/tty.c)665 2322 A
  7597. 12 B
  7598. (159)180 4248 A
  7599. 900 V
  7600. 7 LST
  7601. (11915)210 648 A
  7602. (tp->tty_inleft)588 1362 A
  7603. 1992(=)S
  7604. (m_ptr->COUNT;)546 2076 A
  7605. 990 V
  7606. (11916)210 648 A
  7607. 1080 V
  7608. (11917)210 648 A
  7609. 1362(if)S
  7610. ((!(tp->tty_termios.c_lflag)1092 1488 A
  7611. 2622(&)S
  7612. (ICANON))294 2706 A
  7613. 1170 V
  7614. (11918)210 648 A
  7615. 2706(&&)S
  7616. (tp->tty_termios.c_cc[VTIME])1134 2832 A
  7617. 4008(>)S
  7618. 4092(0))S
  7619. 4218({)S
  7620. 1260 V
  7621. (11919)210 648 A
  7622. 1698(if)S
  7623. ((tp->tty_termios.c_cc[VMIN])1134 1824 A
  7624. 3000(==)S
  7625. 3126(0))S
  7626. 3252({)S
  7627. 1350 V
  7628. (11920)210 648 A
  7629. 2034(/*)S
  7630. (MIN)126 2160 A
  7631. 2328(&)S
  7632. (TIME)168 2412 A
  7633. (specify)294 2622 A
  7634. 2958(a)S
  7635. (read)168 3042 A
  7636. (timer)210 3252 A
  7637. (that)168 3504 A
  7638. (finishes)336 3714 A
  7639. (the)126 4092 A
  7640. 1440 V
  7641. (11921)210 648 A
  7642. 2076(*)S
  7643. (read)168 2160 A
  7644. 2370(in)S
  7645. (TIME/10)294 2496 A
  7646. (seconds)294 2832 A
  7647. 3168(if)S
  7648. 3294(no)S
  7649. (bytes)210 3420 A
  7650. (are)126 3672 A
  7651. (available.)420 3840 A
  7652. 1530 V
  7653. (11922)210 648 A
  7654. 2076(*/)S
  7655. 1620 V
  7656. (11923)210 648 A
  7657. (lock();)294 2034 A
  7658. 1710 V
  7659. (11924)210 648 A
  7660. (settimer(tp,)504 2034 A
  7661. (TRUE);)252 2580 A
  7662. 1800 V
  7663. (11925)210 648 A
  7664. (tp->tty_min)462 2034 A
  7665. 2538(=)S
  7666. 2622(1;)S
  7667. 1890 V
  7668. (11926)210 648 A
  7669. (unlock();)378 2034 A
  7670. 1980 V
  7671. (11927)210 648 A
  7672. 1698(})S
  7673. (else)168 1782 A
  7674. 1992({)S
  7675. 2070 V
  7676. (11928)210 648 A
  7677. 2034(/*)S
  7678. (MIN)126 2160 A
  7679. 2328(&)S
  7680. (TIME)168 2412 A
  7681. (specify)294 2622 A
  7682. 2958(an)S
  7683. (inter-byte)420 3084 A
  7684. (timer)210 3546 A
  7685. (that)168 3798 A
  7686. (may)126 4008 A
  7687. 2160 V
  7688. (11929)210 648 A
  7689. 2076(*)S
  7690. (have)168 2160 A
  7691. 2370(to)S
  7692. 2496(be)S
  7693. (cancelled)378 2622 A
  7694. 3042(if)S
  7695. (there)210 3168 A
  7696. (are)126 3420 A
  7697. 3588(no)S
  7698. (bytes)210 3714 A
  7699. (yet.)168 3966 A
  7700. 2250 V
  7701. (11930)210 648 A
  7702. 2076(*/)S
  7703. 2340 V
  7704. (11931)210 648 A
  7705. 2034(if)S
  7706. ((tp->tty_eotct)588 2160 A
  7707. 2790(==)S
  7708. 2916(0))S
  7709. 3042({)S
  7710. 2430 V
  7711. (11932)210 648 A
  7712. (lock();)294 2370 A
  7713. 2520 V
  7714. (11933)210 648 A
  7715. (settimer(tp,)504 2370 A
  7716. (FALSE);)294 2916 A
  7717. 2610 V
  7718. (11934)210 648 A
  7719. (unlock();)378 2370 A
  7720. 2700 V
  7721. (11935)210 648 A
  7722. (tp->tty_min)462 2370 A
  7723. 2874(=)S
  7724. (tp->tty_termios.c_cc[VMIN];)1134 2958 A
  7725. 2790 V
  7726. (11936)210 648 A
  7727. 2034(})S
  7728. 2880 V
  7729. (11937)210 648 A
  7730. 1698(})S
  7731. 2970 V
  7732. (11938)210 648 A
  7733. 1362(})S
  7734. 3060 V
  7735. (11939)210 648 A
  7736. 3150 V
  7737. (11940)210 648 A
  7738. 1362(/*)S
  7739. (Anything)336 1488 A
  7740. (waiting)294 1866 A
  7741. 2202(in)S
  7742. (the)126 2328 A
  7743. (input)210 2496 A
  7744. (buffer?)294 2748 A
  7745. (Clear)210 3084 A
  7746. 3336(it)S
  7747. (out...)252 3462 A
  7748. 3756(*/)S
  7749. 3240 V
  7750. (11941)210 648 A
  7751. (in_transfer(tp);)672 1362 A
  7752. 3330 V
  7753. (11942)210 648 A
  7754. 1362(/*)S
  7755. (...then)294 1488 A
  7756. 1824(go)S
  7757. (back)168 1950 A
  7758. (for)126 2160 A
  7759. (more)168 2328 A
  7760. 2538(*/)S
  7761. 3420 V
  7762. (11943)210 648 A
  7763. (handle_events(tp);)756 1362 A
  7764. 3510 V
  7765. (11944)210 648 A
  7766. 1362(if)S
  7767. ((tp->tty_inleft)630 1488 A
  7768. 2160(==)S
  7769. 2286(0))S
  7770. (return;)294 2412 A
  7771. 3378(/*)S
  7772. (already)294 3504 A
  7773. (done)168 3840 A
  7774. 4050(*/)S
  7775. 3600 V
  7776. (11945)210 648 A
  7777. 3690 V
  7778. (11946)210 648 A
  7779. 1362(/*)S
  7780. (There)210 1488 A
  7781. (were)168 1740 A
  7782. 1950(no)S
  7783. (bytes)210 2076 A
  7784. 2328(in)S
  7785. (the)126 2454 A
  7786. (input)210 2622 A
  7787. (queue)210 2874 A
  7788. (available,)420 3126 A
  7789. 3588(so)S
  7790. (either)252 3714 A
  7791. (suspend)294 4008 A
  7792. 3780 V
  7793. (11947)210 648 A
  7794. 1404(*)S
  7795. (the)126 1488 A
  7796. (caller)252 1656 A
  7797. 1950(or)S
  7798. (break)210 2076 A
  7799. (off)126 2328 A
  7800. (the)126 2496 A
  7801. (read)168 2664 A
  7802. 2874(if)S
  7803. (nonblocking.)504 3000 A
  7804. 3870 V
  7805. (11948)210 648 A
  7806. 1404(*/)S
  7807. 3960 V
  7808. (11949)210 648 A
  7809. 1362(if)S
  7810. ((m_ptr->TTY_FLAGS)714 1488 A
  7811. 2244(&)S
  7812. (O_NONBLOCK))462 2328 A
  7813. 2832({)S
  7814. 4050 V
  7815. (11950)210 648 A
  7816. 1698(r)S
  7817. 1782(=)S
  7818. (EAGAIN;)294 1866 A
  7819. 3378(/*)S
  7820. (cancel)252 3504 A
  7821. (the)126 3798 A
  7822. (read)168 3966 A
  7823. 4176(*/)S
  7824. 4140 V
  7825. (11951)210 648 A
  7826. (tp->tty_inleft)588 1698 A
  7827. 2328(=)S
  7828. (tp->tty_incum)546 2412 A
  7829. 3000(=)S
  7830. 3084(0;)S
  7831. 4230 V
  7832. (11952)210 648 A
  7833. 1362(})S
  7834. (else)168 1446 A
  7835. 1656({)S
  7836. 4320 V
  7837. (11953)210 648 A
  7838. 1698(r)S
  7839. 1782(=)S
  7840. (SUSPEND;)336 1866 A
  7841. 3378(/*)S
  7842. (suspend)294 3504 A
  7843. (the)126 3840 A
  7844. (caller)252 4008 A
  7845. 4302(*/)S
  7846. 4410 V
  7847. (11954)210 648 A
  7848. (tp->tty_inrepcode)714 1698 A
  7849. 2454(=)S
  7850. (REVIVE;)294 2538 A
  7851. 4500 V
  7852. (11955)210 648 A
  7853. 1362(})S
  7854. 4590 V
  7855. (11956)210 648 A
  7856. 1110(})S
  7857. 4680 V
  7858. (11957)210 648 A
  7859. (tty_reply(TASK_REPLY,)882 1110 A
  7860. (m_ptr->m_source,)672 2034 A
  7861. (m_ptr->PROC_NR,)630 2748 A
  7862. (r);)126 3420 A
  7863. 4770 V
  7864. (11958)210 648 A
  7865. 1026(})S
  7866. 5040 V
  7867. (11961)210 648 A
  7868. (/*===========================================================================*)3276 1026 A
  7869. 5130 V
  7870. (11962)210 648 A
  7871. 1068(*)S
  7872. (do_write)336 2370 A
  7873. 4260(*)S
  7874. 5220 V
  7875. (11963)210 648 A
  7876. (*===========================================================================*/)3276 1068 A
  7877. 5310 V
  7878. (11964)210 648 A
  7879. (PRIVATE)294 1026 A
  7880. (void)168 1362 A
  7881. (do_write(tp,)504 1572 A
  7882. (m_ptr))252 2118 A
  7883. 5400 V
  7884. (11965)210 648 A
  7885. (register)336 1026 A
  7886. (tty_t)210 1404 A
  7887. (*tp;)168 1656 A
  7888. 5490 V
  7889. (11966)210 648 A
  7890. (register)336 1026 A
  7891. (message)294 1404 A
  7892. (*m_ptr;)294 1740 A
  7893. 2370(/*)S
  7894. (pointer)294 2496 A
  7895. 2832(to)S
  7896. (message)294 2958 A
  7897. (sent)168 3294 A
  7898. 3504(to)S
  7899. (the)126 3630 A
  7900. (task)168 3798 A
  7901. 4008(*/)S
  7902. 5580 V
  7903. (11967)210 648 A
  7904. 1026({)S
  7905. 5670 V
  7906. (11968)210 648 A
  7907. 1026(/*)S
  7908. 1152(A)S
  7909. (process)294 1236 A
  7910. (wants)210 1572 A
  7911. 1824(to)S
  7912. (write)210 1950 A
  7913. 2202(on)S
  7914. 2328(a)S
  7915. (terminal.)378 2412 A
  7916. 2832(*/)S
  7917. 5760 V
  7918. (11969)210 648 A
  7919. (int)126 1110 A
  7920. 1278(r;)S
  7921. 5850 V
  7922. (11970)210 648 A
  7923. 5940 V
  7924. (11971)210 648 A
  7925. 1110(/*)S
  7926. (Check)210 1236 A
  7927. 1488(if)S
  7928. (there)210 1614 A
  7929. 1866(is)S
  7930. (already)294 1992 A
  7931. 2328(a)S
  7932. (process)294 2412 A
  7933. (hanging)294 2748 A
  7934. 3084(in)S
  7935. 3210(a)S
  7936. (write,)252 3294 A
  7937. (check)210 3588 A
  7938. 3840(if)S
  7939. (the)126 3966 A
  7940. 6030 V
  7941. (11972)210 648 A
  7942. 1152(*)S
  7943. (parameters)420 1236 A
  7944. (are)126 1698 A
  7945. (correct,)336 1866 A
  7946. 2244(do)S
  7947. (I/O.)168 2370 A
  7948. 6120 V
  7949. (11973)210 648 A
  7950. 1152(*/)S
  7951. 6210 V
  7952. (11974)210 648 A
  7953. 1110(if)S
  7954. ((tp->tty_outleft)672 1236 A
  7955. 1950(>)S
  7956. 2034(0))S
  7957. 2160({)S
  7958. 8418 V
  7959. EP
  7960. %%Page: 160 160
  7961. BP
  7962. /slant 0 def
  7963. /height 0 def
  7964. 630 V
  7965. 12 B
  7966. (160)180 648 A
  7967. 11 R
  7968. 2089(File:)S
  7969. (src/kernel/tty.c)665 2322 A
  7970. 10 R
  7971. 3402(MINIX)S
  7972. 3730(SOURCE)S
  7973. 4153(CODE)S
  7974. 900 V
  7975. 7 LST
  7976. (11975)210 648 A
  7977. 1362(r)S
  7978. 1446(=)S
  7979. (EIO;)168 1530 A
  7980. 990 V
  7981. (11976)210 648 A
  7982. 1110(})S
  7983. (else)168 1194 A
  7984. 1080 V
  7985. (11977)210 648 A
  7986. 1110(if)S
  7987. ((m_ptr->COUNT)546 1236 A
  7988. 1824(<=)S
  7989. 1950(0))S
  7990. 2076({)S
  7991. 1170 V
  7992. (11978)210 648 A
  7993. 1362(r)S
  7994. 1446(=)S
  7995. (EINVAL;)294 1530 A
  7996. 1260 V
  7997. (11979)210 648 A
  7998. 1110(})S
  7999. (else)168 1194 A
  8000. 1350 V
  8001. (11980)210 648 A
  8002. 1110(if)S
  8003. ((numap(m_ptr->PROC_NR,)924 1236 A
  8004. ((vir_bytes))462 2202 A
  8005. (m_ptr->ADDRESS,)630 2706 A
  8006. (m_ptr->COUNT))546 3378 A
  8007. 3966(==)S
  8008. 4092(0))S
  8009. 4218({)S
  8010. 1440 V
  8011. (11981)210 648 A
  8012. 1362(r)S
  8013. 1446(=)S
  8014. (EFAULT;)294 1530 A
  8015. 1530 V
  8016. (11982)210 648 A
  8017. 1110(})S
  8018. (else)168 1194 A
  8019. 1404({)S
  8020. 1620 V
  8021. (11983)210 648 A
  8022. 1362(/*)S
  8023. (Copy)168 1488 A
  8024. (message)294 1698 A
  8025. (parameters)420 2034 A
  8026. 2496(to)S
  8027. (the)126 2622 A
  8028. (tty)126 2790 A
  8029. (structure.)420 2958 A
  8030. 3420(*/)S
  8031. 1710 V
  8032. (11984)210 648 A
  8033. (tp->tty_outrepcode)756 1362 A
  8034. 2160(=)S
  8035. (TASK_REPLY;)462 2244 A
  8036. 1800 V
  8037. (11985)210 648 A
  8038. (tp->tty_outcaller)714 1362 A
  8039. 2118(=)S
  8040. (m_ptr->m_source;)672 2202 A
  8041. 1890 V
  8042. (11986)210 648 A
  8043. (tp->tty_outproc)630 1362 A
  8044. 2034(=)S
  8045. (m_ptr->PROC_NR;)630 2118 A
  8046. 1980 V
  8047. (11987)210 648 A
  8048. (tp->tty_out_vir)630 1362 A
  8049. 2034(=)S
  8050. ((vir_bytes))462 2118 A
  8051. (m_ptr->ADDRESS;)630 2622 A
  8052. 2070 V
  8053. (11988)210 648 A
  8054. (tp->tty_outleft)630 1362 A
  8055. 2034(=)S
  8056. (m_ptr->COUNT;)546 2118 A
  8057. 2160 V
  8058. (11989)210 648 A
  8059. 2250 V
  8060. (11990)210 648 A
  8061. 1362(/*)S
  8062. (Try)126 1488 A
  8063. 1656(to)S
  8064. (write.)252 1782 A
  8065. 2076(*/)S
  8066. 2340 V
  8067. (11991)210 648 A
  8068. (handle_events(tp);)756 1362 A
  8069. 2430 V
  8070. (11992)210 648 A
  8071. 1362(if)S
  8072. ((tp->tty_outleft)672 1488 A
  8073. 2202(==)S
  8074. 2328(0))S
  8075. (return;)294 2454 A
  8076. 3378(/*)S