Merge branch 'for-3.1' of git://linux-nfs.org/~bfields/linux
[pandora-kernel.git] / include / linux / textsearch.h
index 6f371f2..d9a85d6 100644 (file)
 
 struct ts_config;
 
-/**
- * TS_AUTOLOAD - Automatically load textsearch modules when needed
- */
-#define TS_AUTOLOAD    1
+#define TS_AUTOLOAD    1 /* Automatically load textsearch modules when needed */
+#define TS_IGNORECASE  2 /* Searches string case insensitively */
 
 /**
  * struct ts_state - search state
@@ -39,7 +37,7 @@ struct ts_state
 struct ts_ops
 {
        const char              *name;
-       struct ts_config *      (*init)(const void *, unsigned int, gfp_t);
+       struct ts_config *      (*init)(const void *, unsigned int, gfp_t, int);
        unsigned int            (*find)(struct ts_config *,
                                        struct ts_state *);
        void                    (*destroy)(struct ts_config *);
@@ -52,12 +50,14 @@ struct ts_ops
 /**
  * struct ts_config - search configuration
  * @ops: operations of chosen algorithm
+ * @flags: flags
  * @get_next_block: callback to fetch the next block to search in
  * @finish: callback to finalize a search
  */
 struct ts_config
 {
        struct ts_ops           *ops;
+       int                     flags;
 
        /**
         * get_next_block - fetch next block of data
@@ -162,11 +162,10 @@ static inline struct ts_config *alloc_ts_config(size_t payload,
 {
        struct ts_config *conf;
 
-       conf = kmalloc(TS_PRIV_ALIGN(sizeof(*conf)) + payload, gfp_mask);
+       conf = kzalloc(TS_PRIV_ALIGN(sizeof(*conf)) + payload, gfp_mask);
        if (conf == NULL)
                return ERR_PTR(-ENOMEM);
 
-       memset(conf, 0, TS_PRIV_ALIGN(sizeof(*conf)) + payload);
        return conf;
 }