PHP 8.1.33
Preview: util_cfgtree.h Size: 3.08 KB
/usr/include/apache2/util_cfgtree.h

/* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @file  util_cfgtree.h
 * @brief Config Tree Package
 *
 * @defgroup APACHE_CORE_CONFIG_TREE Config Tree Package
 * @ingroup  APACHE_CORE_CONFIG
 * @{
 */

#ifndef AP_CONFTREE_H
#define AP_CONFTREE_H

#include "ap_config.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct ap_directive_t ap_directive_t;

/**
 * @brief Structure used to build the config tree.
 *
 * The config tree only stores
 * the directives that will be active in the running server.  Directives
 * that contain other directions, such as <Directory ...> cause a sub-level
 * to be created, where the included directives are stored.  The closing
 * directive (</Directory>) is not stored in the tree.
 */
struct ap_directive_t {
    /** The current directive */
    const char *directive;
    /** The arguments for the current directive, stored as a space
     *  separated list */
    const char *args;
    /** The next directive node in the tree */
    struct ap_directive_t *next;
    /** The first child node of this directive */
    struct ap_directive_t *first_child;
    /** The parent node of this directive */
    struct ap_directive_t *parent;

    /** directive's module can store add'l data here */
    void *data;

    /* ### these may go away in the future, but are needed for now */
    /** The name of the file this directive was found in */
    const char *filename;
    /** The line number the directive was on */
    int line_num;

    /** A short-cut towards the last directive node in the tree.
     *  The value may not always be up-to-date but it always points to
     *  somewhere in the tree, nearer to the tail.
     *  This value is only set in the first node
     */
    struct ap_directive_t *last;
};

/**
 * The root of the configuration tree
 */
AP_DECLARE_DATA extern ap_directive_t *ap_conftree;

/**
 * Add a node to the configuration tree.
 * @param parent The current parent node.  If the added node is a first_child,
                 then this is changed to the current node
 * @param current The current node
 * @param toadd The node to add to the tree
 * @param child Is the node to add a child node
 * @return the added node
 */
ap_directive_t *ap_add_node(ap_directive_t **parent, ap_directive_t *current,
                            ap_directive_t *toadd, int child);

#ifdef __cplusplus
}
#endif

#endif
/** @} */

Directory Contents

Dirs: 0 × Files: 66

Name Size Perms Modified Actions
14 B lrw-r--r-- 2025-08-12 08:59:06
Edit Download
15.59 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
1.05 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
6.45 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
9.90 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
2.52 KB lrw-r--r-- 2025-08-12 08:59:07
Edit Download
13.75 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
5.85 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
5.93 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
39.53 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
10.51 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
3.45 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
11.14 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
8.97 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
3.07 KB lrw-r--r-- 2025-08-12 08:59:02
Edit Download
7.07 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
9.18 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
1.97 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
1.56 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
94.81 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
56.37 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
6.97 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
36.40 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
36.01 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
3.17 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
41.41 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
25.72 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
14.62 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
4.49 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
4.42 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
7.09 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
2.44 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
3.33 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
97.85 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
4.06 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
4.59 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
3.89 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
2.43 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
65.80 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
1.59 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
1.36 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
6.61 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
1.20 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
4.87 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
4.80 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
2.38 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
1.09 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
7.34 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
2.25 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
16.92 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
1.63 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
9.94 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
4.14 KB lrw-r--r-- 2025-08-12 08:59:05
Edit Download
3.08 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
2.21 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
4.84 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
2.69 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
9.75 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
25.84 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
17.94 KB lrw-r--r-- 2025-08-12 08:59:03
Edit Download
2.12 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
9.07 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
9.63 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
4.10 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
8.09 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download
1.31 KB lrw-r--r-- 2025-08-12 08:59:04
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).