github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/include/ap_provider.h (about)

     1  /* Licensed to the Apache Software Foundation (ASF) under one or more
     2   * contributor license agreements.  See the NOTICE file distributed with
     3   * this work for additional information regarding copyright ownership.
     4   * The ASF licenses this file to You under the Apache License, Version 2.0
     5   * (the "License"); you may not use this file except in compliance with
     6   * the License.  You may obtain a copy of the License at
     7   *
     8   *     http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  /**
    18   * @file  ap_provider.h
    19   * @brief Apache Provider API
    20   *
    21   * @defgroup APACHE_CORE_PROVIDER Provider API
    22   * @ingroup  APACHE_CORE
    23   * @{
    24   */
    25  
    26  #ifndef AP_PROVIDER_H
    27  #define AP_PROVIDER_H
    28  
    29  #include "ap_config.h"
    30  
    31  #ifdef __cplusplus
    32  extern "C" {
    33  #endif
    34  
    35  typedef struct {
    36      const char *provider_name;
    37  } ap_list_provider_names_t;
    38  
    39  
    40  /**
    41   * This function is used to register a provider with the global
    42   * provider pool.
    43   * @param pool The pool to create any storage from
    44   * @param provider_group The group to store the provider in
    45   * @param provider_name The name for this provider
    46   * @param provider_version The version for this provider
    47   * @param provider Opaque structure for this provider
    48   * @return APR_SUCCESS if all went well
    49   */
    50  AP_DECLARE(apr_status_t) ap_register_provider(apr_pool_t *pool,
    51                                                const char *provider_group,
    52                                                const char *provider_name,
    53                                                const char *provider_version,
    54                                                const void *provider);
    55  
    56  /**
    57   * This function is used to retrieve a provider from the global
    58   * provider pool.
    59   * @param provider_group The group to look for this provider in
    60   * @param provider_name The name for the provider
    61   * @param provider_version The version for the provider
    62   * @return provider pointer to provider if found, NULL otherwise
    63   */
    64  AP_DECLARE(void *) ap_lookup_provider(const char *provider_group,
    65                                        const char *provider_name,
    66                                        const char *provider_version);
    67  
    68  /**
    69   * This function is used to retrieve a list (array) of provider
    70   * names from the specified group with the specified version.
    71   * @param pool The pool to create any storage from
    72   * @param provider_group The group to look for this provider in
    73   * @param provider_version The version for the provider
    74   * @return pointer to array of ap_list_provider_names_t of provider names (could be empty)
    75   */
    76  
    77  AP_DECLARE(apr_array_header_t *) ap_list_provider_names(apr_pool_t *pool,
    78                                                const char *provider_group,
    79                                                const char *provider_version);
    80  
    81  #ifdef __cplusplus
    82  }
    83  #endif
    84  
    85  #endif
    86  /** @} */