| /* |
| * XML DRI client-side driver configuration |
| * Copyright (C) 2003 Felix Kuehling |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a |
| * copy of this software and associated documentation files (the "Software"), |
| * to deal in the Software without restriction, including without limitation |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| * and/or sell copies of the Software, and to permit persons to whom the |
| * Software is furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included |
| * in all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, |
| * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR |
| * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE |
| * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| * |
| */ |
| /** |
| * \file xmlpool.h |
| * \brief Pool of common options |
| * \author Felix Kuehling |
| * |
| * This file defines macros that can be used to construct |
| * driConfigOptions in the drivers. Common options are defined in |
| * xmlpool/t_options.h from which xmlpool/options.h is generated with |
| * translations. This file defines generic helper macros and includes |
| * xmlpool/options.h. |
| */ |
| |
| #ifndef __XMLPOOL_H |
| #define __XMLPOOL_H |
| |
| /* |
| * generic macros |
| */ |
| |
| /** \brief Begin __driConfigOptions */ |
| #define DRI_CONF_BEGIN \ |
| "<driinfo>\n" |
| |
| /** \brief End __driConfigOptions */ |
| #define DRI_CONF_END \ |
| "</driinfo>\n" |
| |
| /** \brief Begin a section of related options */ |
| #define DRI_CONF_SECTION_BEGIN \ |
| "<section>\n" |
| |
| /** \brief End a section of related options */ |
| #define DRI_CONF_SECTION_END \ |
| "</section>\n" |
| |
| /** \brief Begin an option definition */ |
| #define DRI_CONF_OPT_BEGIN(name,type,def) \ |
| "<option name=\""#name"\" type=\""#type"\" default=\""#def"\">\n" |
| |
| /** |
| * \brief Begin a boolean option definition, with the default value passed in |
| * as a string |
| */ |
| #define DRI_CONF_OPT_BEGIN_B(name,def) \ |
| "<option name=\""#name"\" type=\"bool\" default="#def">\n" |
| |
| /** \brief Begin an option definition with quoted default value */ |
| #define DRI_CONF_OPT_BEGIN_Q(name,type,def) \ |
| "<option name=\""#name"\" type=\""#type"\" default="#def">\n" |
| |
| /** \brief Begin an option definition with restrictions on valid values */ |
| #define DRI_CONF_OPT_BEGIN_V(name,type,def,valid) \ |
| "<option name=\""#name"\" type=\""#type"\" default=\""#def"\" valid=\""valid"\">\n" |
| |
| /** \brief End an option description */ |
| #define DRI_CONF_OPT_END \ |
| "</option>\n" |
| |
| /** \brief A verbal description in a specified language (empty version) */ |
| #define DRI_CONF_DESC(lang,text) \ |
| "<description lang=\""#lang"\" text=\""text"\"/>\n" |
| |
| /** \brief A verbal description in a specified language */ |
| #define DRI_CONF_DESC_BEGIN(lang,text) \ |
| "<description lang=\""#lang"\" text=\""text"\">\n" |
| |
| /** \brief End a description */ |
| #define DRI_CONF_DESC_END \ |
| "</description>\n" |
| |
| /** \brief A verbal description of an enum value */ |
| #define DRI_CONF_ENUM(value,text) \ |
| "<enum value=\""#value"\" text=\""text"\"/>\n" |
| |
| |
| /* |
| * Predefined option sections and options with multi-lingual descriptions |
| * are now automatically generated. |
| */ |
| #include "xmlpool/options.h" |
| |
| #endif |