<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--

 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

--><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache log4cxx: Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<h1>ErrorCode Member List</h1>This is the complete list of members for <a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a>, including all inherited members.<p><table>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55b3b5c6f0cd4c7f24f4cb6f7bd77d16da7">ADDRESS_PARSE_FAILURE</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55b696f2c867e04ef6b6f5b4ac34b9cc552">CLOSE_FAILURE</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55baac1fc2ba7c61ff7f9cacdd68c743622">FILE_OPEN_FAILURE</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55b38da0a70362d5e672d6e272c3fbd2137">FLUSH_FAILURE</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55b7691ae114cb10fba4b50a9fcac60c9da">GENERIC_FAILURE</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55bb4654a8c0207562a39180226bb5865e6">MISSING_LAYOUT</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html#06fc87d81c62e9abb8790b6e5713c55be5629a09872e7682df4c393234461fae">WRITE_FAILURE</a> enum value</td><td><a class="el" href="classlog4cxx_1_1spi_1_1_error_code.html">ErrorCode</a></td><td></td></tr>
</table><!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
    </BODY>
</HTML>
