<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to I$Create</title><link>https://sourceforge.net/p/nitros9/wiki/I%2524Create/</link><description>Recent changes to I$Create</description><atom:link href="https://sourceforge.net/p/nitros9/wiki/I$Create/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 27 Jun 2014 23:20:21 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/nitros9/wiki/I$Create/feed" rel="self" type="application/rss+xml"/><item><title>I$Create modified by Lothan</title><link>https://sourceforge.net/p/nitros9/wiki/I%2524Create/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;strong&gt;Create File&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Creates and opens a disk file&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OS9 I$Create 103F 83&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Entry Conditions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;access mode&lt;/em&gt; (write or update) &lt;/p&gt;
&lt;p&gt;B &lt;em&gt;file attributes&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;X &lt;em&gt;address of the pathlist&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exit Conditions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;path number&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;X &lt;em&gt;address of the last byte of the pathlist + 1; skips any trailing blanks&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Error Output&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;CC carry set on error &lt;/p&gt;
&lt;p&gt;B &lt;em&gt;error code&lt;/em&gt;, if any &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Additional Information&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NitrOS-9 parses the pathlist and enters the new filename in the specified directory. If you do not specify a directory, NitrOS-9 enters the new filename in the working directory. &lt;/li&gt;
&lt;li&gt;NitrOS-9 gives the file the attributes passed in Register B, which has bits defined as follows: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bit &lt;br /&gt;
Definition &lt;/p&gt;
&lt;p&gt;0 &lt;br /&gt;
Read &lt;/p&gt;
&lt;p&gt;1 &lt;br /&gt;
Write &lt;/p&gt;
&lt;p&gt;2 &lt;br /&gt;
Execute &lt;/p&gt;
&lt;p&gt;3 &lt;br /&gt;
Public read &lt;/p&gt;
&lt;p&gt;4 &lt;br /&gt;
Public write &lt;/p&gt;
&lt;p&gt;5 &lt;br /&gt;
Public execute &lt;/p&gt;
&lt;p&gt;6 &lt;br /&gt;
Shareable file &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;These access mode parameters passed in Register A must have the write bit set if any data is to be written. These access codes are defined as follows: 2 = write, 3 = update. The mode affects the file only until the file is closed. &lt;/li&gt;
&lt;li&gt;You can reopen the file in any access mode allowed by the file attributes. (See the Open system call.) &lt;/li&gt;
&lt;li&gt;Files opened for write can allow faster data transfer than those opened for update because update sometimes needs to pre-read sectors. &lt;/li&gt;
&lt;li&gt;If the execute bit (Bit 2) is set, the file is created in the working execution directory instead of the working data directory. &lt;/li&gt;
&lt;li&gt;Create File causes an implicit I$Attach call. If the device has not previously been attached, the device’s initialization routine is called. &lt;/li&gt;
&lt;li&gt;Later I/O calls use the path number to identify the file, until the file is closed. &lt;/li&gt;
&lt;li&gt;NitrOS-9 does not allocate data storage for a file at creation. Instead, it allocates the storage either automatically when you first issue a write or explicitly by the SetStat subroutine. &lt;/li&gt;
&lt;li&gt;If the filename already exists in the directory, an error occurs. If the call specifies a non-multiple file device (such as a printer or terminal), Create behaves the same as Open. &lt;/li&gt;
&lt;li&gt;You cannot use Create to make directories. (See the Make Directory system call for instructions on how to make directories.) &lt;/li&gt;
&lt;li&gt;Before the Create File call: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;/ &lt;br /&gt;
D &lt;br /&gt;
0 &lt;br /&gt;
/ &lt;br /&gt;
W &lt;br /&gt;
O &lt;br /&gt;
R &lt;br /&gt;
K &lt;br /&gt;
$0D &lt;/p&gt;
&lt;p&gt;&amp;nbsp;?X &lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After the Create File call: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;/ &lt;br /&gt;
D &lt;br /&gt;
0 &lt;br /&gt;
/ &lt;br /&gt;
W &lt;br /&gt;
O &lt;br /&gt;
R &lt;br /&gt;
K &lt;br /&gt;
$0D &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;?X &lt;br /&gt;
&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lothan</dc:creator><pubDate>Fri, 27 Jun 2014 23:20:21 -0000</pubDate><guid>https://sourceforge.net78050bb27c283d8c679361d07641675b43d729fd</guid></item></channel></rss>