dos.xml 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418
  1. <?xml version="1.0" encoding="ISO8859-1"?>
  2. <fpdoc-descriptions>
  3. <!--
  4. $Id$
  5. This file is part of the FPC documentation.
  6. Copyright (C) 1997, by Michael Van Canneyt
  7. The FPC documentation is free text; you can redistribute it and/or
  8. modify it under the terms of the GNU Library General Public License as
  9. published by the Free Software Foundation; either version 2 of the
  10. License, or (at your option) any later version.
  11. The FPC Documentation is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. Library General Public License for more details.
  15. You should have received a copy of the GNU Library General Public
  16. License along with the FPC documentation; see the file COPYING.LIB. If not,
  17. write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  18. Boston, MA 02111-1307, USA.
  19. -->
  20. <package name="rtl">
  21. <module name="DOS">
  22. <short>DOS - Turbo Pascal MS-DOS interface</short>
  23. <!-- \FPCexampledir{dosex} -->
  24. <descr>
  25. <p>
  26. The <file>DOS</file> unit gives access to some operating system calls
  27. related to files, the file system, date and time. Except for the
  28. PalmOS target, this unit is available to all supported platforms.
  29. </p>
  30. <p>
  31. The unit was first written for dos by Florian Klaempfl. It was ported to
  32. linux by Mark May and enhanced by Michael Van Canneyt.
  33. The Amiga version was ported by Nils Sjoholm.
  34. </p>
  35. <p>
  36. Under non-DOS systems, some of the functionality is lost, as it is either impossible
  37. or meaningless to implement it. Other than that, the functionality for all
  38. operating systems is the same.
  39. </p>
  40. </descr>
  41. <topic name="fileattributes">
  42. <short>File attributes</short>
  43. <descr>
  44. <p>
  45. The File Attribute constants are used in <link id="FindFirst"/>,
  46. <link id="FindNext"/> to
  47. determine what type of special file to search for in addition to normal files.
  48. These flags are also used in the <link id="SetFAttr"/> and <link id="GetFAttr"/> routines to
  49. set and retrieve attributes of files. For their definitions consult
  50. <link id="fileattributes"/>.
  51. </p>
  52. <table>
  53. <caption>Possible file attributes</caption>
  54. <th><td>Constant</td><td>Description</td><td>Value</td></th>
  55. <tr><td><var>readonly</var></td><td><printshort id="readonly"/></td><td> $01</td></tr>
  56. <tr><td><var>hidden</var> </td><td> <printshort id="hidden"/> </td><td> $02 </td></tr>
  57. <tr><td><var>sysfile</var> </td><td> <printshort id="sysfile"/> </td><td> $04</td></tr>
  58. <tr><td><var>volumeid</var> </td><td> <printshort id="volumeid"/> </td><td> $08</td></tr>
  59. <tr><td><var>directory</var> </td><td> <printshort id="directory"/> </td><td> $10</td></tr>
  60. <tr><td><var>archive</var> </td><td> <printshort id="archive"/> </td><td> $20</td></tr>
  61. <tr><td><var>anyfile</var> </td><td> <printshort id="anyfile"/> </td><td> $3F</td></tr>
  62. </table>
  63. </descr>
  64. </topic>
  65. <topic name="filemodes">
  66. <short>File open mode constants.</short>
  67. <descr>
  68. <p>
  69. These constants are used in the <var>Mode</var> field of the <var>TextRec</var>
  70. record. Gives information on the filemode of the text I/O. For their
  71. definitions consult the following table:
  72. </p>
  73. <table>
  74. <caption>Possible mode constants</caption>
  75. <th><td>Constant</td><td>Description</td><td>Value</td></th>
  76. <tr><td><var>fmclosed</var></td><td><printshort id="fmclosed"/></td><td>$D7B0</td></tr>
  77. <tr><td><var>fminput</var></td><td><printshort id="fminput"/></td><td>$D7B1 </td></tr>
  78. <tr><td><var>fmoutput</var></td><td><printshort id="fmoutput"/></td><td>$D7B2</td></tr>
  79. <tr><td><var>fminout</var></td><td><printshort id="fminout"/></td><td>$D7B3</td></tr>
  80. </table>
  81. </descr>
  82. </topic>
  83. <topic name="filehandling">
  84. <short>File handling</short>
  85. <descr>
  86. <p>
  87. Routines to handle files on disk.
  88. </p>
  89. <table>
  90. <th><td>Name</td><td>Description</td></th>
  91. <tr><td><link id="FExpand"/></td><td>Expand filename to full path</td></tr>
  92. <tr><td><link id="FindClose"/></td><td>Close finfirst/findnext session</td></tr>
  93. <tr><td><link id="FindFirst"/></td><td>Start find of file</td></tr>
  94. <tr><td><link id="FindNext"/></td><td>Find next file</td></tr>
  95. <tr><td><link id="FSearch"/></td><td>Search for file in a path</td></tr>
  96. <tr><td><link id="FSplit"/></td><td>Split filename in parts</td></tr>
  97. <tr><td><link id="GetFAttr"/></td><td>Return file attributes</td></tr>
  98. <tr><td><link id="GetFTime"/></td><td>Return file time</td></tr>
  99. <tr><td><link id="GetLongName"/></td><td>Convert short filename to long filename (DOS only)</td></tr>
  100. <tr><td><link id="GetShortName"/></td><td>Convert long filename to short filename (DOS only)</td></tr>
  101. <tr><td><link id="SetFAttr"/></td><td>Set file attributes</td></tr>
  102. <tr><td><link id="SetFTime"/></td><td>Set file time</td></tr>
  103. </table>
  104. </descr>
  105. </topic>
  106. <topic name="diskhandling">
  107. <short>Directory and disk handling</short>
  108. <descr>
  109. <p>
  110. Routines to handle disk information.
  111. </p>
  112. <table>
  113. <th><td>Name</td><td>Description</td></th>
  114. <tr><td><link id="AddDisk"/></td><td>Add disk to list of disks (UNIX only)</td></tr>
  115. <tr><td><link id="DiskFree"/></td><td>Return size of free disk space</td></tr>
  116. <tr><td><link id="DiskSize"/></td><td>Return total disk size</td></tr>
  117. </table>
  118. </descr>
  119. </topic>
  120. <topic name="process">
  121. <short>Process handling</short>
  122. <descr>
  123. <p>
  124. Functions to handle process information and starting new processes.
  125. </p>
  126. <table>
  127. <th><td>Name</td><td>Description</td></th>
  128. <tr><td><link id="DosExitCode"/></td><td>Exit code of last executed program</td></tr>
  129. <tr><td><link id="EnvCount"/></td><td>Return number of environment variables</td></tr>
  130. <tr><td><link id="EnvStr"/></td><td>Return environment string pair</td></tr>
  131. <tr><td><link id="Exec"/></td><td>Execute program</td></tr>
  132. <tr><td><link id="GetEnv"/></td><td>Return specified environment string</td></tr>
  133. </table>
  134. </descr>
  135. </topic>
  136. <topic name="sysinfo">
  137. <short>System information</short>
  138. <descr>
  139. <p>
  140. Functions for retrieving and setting general system information such as date
  141. and time.
  142. </p>
  143. <table>
  144. <th><td>Name</td><td>Description</td></th>
  145. <tr><td><link id="DosVersion"/></td><td>Get OS version</td></tr>
  146. <tr><td><link id="GetCBreak"/></td><td>Get setting of control-break handling flag</td></tr>
  147. <tr><td><link id="GetDate"/></td><td>Get system date</td></tr>
  148. <tr><td><link id="GetIntVec"/></td><td>Get interrupt vector status</td></tr>
  149. <tr><td><link id="GetTime"/></td><td>Get system time</td></tr>
  150. <tr><td><link id="GetVerify"/></td><td>Get verify flag</td></tr>
  151. <tr><td><link id="Intr"/></td><td>Execute an interrupt</td></tr>
  152. <tr><td><link id="Keep"/></td><td>Keep process in memory and exit</td></tr>
  153. <tr><td><link id="MSDos"/></td><td>Execute MS-dos function call</td></tr>
  154. <tr><td><link id="PackTime"/></td><td>Pack time for file time</td></tr>
  155. <tr><td><link id="SetCBreak"/></td><td>Set control-break handling flag</td></tr>
  156. <tr><td><link id="SetDate"/></td><td>Set system date</td></tr>
  157. <tr><td><link id="SetIntVec"/></td><td>Set interrupt vectors</td></tr>
  158. <tr><td><link id="SetTime"/></td><td>Set system time</td></tr>
  159. <tr><td><link id="SetVerify"/></td><td>Set verify flag</td></tr>
  160. <tr><td><link id="SwapVectors"/></td><td>Swap interrupt vectors</td></tr>
  161. <tr><td><link id="UnPackTime"/></td><td>Unpack file time</td></tr>
  162. </table>
  163. </descr>
  164. </topic>
  165. <element name="fmclosed">
  166. <short>File is closed</short>
  167. </element>
  168. <element name="fminput">
  169. <short>File is read only</short>
  170. </element>
  171. <element name="fmoutput">
  172. <short>File is write only</short>
  173. </element>
  174. <element name="fminout">
  175. <short>File is read and write</short>
  176. </element>
  177. <element name="fcarry">
  178. <short>CPU carry flag. Not used.</short>
  179. </element>
  180. <element name="fparity">
  181. <short>CPU parity flag. Not used.</short>
  182. </element>
  183. <element name="fauxiliary">
  184. <short>CPU auxiliary flag. Not used.</short>
  185. </element>
  186. <element name="fzero">
  187. <short>CPU zero flag. Not used.</short>
  188. </element>
  189. <element name="fsign">
  190. <short>CPU sign flag. Not used.</short>
  191. </element>
  192. <element name="foverflow">
  193. <short>CPU overflow flag. Not used.</short>
  194. </element>
  195. <element name="readonly">
  196. <short>Read-Only file attribute</short>
  197. </element>
  198. <element name="hidden">
  199. <short>Hidden file attribute</short>
  200. </element>
  201. <element name="sysfile">
  202. <short>System file attribute</short>
  203. </element>
  204. <element name="volumeid">
  205. <short>Volumd ID file attribute</short>
  206. </element>
  207. <element name="directory">
  208. <short>Directory file attribute</short>
  209. </element>
  210. <element name="archive">
  211. <short>Archive file attribute</short>
  212. </element>
  213. <element name="FileNameLen">
  214. <short>Maximum length of a filename</short>
  215. </element>
  216. <element name="anyfile">
  217. <short>Match any file attribute</short>
  218. </element>
  219. <element name="ComStr">
  220. <short>Command-line string type</short>
  221. </element>
  222. <element name="PathStr">
  223. <short>Full File path string type.</short>
  224. </element>
  225. <element name="DirStr">
  226. <short>Full directory string type.</short>
  227. </element>
  228. <element name="NameStr">
  229. <short>Fill filename string type.</short>
  230. </element>
  231. <element name="ExtStr">
  232. <short>Filename extension string type.</short>
  233. </element>
  234. <element name="SearchRec">
  235. <short>File Search Results record</short>
  236. <descr>
  237. <p>
  238. <var>SearchRec</var> is filled by the <link id="FindFirst"/> call and can be
  239. used in subsequent <link id="FindNext"/> calls to search for files. The
  240. structure of this record depends on the platform. Only the following
  241. fields are present on all platforms:
  242. </p>
  243. <dl>
  244. <dt>Attr</dt><dd>File attributes.</dd>
  245. <dt>Time</dt><dd>File modification time.</dd>
  246. <dt>Size</dt><dd>File size</dd>
  247. <dt>Name</dt><dd>File name (name part only, no path)</dd>
  248. </dl>
  249. </descr>
  250. </element>
  251. <element name="filerecnamelength">
  252. <short>Maximum length of FileName part in <link id="FileRec"/></short>
  253. </element>
  254. <element name="FileRec">
  255. <short>Record describing an untyped file</short>
  256. <descr>
  257. <var>FileRec</var> is used for internal representation of typed and untyped files.
  258. </descr>
  259. </element>
  260. <element name="FileRec.Handle">
  261. <short>OS file handle</short>
  262. </element>
  263. <element name="FileRec.Mode">
  264. <short>File open mode</short>
  265. </element>
  266. <element name="FileRec.RecSize">
  267. <short>Size of a record (in bytes)</short>
  268. </element>
  269. <element name="FileRec._Private">
  270. <short>Private data, do not use</short>
  271. </element>
  272. <element name="FileRec.UserData">
  273. <short>User data, for implementing a user driver.</short>
  274. </element>
  275. <element name="FileRec.Name">
  276. <short>File name</short>
  277. </element>
  278. <element name="TextRecNameLength">
  279. <short>Maximum length of filename in <link id="TextRec"/></short>
  280. </element>
  281. <element name="TextRecBufSize">
  282. <short>Size of default buffer in <link id="TextRec"/></short>
  283. </element>
  284. <element name="TextBuf">
  285. <short>Type for default buffer in <link id="TextRec"/></short>
  286. </element>
  287. <element name="TextRec">
  288. <short>Record describing Text files</short>
  289. <descr>
  290. <p>
  291. <var>TextRec</var> describes the internal working of a <var>Text</var> file.
  292. </p>
  293. <p>
  294. Remark that this is not binary compatible with the Turbo Pascal definition
  295. of <var>TextRec</var>, since the sizes of the different fields are different.
  296. </p>
  297. </descr>
  298. </element>
  299. <element name="Handle">
  300. <short>OS file handle for this record</short>
  301. </element>
  302. <element name="Mode">
  303. <short>File open mode</short>
  304. </element>
  305. <element name="bufsize">
  306. <short>Current buffer size.</short>
  307. </element>
  308. <element name="bufpos">
  309. <short>Current buffer position.</short>
  310. </element>
  311. <element name="bufend">
  312. <short>Current length of data in buffer</short>
  313. </element>
  314. <element name="bufptr">
  315. <short>Pointer tuo buffer.</short>
  316. </element>
  317. <element name="openfunc">
  318. <short>Called when file needs to be opened.</short>
  319. </element>
  320. <element name="inoutfunc">
  321. <short>Called when an I/O operation needs to be performed.</short>
  322. </element>
  323. <element name="flushfunc">
  324. <short>Called when buffer must be flushed.</short>
  325. </element>
  326. <element name="closefunc">
  327. <short>Called when file must be closed.</short>
  328. </element>
  329. <element name="UserData">
  330. <short>Room for user data when implementing custom text file.</short>
  331. </element>
  332. <element name="name">
  333. <short>File name.</short>
  334. </element>
  335. <element name="buffer">
  336. <short>Default buffer.</short>
  337. </element>
  338. <element name="Registers">
  339. <short>Record to keep CPU registers for <link id="MSDos"/> call. Unused.</short>
  340. </element>
  341. <element name="DateTime">
  342. <short>Record containing a date/time description</short>
  343. <descr>
  344. The <var>DateTime</var> type is used in <link id="PackTime"/> and <link id="UnPackTime"/> for
  345. setting/reading file times with <link id="GetFTime"/> and <link id="SetFTime"/>.
  346. </descr>
  347. </element>
  348. <element name="DateTime.Year">
  349. <short>Year part</short>
  350. </element>
  351. <element name="DateTime.Month">
  352. <short>Month of the year</short>
  353. </element>
  354. <element name="DateTime.Day">
  355. <short>Day of the month</short>
  356. </element>
  357. <element name="DateTime.Hour">
  358. <short>Hour of the day</short>
  359. </element>
  360. <element name="DateTime.Min">
  361. <short>Minute of the hour</short>
  362. </element>
  363. <element name="DateTime.Sec">
  364. <short>Second in the minute</short>
  365. </element>
  366. <element name="DosError">
  367. <short>Last OS (MS-DOS) error</short>
  368. <descr>
  369. <p>
  370. The <var>DosError</var> variable is used by the procedures in the dos unit to
  371. report errors. It can have the following values :
  372. </p>
  373. <table>
  374. <caption>Dos error codes</caption>
  375. <th><td>Value</td><td>Meaning</td></th>
  376. <tr><td>2 </td><td> File not found. </td></tr>
  377. <tr><td>3 </td><td> path not found. </td></tr>
  378. <tr><td>5 </td><td> Access denied. </td></tr>
  379. <tr><td>6 </td><td> Invalid handle. </td></tr>
  380. <tr><td>8 </td><td> Not enough memory. </td></tr>
  381. <tr><td>10 </td><td> Invalid environment. </td></tr>
  382. <tr><td>11 </td><td> Invalid format. </td></tr>
  383. <tr><td>18 </td><td> No more files.</td></tr>
  384. </table>
  385. <p>
  386. Other values are possible, but are not documented.
  387. </p>
  388. </descr>
  389. </element>
  390. <element name="drivestr">
  391. <short>Pathnames representing drives.</short>
  392. <descr>
  393. This variable is defined in the linux version of the dos unit. It is used
  394. in the <link id="DiskFree"/> and <link id="DiskSize"/> calls.
  395. </descr>
  396. </element>
  397. <element name="AddDisk">
  398. <short>Add disk definition to list if drives (Unix only)</short>
  399. <descr>
  400. <p>
  401. <var>AddDisk</var> adds a filename <var>S</var> to the internal list of disks. It is
  402. implemented for systems which do not use DOS type drive letters.
  403. This list is used to determine which disks to use in the <link id="DiskFree"/>
  404. and <link id="DiskSize"/> calls.
  405. The <link id="DiskFree"/> and <link id="DiskSize"/> functions need a file on the
  406. specified drive, since this is required for the <var>statfs</var> system call.
  407. The names are added sequentially. The dos
  408. initialization code presets the first three disks to:
  409. </p>
  410. <ul>
  411. <li> <var>'.'</var> for the current drive, </li>
  412. <li> <var>'/fd0/.'</var> for the first floppy-drive (linux only).</li>
  413. <li> <var>'/fd1/.'</var> for the second floppy-drive (linux only).</li>
  414. <li> <var>'/'</var> for the first hard disk.</li>
  415. </ul>
  416. <p>
  417. The first call to <var>AddDisk</var> will therefore add a name for the second
  418. harddisk, The second call for the third drive, and so on until 23 drives
  419. have been added (corresponding to drives <var>'D:'</var> to <var>'Z:'</var>)
  420. </p>
  421. </descr>
  422. <errors>
  423. None
  424. </errors>
  425. <seealso>
  426. <link id="DiskFree"/>
  427. <link id="DiskSize"/>
  428. </seealso>
  429. </element>
  430. <element name="DiskFree">
  431. <short>Get free size on Disk.</short>
  432. <descr>
  433. <p>
  434. <var>DiskFree</var> returns the number of free bytes on a disk. The parameter
  435. <var>Drive</var> indicates which disk should be checked. This parameter is 1 for
  436. floppy <var>a:</var>, 2 for floppy <var>b:</var>, etc. A value of 0 returns the free
  437. space on the current drive.
  438. </p>
  439. <remark>
  440. For Unices:
  441. The <var>diskfree</var> and <var>disksize</var> functions need a file on the
  442. specified drive, since this is required for the <var>statfs</var> system call.
  443. These filenames are set in the initialization of the dos unit, and have
  444. been preset to :
  445. </remark>
  446. <ul>
  447. <li> <var>'.'</var> for the current drive, </li>
  448. <li> <var>'/fd0/.'</var> for the first floppy-drive (linux only).</li>
  449. <li> <var>'/fd1/.'</var> for the second floppy-drive (linux only).</li>
  450. <li> <var>'/'</var> for the first hard disk.</li>
  451. </ul>
  452. <p>
  453. There is room for 1-26 drives. You can add a drive with the
  454. <link id="AddDisk"/> procedure.
  455. These settings can be coded in <var>dos.pp</var>, in the initialization part.
  456. </p>
  457. </descr>
  458. <errors>
  459. -1 when a failure occurs, or an invalid drive number is given.
  460. </errors>
  461. <seealso>
  462. <link id="DiskSize"/>
  463. <link id="AddDisk"/>
  464. </seealso>
  465. <example file="dosex/ex6"/>
  466. </element>
  467. <element name="DiskSize">
  468. <short>Get total size of disk.</short>
  469. <descr>
  470. <p>
  471. <var>DiskSize</var> returns the total size (in bytes) of a disk. The parameter
  472. <var>Drive</var> indicates which disk should be checked. This parameter is 1 for
  473. floppy <var>a:</var>, 2 for floppy <var>b:</var>, etc. A value of 0 returns the size
  474. of the current drive.
  475. </p>
  476. <remark>
  477. For unix only:
  478. The <var>diskfree</var> and <var>disksize</var> functions need a file on the specified drive, since this
  479. is required for the <var>statfs</var> system call.
  480. These filenames are set in the initialization of the dos unit, and have
  481. been preset to :
  482. </remark>
  483. <ul>
  484. <li> <var>'.'</var> for the current drive, </li>
  485. <li> <var>'/fd0/.'</var> for the first floppy-drive (linux only).</li>
  486. <li> <var>'/fd1/.'</var> for the second floppy-drive (linux only).</li>
  487. <li> <var>'/'</var> for the first hard disk.</li>
  488. </ul>
  489. <p>
  490. There is room for 1-26 drives. You can add a drive with the
  491. <link id="AddDisk"/> procedure.
  492. These settings can be coded in <var>dos.pp</var>, in the initialization part.
  493. </p>
  494. <p>
  495. For an example, see <link id="DiskFree"/>.
  496. </p>
  497. </descr>
  498. <errors>
  499. -1 when a failure occurs, or an invalid drive number is given.
  500. </errors>
  501. <seealso>
  502. <link id="DiskFree"/>
  503. <link id="AddDisk"/>
  504. </seealso>
  505. </element>
  506. <element name="DosExitCode">
  507. <short>Exit code of last executed program.</short>
  508. <descr>
  509. <var>DosExitCode</var> contains (in the low byte) the exit-code of a program
  510. executed with the <var>Exec</var> call.
  511. </descr>
  512. <errors>
  513. None.
  514. </errors>
  515. <seealso>
  516. <link id="Exec"/>
  517. </seealso>
  518. <example file="dosex/ex5"/>
  519. </element>
  520. <element name="DosVersion">
  521. <short>Current OS version</short>
  522. <descr>
  523. <p>
  524. <var>DosVersion</var> returns the operating system or kernel version. The
  525. low byte contains the major version number, while the high byte
  526. contains the minor version number.
  527. </p>
  528. <remark>
  529. On systems where versions consists of more then two numbers,
  530. only the first two numbers will be returned. For example Linux version 2.1.76
  531. will give you DosVersion 2.1. Some operating systems, such as FreeBSD, do not
  532. have system calls to return the kernel version, in that case a value of 0 will
  533. be returned.
  534. </remark>
  535. </descr>
  536. <errors>
  537. None.
  538. </errors>
  539. <seealso>
  540. </seealso>
  541. <example file="dosex/ex1"/>
  542. </element>
  543. <element name="EnvCount">
  544. <short>Return the number of environment variables</short>
  545. <descr>
  546. <var>EnvCount</var> returns the number of environment variables.
  547. </descr>
  548. <errors>
  549. None.
  550. </errors>
  551. <seealso>
  552. <link id="EnvStr"/>
  553. <link id="GetEnv"/>
  554. </seealso>
  555. </element>
  556. <element name="EnvStr">
  557. <short>Return environment variable by index</short>
  558. <descr>
  559. <var>EnvStr</var> returns the <var>Index</var>-th <var>Name=Value</var> pair from the list
  560. of environment variables.
  561. The index of the first pair is zero.
  562. </descr>
  563. <errors>
  564. The length is limited to 255 characters.
  565. </errors>
  566. <seealso>
  567. <link id="EnvCount"/>
  568. <link id="GetEnv"/>
  569. </seealso>
  570. <example file="dosex/ex13"/>
  571. </element>
  572. <element name="Exec">
  573. <short>Execute another program, and wait for it to finish.</short>
  574. <descr>
  575. <p>
  576. <var>Exec</var> executes the program in <var>Path</var>, with the options given by
  577. <var>ComLine</var>.
  578. </p>
  579. <p>
  580. After the program has terminated, the procedure returns. The Exit value of
  581. the program can be consulted with the <var>DosExitCode</var> function.
  582. </p>
  583. <p>
  584. For an example, see <link id="DosExitCode"/>
  585. </p>
  586. </descr>
  587. <errors>
  588. Errors are reported in <var>DosError</var>.
  589. </errors>
  590. <seealso>
  591. <link id="DosExitCode"/>
  592. </seealso>
  593. </element>
  594. <element name="FExpand">
  595. <short>Expand a relative path to an absolute path</short>
  596. <descr>
  597. <p>
  598. <var>FExpand</var> takes its argument and expands it to a complete filename, i.e.
  599. a filename starting from the root directory of the current drive, prepended
  600. with the drive-letter or volume name (when supported).
  601. </p>
  602. <remark>
  603. On case sensitive file systems (such as unix and linux), the resulting
  604. name is left as it is, otherwise it is converted to uppercase.
  605. </remark>
  606. </descr>
  607. <errors>
  608. <link id="FSplit"/>
  609. </errors>
  610. <seealso>
  611. </seealso>
  612. <example file="dosex/ex5"/>
  613. </element>
  614. <element name="FindClose">
  615. <short>Dispose resources allocated by a <link id="FindFirst"/>/<link
  616. id="FindNext"/> sequence.</short>
  617. <descr>
  618. <p>
  619. <var>FindClose</var> frees any resources associated with the search record
  620. <var>F</var>.
  621. </p>
  622. <p>
  623. This call is needed to free any internal resources allocated by the
  624. <link id="FindFirst"/> or <link id="FindNext"/> calls.
  625. </p>
  626. <p>
  627. The unix implementation of the dos unit therefore keeps a table of open
  628. directories, and when the table is full, closes one of the directories, and
  629. reopens another. This system is adequate but slow if you use a lot of
  630. <var>searchrecs</var>.
  631. </p>
  632. <p>
  633. So, to speed up the findfirst/findnext system, the <var>FindClose</var> call was
  634. implemented. When you don't need a <var>searchrec</var> any more, you can tell
  635. this to the dos unit by issuing a <var>FindClose</var> call. The directory
  636. which is kept open for this <var>searchrec</var> is then closed, and the table slot
  637. freed.
  638. </p>
  639. <remark>
  640. It is recommended to use the linux call <var>Glob</var> when looking for files
  641. on linux.
  642. </remark>
  643. </descr>
  644. <errors>
  645. Errors are reported in DosError.
  646. </errors>
  647. <seealso>
  648. <link id="FindFirst"/>
  649. <link id="FindNext"/>
  650. </seealso>
  651. </element>
  652. <element name="FindFirst">
  653. <short>Start search for one or more files.</short>
  654. <descr>
  655. <p>
  656. <var>FindFirst</var> searches the file specified in <var>Path</var>. Normal files,
  657. as well as all special files which have the attributes specified in
  658. <var>Attr</var> will be returned.
  659. </p>
  660. <p>
  661. It returns a <var>SearchRec</var> record for further searching in <var>F</var>.
  662. <var>Path</var> can contain the wildcard characters <var>?</var> (matches any single
  663. character) and <var>*</var> (matches 0 ore more arbitrary characters). In this
  664. case <var>FindFirst</var> will return the first file which matches the specified
  665. criteria.
  666. If <var>DosError</var> is different from zero, no file(s) matching the criteria
  667. was(were) found.
  668. </p>
  669. <remark>
  670. On os/2, you cannot issue two different <var>FindFirst</var> calls. That is,
  671. you must close any previous search operation with <link id="FindClose"/> before
  672. starting a new one. Failure to do so will end in a Run-Time Error 6
  673. (Invalid file handle)
  674. </remark>
  675. </descr>
  676. <errors>
  677. Errors are reported in DosError.
  678. </errors>
  679. <seealso>
  680. <link id="FindNext"/>,
  681. <link id="FindClose"/>
  682. </seealso>
  683. <example file="dosex/ex7"/>
  684. </element>
  685. <element name="FindNext">
  686. <short>Find next matching file after <link id="FindFirst"/></short>
  687. <descr>
  688. <p>
  689. <var>FindNext</var> takes as an argument a <var>SearchRec</var> from a previous
  690. <var>FindNext</var> call, or a <var>FindFirst</var> call, and tries to find another
  691. file which matches the criteria, specified in the <var>FindFirst</var> call.
  692. If <var>DosError</var> is different from zero, no more files matching the
  693. criteria were found.
  694. </p>
  695. <p>
  696. For an example, see <link id="FindFirst"/>.
  697. </p>
  698. </descr>
  699. <errors>
  700. <var>DosError</var> is used to report errors.
  701. </errors>
  702. <seealso>
  703. <link id="FindFirst"/>
  704. <link id="FindClose"/>
  705. </seealso>
  706. </element>
  707. <element name="FSearch">
  708. <short>Search a file in searchpath</short>
  709. <descr>
  710. <p>
  711. <var>FSearch</var> searches the file <var>Path</var> in all directories listed in
  712. <var>DirList</var>. The full name of the found file is returned.
  713. <var>DirList</var> must be a list of directories, separated by semi-colons.
  714. When no file is found, an empty string is returned.
  715. </p>
  716. <remark>
  717. On unix systems, <var>DirList</var> can also be separated by colons, as is
  718. customary on those environments.
  719. </remark>
  720. </descr>
  721. <errors>
  722. None.
  723. </errors>
  724. <seealso>
  725. <link id="FExpand">FExpand</link>
  726. </seealso>
  727. <example file="dosex/ex10"/>
  728. </element>
  729. <element name="FSplit">
  730. <short>Split a full-path filename in parts.</short>
  731. <descr>
  732. <var>FSplit</var> splits a full file name into 3 parts : A <var>Path</var>, a
  733. <var>Name</var> and an extension (in <var>ext</var>.)
  734. The extension is taken to be all letters after the <em> last</em> dot (.). For
  735. dos, however, an exception is made when <var>LFNSupport=False</var>, then
  736. the extension is defined as all characters after the <em> first</em> dot.
  737. </descr>
  738. <errors>
  739. None.
  740. </errors>
  741. <seealso>
  742. <link id="FSearch">FSearch</link>
  743. </seealso>
  744. <example file="dosex/ex12"/>
  745. </element>
  746. <element name="GetCBreak">
  747. <short>Get control-Break flag</short>
  748. <descr>
  749. <p>
  750. <var>GetCBreak</var> gets the status of CTRL-Break checking under dos and Amiga.
  751. When <var>BreakValue</var> is <var>false</var>, then dos only checks for the
  752. CTRL-Break key-press when I/O is performed. When it is set to <var>True</var>,
  753. then a check is done at every system call.
  754. </p>
  755. <remark>
  756. Under non-dos and non-Amiga operating systems, <var>BreakValue</var> always returns
  757. <var>True</var>.
  758. </remark>
  759. </descr>
  760. <errors>
  761. None
  762. </errors>
  763. <seealso>
  764. <link id="SetCBreak"/>
  765. </seealso>
  766. </element>
  767. <element name="GetDate">
  768. <short>Get the current date</short>
  769. <descr>
  770. <var>GetDate</var> returns the system's date. <var>Year</var> is a number in the range
  771. 1980..2099.<var>mday</var> is the day of the month,
  772. <var>wday</var> is the day of the week, starting with Sunday as day 0.
  773. </descr>
  774. <errors>
  775. None.
  776. </errors>
  777. <seealso>
  778. <link id="GetTime"/>
  779. <link id="SetDate"/>
  780. </seealso>
  781. <example file="dosex/ex2"/>
  782. </element>
  783. <element name="GetEnv">
  784. <short>Get environment variable by name.</short>
  785. <descr>
  786. <p>
  787. <var>Getenv</var> returns the value of the environment variable <var>EnvVar</var>.
  788. When there is no environment variable <var>EnvVar</var> defined, an empty
  789. string is returned.
  790. </p>
  791. <remark>
  792. Under some operating systems (such as unix), case is important when looking
  793. for <var>EnvVar</var>.
  794. </remark>
  795. </descr>
  796. <errors>
  797. None.
  798. </errors>
  799. <seealso>
  800. <link id="EnvCount"/>
  801. <link id="EnvStr"/>
  802. </seealso>
  803. <example file="dosex/ex14"/>
  804. </element>
  805. <element name="GetFAttr">
  806. <short>Get file attributes</short>
  807. <descr>
  808. <p>
  809. <var>GetFAttr</var> returns the file attributes of the file-variable <var>f</var>.
  810. <var>F</var> can be a untyped or typed file, or of type <var>Text</var>. <var>f</var> must
  811. have been assigned, but not opened. The attributes can be examined with the
  812. following constants :
  813. </p>
  814. <ul>
  815. <li> <var>ReadOnly</var></li>
  816. <li> <var>Hidden</var></li>
  817. <li> <var>SysFile</var></li>
  818. <li> <var>VolumeId</var></li>
  819. <li> <var>Directory</var></li>
  820. <li> <var>Archive</var></li>
  821. </ul>
  822. <p>
  823. Under linux, supported attributes are:
  824. </p>
  825. <ul>
  826. <li> <var>Directory</var></li>
  827. <li> <var>ReadOnly</var> if the current process doesn't have access to the file.</li>
  828. <li> <var>Hidden</var> for files whose name starts with a dot <var>('.')</var>.</li>
  829. </ul>
  830. </descr>
  831. <errors>
  832. Errors are reported in <var>DosError</var>
  833. </errors>
  834. <seealso>
  835. <link id="SetFAttr"/>
  836. </seealso>
  837. <example file="dosex/ex8"/>
  838. </element>
  839. <element name="GetFTime">
  840. <short>Get file last modification time.</short>
  841. <descr>
  842. <var>GetFTime</var> returns the modification time of a file.
  843. This time is encoded and must be decoded with <var>UnPackTime</var>.
  844. <var>F</var> must be a file type, which has been assigned, and
  845. opened.
  846. </descr>
  847. <errors>
  848. Errors are reported in <var>DosError</var>
  849. </errors>
  850. <seealso>
  851. <link id="SetFTime"/>
  852. <link id="PackTime"/>
  853. <link id="UnPackTime"/>
  854. </seealso>
  855. <example file="dosex/ex9"/>
  856. </element>
  857. <element name="GetIntVec">
  858. <short>Get interrupt vector</short>
  859. <descr>
  860. <p>
  861. <var>GetIntVec</var> returns the address of interrupt vector
  862. <var>IntNo</var>.
  863. </p>
  864. <remark>
  865. This call does nothing, it is present for compatibility only. Modern systems
  866. do not allow low level access to the hardware.
  867. </remark>
  868. </descr>
  869. <errors>
  870. None.
  871. </errors>
  872. <seealso>
  873. <link id="SetIntVec"/>
  874. </seealso>
  875. </element>
  876. <element name="GetLongName">
  877. <short>Get the long filename of a DOS 8.3 filename.</short>
  878. <descr>
  879. <p>
  880. This function is only implemented in the GO32V2 version of Free Pascal.
  881. </p>
  882. <p>
  883. <var>GetLongName</var> changes the filename <var>p</var> to a long filename
  884. if the dos call to do this is successful. The resulting string
  885. is the long file name corresponding to the short filename <var>p</var>.
  886. </p>
  887. <p>
  888. The function returns <var>True</var> if the dos call was successful,
  889. <var>False</var> otherwise.
  890. </p>
  891. <p>
  892. This function should only be necessary when using the DOS extender
  893. under Windows 95 and higher.
  894. </p>
  895. </descr>
  896. <errors>
  897. If the dos call was not succesfull, <var>False</var> is returned.
  898. </errors>
  899. <seealso>
  900. <link id="GetShortName"/>
  901. </seealso>
  902. </element>
  903. <element name="GetShortName">
  904. <short>Get the short (8.3) filename of a long filename.</short>
  905. <descr>
  906. <p>
  907. This function is only implemented in the GO32V2 version of Free Pascal.
  908. </p>
  909. <p>
  910. <var>GetShortName</var> changes the filename <var>p</var> to a short filename
  911. if the dos call to do this is successful. The resulting string
  912. is the short file name corresponding to the long filename <var>p</var>.
  913. </p>
  914. <p>
  915. The function returns <var>True</var> if the dos call was successful,
  916. <var>False</var> otherwise.
  917. </p>
  918. <p>
  919. This function should only be necessary when using the DOS extender
  920. under Windows 95 and higher.
  921. </p>
  922. </descr>
  923. <errors>
  924. If the dos call was not successful, <var>False</var> is returned.
  925. </errors>
  926. <seealso>
  927. <link id="GetLongName"/>
  928. </seealso>
  929. </element>
  930. <element name="GetTime">
  931. <short>Return the current time</short>
  932. <descr>
  933. <p>
  934. <var>GetTime</var> returns the system's time. <var>Hour</var> is a on a 24-hour time
  935. scale. <var>sec100</var> is in hundredth of a
  936. second.
  937. </p>
  938. <remark>
  939. Certain operating systems (such as Amiga), always set the <var>sec100</var> field
  940. to zero.
  941. </remark>
  942. </descr>
  943. <errors>
  944. None.
  945. </errors>
  946. <seealso>
  947. <link id="GetDate"/>
  948. <link id="SetTime"/>
  949. </seealso>
  950. <example file="dosex/ex3"/>
  951. </element>
  952. <element name="GetVerify">
  953. <short>Get verify flag</short>
  954. <descr>
  955. <p>
  956. <var>GetVerify</var> returns the status of the verify flag under dos. When
  957. <var>Verify</var> is <var>True</var>, then dos checks data which are written to disk,
  958. by reading them after writing. If <var>Verify</var> is <var>False</var>, then data
  959. written to disk are not verified.
  960. </p>
  961. <remark>
  962. Under non-dos systems (excluding os/2 applications running under vanilla DOS),
  963. Verify is always <var>True</var>.
  964. </remark>
  965. </descr>
  966. <errors>
  967. None.
  968. </errors>
  969. <seealso>
  970. <link id="SetVerify"/>
  971. </seealso>
  972. </element>
  973. <element name="Intr">
  974. <short>Execute interrupt</short>
  975. <descr>
  976. <p>
  977. <var>Intr</var> executes a software interrupt number <var>IntNo</var> (must be between
  978. 0 and 255), with processor registers set to <var>Regs</var>. After the interrupt call
  979. returned, the processor registers are saved in <var>Regs</var>.
  980. </p>
  981. <remark>
  982. Under non-dos operating systems, this call does nothing.
  983. </remark>
  984. </descr>
  985. <errors>
  986. None.
  987. </errors>
  988. <seealso>
  989. <link id="MSDos"/>
  990. </seealso>
  991. </element>
  992. <element name="Keep">
  993. <short>Terminate and stay resident.</short>
  994. <descr>
  995. <p>
  996. <var>Keep</var> terminates the program, but stays in memory. This is used for TSR
  997. (Terminate Stay Resident) programs which catch some interrupt.
  998. <var>ExitCode</var> is the same parameter as the <var>Halt</var> function takes.
  999. </p>
  1000. <remark>
  1001. This call does nothing, it is present for compatibility only.
  1002. </remark>
  1003. </descr>
  1004. <errors>
  1005. None.
  1006. </errors>
  1007. <seealso>
  1008. </seealso>
  1009. </element>
  1010. <element name="weekday">
  1011. <short>Return the day of the week</short>
  1012. <descr>
  1013. <var>WeekDay</var> returns the day of the week on which the day
  1014. <var>Y/M/D</var> falls. Sunday is represented by 0, Saturday is 6.
  1015. </descr>
  1016. <errors>
  1017. On error, -1 is returned.
  1018. </errors>
  1019. <seealso>
  1020. <link id="PackTime"/>
  1021. <link id="UnpackTime"/>
  1022. <link id="GetTime"/>
  1023. <link id="SetTime"/>
  1024. </seealso>
  1025. </element>
  1026. <element name="DTToUnixDate">
  1027. <short>Convert a DateTime to unix timestamp</short>
  1028. <descr>
  1029. <var>DTToUnixDate</var> converts the DateTime value in <var>DT</var> to a
  1030. unix timestamp. It is an internal function, implemented on Unix platforms,
  1031. and should not be used.
  1032. </descr>
  1033. <errors>
  1034. None.
  1035. </errors>
  1036. <seealso>
  1037. <link id="UnixDateToDT"/>
  1038. <link id="PackTime"/>
  1039. <link id="UnpackTime"/>
  1040. <link id="GetTime"/>
  1041. <link id="SetTime"/>
  1042. </seealso>
  1043. </element>
  1044. <element name="UnixDateToDT">
  1045. <short>Convert a unix timestamp to a DateTime record </short>
  1046. <descr>
  1047. <var>DTToUnixDate</var> converts the unix timestamp value in <var>SecsPast</var> to a
  1048. DateTime representation in <var>DT</var>. It is an internal function, implemented on Unix platforms,
  1049. and should not be used.
  1050. </descr>
  1051. <errors>
  1052. None.
  1053. </errors>
  1054. <seealso>
  1055. <link id="DTToUnixDate"/>
  1056. <link id="PackTime"/>
  1057. <link id="UnpackTime"/>
  1058. <link id="GetTime"/>
  1059. <link id="SetTime"/>
  1060. </seealso>
  1061. </element>
  1062. <element name="MSDos">
  1063. <short>Execute MS-DOS system call</short>
  1064. <descr>
  1065. <p>
  1066. <var>MSDos</var> executes an operating system call. This is the same as doing a
  1067. <var>Intr</var> call with the interrupt number for an os call.
  1068. </p>
  1069. <remark>
  1070. Under non-dos operating systems, this call does nothing. On DOS systems,
  1071. this calls interrupt $21.
  1072. </remark>
  1073. </descr>
  1074. <errors>
  1075. None.
  1076. </errors>
  1077. <seealso>
  1078. <link id="Intr"/>
  1079. </seealso>
  1080. </element>
  1081. <element name="PackTime">
  1082. <short>Pack DateTime value to a packed-time format.</short>
  1083. <descr>
  1084. <var>UnPackTime</var> converts the date and time specified in <var>T</var>
  1085. to a packed-time format which can be fed to <var>SetFTime</var>.
  1086. </descr>
  1087. <errors>
  1088. None.
  1089. </errors>
  1090. <seealso>
  1091. <link id="SetFTime"/>
  1092. <link id="FindFirst"/>
  1093. <link id="FindNext"/>
  1094. <link id="UnPackTime"/>
  1095. </seealso>
  1096. <example file="dosex/ex4"/>
  1097. </element>
  1098. <element name="SetCBreak">
  1099. <short>Set Control-Break flag status</short>
  1100. <descr>
  1101. <p>
  1102. <var>SetCBreak</var> sets the status of CTRL-Break checking. When
  1103. <var>BreakValue</var> is <var>false</var>, then dos only checks for the CTRL-Break
  1104. key-press when I/O is performed. When it is set to <var>True</var>, then a
  1105. check is done at every system call.
  1106. </p>
  1107. <remark>
  1108. Under non-dos and non-Amiga operating systems, this call does nothing.
  1109. </remark>
  1110. </descr>
  1111. <errors>
  1112. None.
  1113. </errors>
  1114. <seealso>
  1115. <link id="GetCBreak"/>
  1116. </seealso>
  1117. </element>
  1118. <element name="SetDate">
  1119. <short>Set system date</short>
  1120. <descr>
  1121. <p>
  1122. <var>SetDate</var> sets the system's internal date. <var>Year</var> is a number
  1123. between 1980 and 2099.
  1124. </p>
  1125. <remark>
  1126. On a unix machine, there must be root privileges, otherwise this
  1127. routine will do nothing. On other unix systems, this call currently
  1128. does nothing.
  1129. </remark>
  1130. </descr>
  1131. <errors>
  1132. None.
  1133. </errors>
  1134. <seealso>
  1135. <link id="GetDate"/>
  1136. <link id="SetTime"/>
  1137. </seealso>
  1138. </element>
  1139. <element name="SetFAttr">
  1140. <short>Set file attributes</short>
  1141. <descr>
  1142. <p>
  1143. <var>SetFAttr</var> sets the file attributes of the file-variable <var>F</var>.
  1144. <var>F</var> can be a untyped or typed file, or of type <var>Text</var>. <var>F</var> must
  1145. have been assigned, but not opened. The attributes can be a sum of the
  1146. following constants:
  1147. </p>
  1148. <ul>
  1149. <li> <var>ReadOnly</var></li>
  1150. <li> <var>Hidden</var></li>
  1151. <li> <var>SysFile</var></li>
  1152. <li> <var>VolumeId</var></li>
  1153. <li> <var>Directory</var></li>
  1154. <li> <var>Archive</var></li>
  1155. </ul>
  1156. <remark>
  1157. Under unix like systems (such as linux and BeOS) the call exists, but is not implemented,
  1158. i.e. it does nothing.
  1159. </remark>
  1160. </descr>
  1161. <errors>
  1162. Errors are reported in <var>DosError</var>.
  1163. </errors>
  1164. <seealso>
  1165. <link id="GetFAttr"/>
  1166. </seealso>
  1167. </element>
  1168. <element name="SetFTime">
  1169. <short>Set file modification time.</short>
  1170. <descr>
  1171. <p>
  1172. <var>SetFTime</var> sets the modification time of a file,
  1173. this time is encoded and must be encoded with <var>PackTime</var>.
  1174. <var>F</var> must be a file type, which has been assigned, and
  1175. opened.
  1176. </p>
  1177. <remark>
  1178. Under unix like systems (such as linux and BeOS) the call exists, but is not implemented,
  1179. i.e. it does nothing.
  1180. </remark>
  1181. </descr>
  1182. <errors>
  1183. Errors are reported in <var>DosError</var>
  1184. </errors>
  1185. <seealso>
  1186. <link id="GetFTime"/>
  1187. <link id="PackTime"/>
  1188. <link id="UnPackTime"/>
  1189. </seealso>
  1190. </element>
  1191. <element name="SetIntVec">
  1192. <short>Set interrupt vector</short>
  1193. <descr>
  1194. <p>
  1195. <var>SetIntVec</var> sets interrupt vector <var>IntNo</var> to <var>Vector</var>.
  1196. <var>Vector</var> should point to an interrupt procedure.
  1197. </p>
  1198. <remark>
  1199. This call does nothing, it is present for compatibility only.
  1200. </remark>
  1201. </descr>
  1202. <errors>
  1203. None.
  1204. </errors>
  1205. <seealso>
  1206. <link id="GetIntVec"/>
  1207. </seealso>
  1208. </element>
  1209. <element name="SetTime">
  1210. <short>Set system time</short>
  1211. <descr>
  1212. <p>
  1213. <var>SetTime</var> sets the system's internal clock. The <var>Hour</var> parameter is
  1214. on a 24-hour time scale.
  1215. </p>
  1216. <remark>
  1217. On a linux machine, there must be root privileges, otherwise this
  1218. routine will do nothing. On other unix systems, this call currently
  1219. does nothing.
  1220. </remark>
  1221. </descr>
  1222. <errors>
  1223. None.
  1224. </errors>
  1225. <seealso>
  1226. <link id="GetTime"/>
  1227. <link id="SetDate"/>
  1228. </seealso>
  1229. </element>
  1230. <element name="SetVerify">
  1231. <short>Set verify flag</short>
  1232. <descr>
  1233. <p>
  1234. <var>SetVerify</var> sets the status of the verify flag under dos. When
  1235. <var>Verify</var> is <var>True</var>, then dos checks data which are written to disk,
  1236. by reading them after writing. If <var>Verify</var> is <var>False</var>, then data
  1237. written to disk are not verified.
  1238. </p>
  1239. <remark>
  1240. Under non-dos operating systems (excluding os/2 applications running
  1241. under vanilla dos), Verify is always <var>True</var>.
  1242. </remark>
  1243. </descr>
  1244. <errors>
  1245. None.
  1246. </errors>
  1247. <seealso>
  1248. <link id="SetVerify"/>
  1249. </seealso>
  1250. </element>
  1251. <element name="SwapVectors">
  1252. <short>Swap interrupt vectors</short>
  1253. <descr>
  1254. <p>
  1255. <var>SwapVectors</var> swaps the contents of the internal table of interrupt
  1256. vectors with the current contents of the interrupt vectors.
  1257. This is called typically in before and after an <var>Exec</var> call.
  1258. </p>
  1259. <remark>
  1260. Under certain operating systems, this routine may be implemented
  1261. as an empty stub.
  1262. </remark>
  1263. </descr>
  1264. <errors>
  1265. None.
  1266. </errors>
  1267. <seealso>
  1268. <link id="Exec"/>
  1269. <link id="SetIntVec"/>
  1270. </seealso>
  1271. </element>
  1272. <element name="UnPackTime">
  1273. <short>Unpack packed file time to a DateTime value</short>
  1274. <descr>
  1275. <p>
  1276. <var>UnPackTime</var> converts the file-modification time in <var>p</var>
  1277. to a <var>DateTime</var> record. The file-modification time can be
  1278. returned by <var>GetFTime</var>, <var>FindFirst</var> or <var>FindNext</var> calls.
  1279. </p>
  1280. <p>
  1281. For an example, see <link id="PackTime"/>.
  1282. </p>
  1283. </descr>
  1284. <errors>
  1285. None.
  1286. </errors>
  1287. <seealso>
  1288. <link id="GetFTime"/>
  1289. <link id="FindFirst"/>
  1290. <link id="FindNext"/>
  1291. <link id="PackTime"/>
  1292. </seealso>
  1293. </element>
  1294. </module>
  1295. </package>
  1296. </fpdoc-descriptions>