<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<!DOCTYPE interface-description SYSTEM 'file:///usr/pkgsrc/lang/oo2c/work.macaroon/oo2c_32-2.0.11/rsrc/OOC/xml/interface-description.dtd'>
<interface-description name='OS:Files' id=''>
  <oberon-doc>
    <summary>This is a subset of the <samp>Files &amp; Directories</samp> section of Python's <samp>os</samp> package.</summary>
    <p pad-after='yes' no-indent='yes'>This is a subset of the <samp>Files &amp; Directories</samp> section of Python's <samp>os</samp> package.  If you want to add to this module, use the Python function signature where appropriate.</p>
  </oberon-doc>
  <import-decl name='Object' id='Object' export='no' module='Object'/>
  <import-decl name='Path' id='Path' export='no' module='OS:Path'/>
  <import-decl name='IO' id='IO' export='no' module='IO'/>
  <import-decl name='StdChannels' id='StdChannels' export='no' module='IO:StdChannels'/>
  <type-decl name='Mode' id='Mode' export='yes'>
    <oberon-doc>
      <summary>File creation mask.</summary>
      <p pad-after='yes' no-indent='yes'>File creation mask.</p>
    </oberon-doc>
    <type>
      <type-name module='#predef' name='LONGINT'/>
    </type>
  </type-decl>
  <type-decl name='NameArray' id='NameArray' export='yes'>
    <type>
      <pointer>
        <pointer-base>
          <array>
            <element-type>
              <type-name name='STRING' href='#STRING'/>
            </element-type>
          </array>
        </pointer-base>
      </pointer>
    </type>
  </type-decl>
  <type-decl name='Time' id='Time' export='yes'>
    <oberon-doc>
      <summary>Number of seconds elapsed since 00:00:00 on January 1, 1970, Coordinated Universal Time.</summary>
      <p pad-after='yes' no-indent='yes'>Number of seconds elapsed since 00:00:00 on January 1, 1970, Coordinated Universal Time.  Subsecond resolution depends on the function used to retrieve the time value, and the operating system in use.</p>
    </oberon-doc>
    <type>
      <type-name module='#predef' name='LONGREAL'/>
    </type>
  </type-decl>
  <const-decl name='defaultMode' id='defaultMode' export='yes' value='unknown'>
    <oberon-doc>
      <summary>Default file creation mask (octal 0777).</summary>
      <p pad-after='yes' no-indent='yes'>Default file creation mask (octal 0777).  Minus the flags cleared through <samp>umask</samp>, all permission bits are set.</p>
    </oberon-doc>
  </const-decl>
  <procedure name='ListDir' id='ListDir' export='yes'>
    <oberon-doc>
      <summary>Return a list containing the names of the entries in the directory.</summary>
      <p pad-after='yes' no-indent='yes'>Return a list containing the names of the entries in the directory.  The list is in arbitrary order.  It does not include the special entries <samp>.</samp> and <samp>..</samp>, even if they are present in the directory.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='path' id='ListDir.path' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name name='NameArray' href='#NameArray'/>
      </result-type>
      <exceptions>
        <type-name module='IO' name='Error' href='IO#Error'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='MkDir' id='MkDir' export='yes'>
    <oberon-doc>
      <summary>Creates directory <oberon-param href='#MkDir.path'>path</oberon-param> in the local file system with numeric mode <oberon-param href='#MkDir.mode'>mode</oberon-param>.</summary>
      <p pad-after='yes' no-indent='yes'>Creates directory <oberon-param href='#MkDir.path'>path</oberon-param> in the local file system with numeric mode <oberon-param href='#MkDir.mode'>mode</oberon-param>.  On some systems, <oberon-param href='#MkDir.mode'>mode</oberon-param> is ignored. Where it is used, the current <samp>umask</samp> value is first masked out.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='path' id='MkDir.path' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <parameter-decl name='mode' id='MkDir.mode' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='Mode'/>
        </type>
      </parameter-decl>
      <exceptions>
        <type-name module='IO' name='Error' href='IO#Error'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='MakeDirs' id='MakeDirs' export='yes'>
    <oberon-doc>
      <summary>Recursive directory creation function.</summary>
      <p pad-after='yes' no-indent='yes'>Recursive directory creation function. Like <oberon-proc href='#MkDir'>MkDir</oberon-proc>, but makes all intermediate-level directories needed to contain the leaf directory.  This procedure does nothing if the target directory already exists.  If the leaf directory does not exists and cannot be created, an exception is raised.  [Note: Python actually considers it an error if the directory <oberon-param href='#MakeDirs.path'>path</oberon-param> already exists.  Should we do the same?]</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='path' id='MakeDirs.path' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <parameter-decl name='mode' id='MakeDirs.mode' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='Mode'/>
        </type>
      </parameter-decl>
      <exceptions>
        <type-name module='IO' name='Error' href='IO#Error'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='Remove' id='Remove' export='yes'>
    <oberon-doc>
      <summary>Removes the file <oberon-param href='#Remove.path'>path</oberon-param>.</summary>
      <p pad-after='yes' no-indent='yes'>Removes the file <oberon-param href='#Remove.path'>path</oberon-param>.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='path' id='Remove.path' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <exceptions>
        <type-name module='IO' name='Error' href='IO#Error'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <procedure name='Exists' id='Exists' export='yes'>
    <oberon-doc>
      <summary>Return <code>TRUE</code> if an entity <oberon-param href='#Exists.path'>path</oberon-param> exists.</summary>
      <p pad-after='yes' no-indent='yes'>Return <code>TRUE</code> if an entity <oberon-param href='#Exists.path'>path</oberon-param> exists.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='path' id='Exists.path' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='BOOLEAN'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='MTime' id='MTime' export='yes'>
    <oberon-doc>
      <summary>Return modification time of the indicated file.</summary>
      <p pad-after='yes' no-indent='yes'>Return modification time of the indicated file.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='path' id='MTime.path' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Time'/>
      </result-type>
      <exceptions>
        <type-name module='IO' name='Error' href='IO#Error'/>
      </exceptions>
    </formal-parameters>
  </procedure>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
  <import-decl name='-Object' id='-Object' export='no' module='Object'/>
  <import-decl name='-Exception' id='-Exception' export='no' module='Exception'/>
  <module-ref name='IO'>
    <ref-target type='html' relative-uri='../IO.html'/>
  </module-ref>
</interface-description>
