<?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:ProcessManagement' id=''>
  <oberon-doc>
    <summary>This is a subset of the <samp>Process Management</samp> section of Python's <samp>os</samp> package.</summary>
    <p pad-after='yes' no-indent='yes'>This is a subset of the <samp>Process Management</samp> section of Python's <samp>os</samp> package.  If you want to add to this module, use the Python function signature and add a parameter <samp>res</samp> instead of raising an exception.</p>
  </oberon-doc>
  <import-decl name='C' id='C' export='no' module='C'/>
  <import-decl name='Object' id='Object' export='no' module='Object'/>
  <import-decl name='Path' id='Path' export='no' module='OS:Path'/>
  <procedure name='system' id='system' export='yes'>
    <oberon-doc>
      <summary>Executes the command in a subshell.</summary>
      <p pad-after='yes' no-indent='yes'>Executes the command in a subshell.  This is implemented by calling the Standard C function <samp>system()</samp>, and has the same limitations.  The return value is the exit status of the process encoded in the format specified for <samp>wait()</samp>.  Note that POSIX does not specify the meaning of the return value of the C <samp>system()</samp> function, so the return value of this Oberon-2 function is system-dependent.</p>
      <p pad-after='yes' no-indent='no'><oberon-proc href='OS:Path#Encode'>Path.Encode</oberon-proc> is used to calculate the character array that is passed to the OS.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='command' id='system.command' export='no' variable-parameter='no'>
        <type>
          <type-name name='STRING' href='#STRING'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='C' name='int' href='C#int'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='ExitStatus' id='ExitStatus' export='yes'>
    <oberon-doc>
      <summary>Returns the exit status for the command executed by <samp>system()</samp>.</summary>
      <p pad-after='yes' no-indent='yes'>Returns the exit status for the command executed by <samp>system()</samp>. If the process terminated abnormally (eg. due to a signal), the value -1 is returned.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='status' id='ExitStatus.status' export='no' variable-parameter='no'>
        <type>
          <type-name module='C' name='int' href='C#int'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='C' name='int' href='C#int'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='TermSignal' id='TermSignal' export='yes'>
    <oberon-doc>
      <summary>Returns the termination signal for the command executed by <samp>system()</samp>.</summary>
      <p pad-after='yes' no-indent='yes'>Returns the termination signal for the command executed by <samp>system()</samp>.  If the process terminated normally, the value -1 is returned.</p>
    </oberon-doc>
    <formal-parameters>
      <parameter-decl name='status' id='TermSignal.status' export='no' variable-parameter='no'>
        <type>
          <type-name module='C' name='int' href='C#int'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='C' name='int' href='C#int'/>
      </result-type>
    </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='C'>
    <ref-target type='html' relative-uri='../C.html'/>
  </module-ref>
  <module-ref name='OS:Path'>
    <ref-target type='html' relative-uri='Path.html'/>
  </module-ref>
</interface-description>
