<?xml version="1.0"?>
<VariableHandler name="KernelInfoPatterns">

<!-- OSFamily to OSTribe

* OSFamily.AIX_64  == OSTribe.AIX_PPC64
* OSFamily.HP11_64 == OSTribe.HPUX_PARISC
* OSFamily.LINUX_32 == OSTribe.LINUX_I386
* OSFamily.S390X_64 == OSTribe.LINUX_S390X_64
* OSFamily.AS400 == OSTribe.OS400_PPC64
* OSFamily.SUNOS_64 == OSTribe.SOLARIS_SPARC
* OSFamily.I386 == OSTribe.WINDOWS_I386
* OSFamily.LINUXX86_64 == OSTribe.LINUX_X86_64
* OSFamily.LINUXIA64_64 == OSTribe.LINUX_IA64
* OSFamily.LINUXPPC64_64 == OSTribe.LINUX_PPC64

  OSFamily.HPIA64 == OSTribe.HPUX_IA64
  OSFamily.AMD64 == OSTribe.WINDOWS_X86_64

! OSFamily.IA64 == OSTribe.WINDOWS_IA64

-->

  <StringTable name="PATTERN_TABLE">
    <TableDefinition NumberKeyColumns="1" NumberColumns="8">
      <ColumnName>PATTERN</ColumnName>
      <ColumnName>OS/TYPE</ColumnName>
      <ColumnName>OS/FAMILY</ColumnName>
      <ColumnName>OS/TRIBE</ColumnName>
      <ColumnName>OS/ARCHITECTURE</ColumnName>
      <ColumnName>UNICODE</ColumnName>
      <ColumnName>KERNEL/RELEASE</ColumnName>
      <ColumnName>KERNEL/PATCH</ColumnName>
    </TableDefinition>
    <StringArray>
      <StringValue>compilation mode\s*Non-Unicode\s*</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue>false</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compilation mode\s*UNICODE\s*</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue>true</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*Linux.*i686.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>LINUX_32</StringValue>
      <StringValue>LINUX_I386</StringValue>
      <StringValue>32</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*Linux.*s390x.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>S390X_64</StringValue>
      <StringValue>LINUX_S390X_64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <!-- LB: detected on ls0032 -->
      <StringValue>compiled on\s*Linux.*x86_64.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>LINUXX86_64</StringValue>
      <StringValue>LINUX_X86_64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <!-- LB: detected on ls0122 -->
      <StringValue>compiled on\s*Linux.*ia64.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>LINUXIA64_64</StringValue>
      <StringValue>LINUX_IA64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <!-- LB: detected on ls3680 -->
      <StringValue>compiled on\s*Linux.*ppc64.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>LINUXPPC64_64</StringValue>
      <StringValue>LINUX_PPC64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*NT.*x86.*</StringValue>
      <StringValue>NT</StringValue>
      <StringValue>I386</StringValue>
      <StringValue>WINDOWS_I386</StringValue>
      <StringValue>32</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*SunOS.*sun4u.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>SUNOS_64</StringValue>
      <StringValue>SOLARIS_SPARC</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*SunOS.*i86pc.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>SUNOS_AMD_64</StringValue>
      <StringValue>SOLARIS_X86_64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*AIX.*(\(iSeries\)){0}.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>AIX_64</StringValue>
      <StringValue>AIX_PPC64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
<!-- sr: Suggested by Michael Koegel for HP-UX -->
      <StringValue>compiled on\s*HP-UX B\.11.*</StringValue>
      <StringValue>UNIX</StringValue>
      <StringValue>HP11_64</StringValue>
      <StringValue>HPUX_PARISC</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>compiled on\s*AIX.*\(iSeries\).*</StringValue>
      <StringValue>OS400</StringValue>
      <StringValue>AS400</StringValue>
      <StringValue>OS400_PPC64</StringValue>
      <StringValue>64</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>kernel release\s*[\d\.]+.*</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue>[\d\.]+</StringValue>
      <StringValue null="true"></StringValue>
    </StringArray>
    <StringArray>
      <StringValue>patch number\s*[\d\.]+.*</StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue null="true"></StringValue>
      <StringValue>[\d\.]+</StringValue>
    </StringArray>
  </StringTable>
</VariableHandler>

