﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema targetNamespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#unix" elementFormDefault="qualified" version="5.6" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:oval-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" xmlns:unix-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#unix" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
  <xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" schemaLocation="oval-system-characteristics-schema.xsd" />
  <xsd:element name="file_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="filepath" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="path" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="filename" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" nillable="true" />
            <xsd:element name="type" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="group_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="user_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="a_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="c_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="m_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="size" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="suid" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="sgid" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="sticky" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="uread" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="uwrite" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="uexec" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="gread" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="gwrite" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="gexec" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="oread" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="owrite" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="oexec" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="inetd_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="protocol" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="service_name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="server_program" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="server_arguments" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="endpoint_type" type="unix-sc:EntityEndpointType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="exec_as_user" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="wait_status" type="unix-sc:EntityWaitStatusType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="interface_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="type" type="unix-sc:EntityItemInterfaceType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="hardware_addr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="inet_addr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="broadcast_addr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="netmask" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="flag" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="password_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="username" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="password" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="user_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="group_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="gcos" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="home_dir" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="login_shell" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="process_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="command" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="exec_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="pid" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="ppid" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="priority" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="scheduling_class" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="start_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="tty" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="user_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="runlevel_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="service_name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="runlevel" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="start" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="kill" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="sccs_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="filepath" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="path" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="filename" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="module_name" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="module_type" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="release" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="level" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="branch" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="sequence" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="what_string" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="shadow_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="username" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="password" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="chg_lst" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="chg_allow" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="chg_req" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="exp_warn" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="exp_inact" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="exp_date" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="flag" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="uname_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="machine_class" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="node_name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="os_name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="os_release" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="os_version" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="processor_type" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="xinetd_item" substitutionGroup="oval-sc:item">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="oval-sc:ItemType">
          <xsd:sequence>
            <xsd:element name="protocol" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="service_name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="flags" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="no_access" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="only_from" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="port" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="server" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="server_arguments" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="socket_type" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="type" type="unix-sc:EntityXinetdTypeStatusType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="user" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="wait" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="disabled" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="EntityEndpointType">
    <xsd:simpleContent>
      <xsd:restriction base="oval-sc:EntityItemStringType">
        <xsd:enumeration value="stream" />
        <xsd:enumeration value="dgram" />
        <xsd:enumeration value="raw" />
        <xsd:enumeration value="seqpacket" />
        <xsd:enumeration value="tli" />
        <xsd:enumeration value="" />
      </xsd:restriction>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="EntityXinetdTypeStatusType">
    <xsd:simpleContent>
      <xsd:restriction base="oval-sc:EntityItemStringType">
        <xsd:enumeration value="INTERNAL" />
        <xsd:enumeration value="RPC" />
        <xsd:enumeration value="UNLISTED" />
        <xsd:enumeration value="" />
      </xsd:restriction>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="EntityWaitStatusType">
    <xsd:simpleContent>
      <xsd:restriction base="oval-sc:EntityItemStringType">
        <xsd:enumeration value="wait" />
        <xsd:enumeration value="nowait" />
        <xsd:enumeration value="" />
      </xsd:restriction>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="EntityItemInterfaceType">
    <xsd:simpleContent>
      <xsd:restriction base="oval-sc:EntityItemStringType">
        <xsd:enumeration value="ARPHRD_ETHER" />
        <xsd:enumeration value="ARPHRD_FDDI" />
        <xsd:enumeration value="ARPHRD_LOOPBACK" />
        <xsd:enumeration value="ARPHRD_VOID" />
        <xsd:enumeration value="ARPHRD_PPP" />
        <xsd:enumeration value="ARPHRD_SLIP" />
        <xsd:enumeration value="ARPHRD_PRONET" />
        <xsd:enumeration value="" />
      </xsd:restriction>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:schema>