File: filter.h

package info (click to toggle)
389-ds-base 2.3.1%2Bdfsg1-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 37,536 kB
  • sloc: ansic: 306,972; python: 96,937; cpp: 10,257; perl: 2,854; makefile: 2,046; sh: 925; yacc: 806; xml: 379; lex: 366; javascript: 148; java: 50
file content (45 lines) | stat: -rw-r--r-- 1,054 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/** BEGIN COPYRIGHT BLOCK
 * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
 * Copyright (C) 2005 Red Hat, Inc.
 * All rights reserved.
 *
 * License: GPL (version 3 or any later version).
 * See LICENSE for details.
 * END COPYRIGHT BLOCK **/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif


#ifndef _FILTER_H_
#define _FILTER_H_

#include "slapi-plugin.h" /* struct berval, Slapi_PBlock, mrFilterMatchFn */

typedef Slapi_Attr *attr_ptr;

typedef int (*mrf_plugin_fn)(Slapi_PBlock *);

#define MRF_ANY_TYPE  1
#define MRF_ANY_VALUE 2

/*
 * To adjust the other structures in struct slapi_filter,
 * the first field must be type and the second must be value.
 */
typedef struct mr_filter_t
{
    char *mrf_type;
    struct berval mrf_value;
    char *mrf_oid;
    char mrf_dnAttrs;
    mrFilterMatchFn mrf_match;
    mrf_plugin_fn mrf_index;
    unsigned int mrf_reusable; /* MRF_ANY_xxx */
    mrf_plugin_fn mrf_reset;
    void *mrf_object; /* whatever the implementation needs */
    mrf_plugin_fn mrf_destroy;
} mr_filter_t;

#endif