i965/nir: Roll set_default_interpolation into lower_fs_inputs
[mesa.git] / src / mesa / drivers / dri / common / xmlconfig.h
index 5ac88019cd4bca9f0c83c12453649345d355abd8..8969843bdc929182c64c06c3ac8e3ea5683a979f 100644 (file)
 #ifndef __XMLCONFIG_H
 #define __XMLCONFIG_H
 
-#include <stdbool.h>
+#define STRING_CONF_MAXLEN 25
 
 /** \brief Option data types */
 typedef enum driOptionType {
-    DRI_BOOL, DRI_ENUM, DRI_INT, DRI_FLOAT
+    DRI_BOOL, DRI_ENUM, DRI_INT, DRI_FLOAT, DRI_STRING
 } driOptionType;
 
 /** \brief Option value */
 typedef union driOptionValue {
-    bool _bool; /**< \brief Boolean */
+    unsigned char _bool; /**< \brief Boolean */
     int _int;      /**< \brief Integer or Enum */
     float _float;  /**< \brief Floating-point */
+    char *_string;   /**< \brief String */
 } driOptionValue;
 
 /** \brief Single range of valid values
@@ -57,7 +58,7 @@ typedef struct driOptionInfo {
     char *name;             /**< \brief Name */
     driOptionType type;     /**< \brief Type */
     driOptionRange *ranges; /**< \brief Array of ranges */
-    uint nRanges;         /**< \brief Number of ranges */
+    unsigned int nRanges;   /**< \brief Number of ranges */
 } driOptionInfo;
 
 /** \brief Option cache
@@ -75,7 +76,7 @@ typedef struct driOptionCache {
    * \li Default values in screen
    * \li Actual values in contexts 
    */
-    uint tableSize;
+    unsigned int tableSize;
   /**< \brief Size of the arrays
    *
    * In the current implementation it's not actually a size but log2(size).
@@ -111,14 +112,16 @@ void driDestroyOptionInfo (driOptionCache *info);
 void driDestroyOptionCache (driOptionCache *cache);
 
 /** \brief Check if there exists a certain option */
-bool driCheckOption (const driOptionCache *cache, const char *name,
+unsigned char driCheckOption (const driOptionCache *cache, const char *name,
                          driOptionType type);
 
 /** \brief Query a boolean option value */
-bool driQueryOptionb (const driOptionCache *cache, const char *name);
+unsigned char driQueryOptionb (const driOptionCache *cache, const char *name);
 /** \brief Query an integer option value */
 int driQueryOptioni (const driOptionCache *cache, const char *name);
 /** \brief Query a floating-point option value */
 float driQueryOptionf (const driOptionCache *cache, const char *name);
+/** \brief Query a string option value */
+char *driQueryOptionstr (const driOptionCache *cache, const char *name);
 
 #endif