Commit 9c8011dd authored by Nick Kew's avatar Nick Kew
Browse files

Move ap_filter_provider_t back out of public API

(suggested by nd; makes sense to niq)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105603 13f79535-47bb-0310-9956-ffa450edef68
parent dbdd4a98
Loading
Loading
Loading
Loading
+0 −37
Original line number Diff line number Diff line
@@ -261,43 +261,6 @@ struct ap_filter_rec_t {
    const char* range;
};

/**
 * ap_filter_provider_t is a filter provider, as defined and implemented
 * by mod_filter.  The struct is a linked list, with dispatch criteria
 * defined for each filter.  The provider implementation itself is a
 * (2.0-compatible) ap_filter_rec_t* frec.
 */
struct ap_filter_provider_t {
    /** How to match this provider to filter dispatch criterion */
    enum {
        STRING_MATCH,
        STRING_CONTAINS,
        REGEX_MATCH,
        INT_EQ,
        INT_LT,
        INT_LE,
        INT_GT,
        INT_GE,
        DEFINED
    } match_type;

    /** negation on match_type */
    int not;

    /** The dispatch match itself - union member depends on match_type */
    union {
        const char *string;
        regex_t    *regex;
        int         number;
    } match;

    /** The filter that implements this provider */
    ap_filter_rec_t *frec;

    /** The next provider in the list */
    ap_filter_provider_t *next;
};

/**
 * The representation of a filter chain.  Each request has a list
 * of these structures which are called in turn to filter the data.  Sub
+37 −0
Original line number Diff line number Diff line
@@ -40,6 +40,43 @@

module AP_MODULE_DECLARE_DATA filter_module;

/**
 * ap_filter_provider_t is a filter provider, as defined and implemented
 * by mod_filter.  The struct is a linked list, with dispatch criteria
 * defined for each filter.  The provider implementation itself is a
 * (2.0-compatible) ap_filter_rec_t* frec.
 */
struct ap_filter_provider_t {
    /** How to match this provider to filter dispatch criterion */
    enum {
        STRING_MATCH,
        STRING_CONTAINS,
        REGEX_MATCH,
        INT_EQ,
        INT_LT,
        INT_LE,
        INT_GT,
        INT_GE,
        DEFINED
    } match_type;

    /** negation on match_type */
    int not;

    /** The dispatch match itself - union member depends on match_type */
    union {
        const char *string;
        regex_t    *regex;
        int         number;
    } match;

    /** The filter that implements this provider */
    ap_filter_rec_t *frec;

    /** The next provider in the list */
    ap_filter_provider_t *next;
};

typedef struct {
    ap_out_filter_func func;
    void *fctx;