亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? http_config.h

?? Apache_2.0.59-Openssl_0.9 配置tomcat. Apache_2.0.59-Openssl_0.9 配置tomcat.
?? H
?? 第 1 頁 / 共 3 頁
字號:
     *  @param p The pool to use for all allocations.
     *  @param base_conf The directory structure created for the parent directory.
     *  @param new_conf The directory structure currently being processed.
     *  @return The new per-directory structure created
     */
    void *(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf);
    /** Function to allow all modules to create per server configuration
     *  structures.
     *  @param p The pool to use for all allocations.
     *  @param s The server currently being processed.
     *  @return The per-server structure created
     */
    void *(*create_server_config) (apr_pool_t *p, server_rec *s);
    /** Function to allow all modules to merge the per server configuration
     *  structures for two servers.
     *  @param p The pool to use for all allocations.
     *  @param base_conf The directory structure created for the parent directory.
     *  @param new_conf The directory structure currently being processed.
     *  @return The new per-directory structure created
     */
    void *(*merge_server_config) (apr_pool_t *p, void *base_conf, 
                                  void *new_conf);

    /** A command_rec table that describes all of the directives this module
     * defines. */
    const command_rec *cmds;

    /** A hook to allow modules to hook other points in the request processing.
     *  In this function, modules should call the ap_hook_*() functions to
     *  register an interest in a specific step in processing the current
     *  request.
     *  @param p the pool to use for all allocations
     */
    void (*register_hooks) (apr_pool_t *p);
};

/**
 * @defgroup ModuleInit Module structure initializers
 *
 * Initializer for the first few module slots, which are only
 * really set up once we start running.  Note that the first two slots
 * provide a version check; this should allow us to deal with changes to
 * the API. The major number should reflect changes to the API handler table
 * itself or removal of functionality. The minor number should reflect
 * additions of functionality to the existing API. (the server can detect
 * an old-format module, and either handle it back-compatibly, or at least
 * signal an error). See src/include/ap_mmn.h for MMN version history.
 * @{
 */

/** The one used in Apache 1.3, which will deliberately cause an error */
#define STANDARD_MODULE_STUFF	this_module_needs_to_be_ported_to_apache_2_0

/** Use this in all standard modules */
#define STANDARD20_MODULE_STUFF	MODULE_MAGIC_NUMBER_MAJOR, \
				MODULE_MAGIC_NUMBER_MINOR, \
				-1, \
				__FILE__, \
				NULL, \
				NULL, \
				MODULE_MAGIC_COOKIE, \
                                NULL      /* rewrite args spot */

/** Use this only in MPMs */
#define MPM20_MODULE_STUFF	MODULE_MAGIC_NUMBER_MAJOR, \
				MODULE_MAGIC_NUMBER_MINOR, \
				-1, \
				__FILE__, \
				NULL, \
				NULL, \
				MODULE_MAGIC_COOKIE

/** @} */

/* CONFIGURATION VECTOR FUNCTIONS */

/** configuration vector structure */
typedef struct ap_conf_vector_t ap_conf_vector_t;

/**
 * Generic accessors for other modules to get at their own module-specific
 * data
 * @param conf_vector The vector in which the modules configuration is stored.
 *        usually r->per_dir_config or s->module_config
 * @param m The module to get the data for.
 * @return The module-specific data
 */
AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv,
                                        const module *m);

/**
 * Generic accessors for other modules to set at their own module-specific
 * data
 * @param conf_vector The vector in which the modules configuration is stored.
 *        usually r->per_dir_config or s->module_config
 * @param m The module to set the data for.
 * @param val The module-specific data to set
 */
AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
                                      void *val);

#if !defined(AP_DEBUG)

#define ap_get_module_config(v,m)	\
    (((void **)(v))[(m)->module_index])
#define ap_set_module_config(v,m,val)	\
    ((((void **)(v))[(m)->module_index]) = (val))

#endif /* AP_DEBUG */


/**
 * Generic command handling function for strings
 * @param cmd The command parameters for this directive
 * @param struct_ptr pointer into a given type
 * @param arg The argument to the directive
 * @return An error string or NULL on success
 */
AP_DECLARE_NONSTD(const char *) ap_set_string_slot(cmd_parms *cmd, 
                                                   void *struct_ptr,
                                                   const char *arg);

/**
 * Generic command handling function for integers
 * @param cmd The command parameters for this directive
 * @param struct_ptr pointer into a given type
 * @param arg The argument to the directive
 * @return An error string or NULL on success
 */
AP_DECLARE_NONSTD(const char *) ap_set_int_slot(cmd_parms *cmd, 
                                                void *struct_ptr,
                                                const char *arg);

/**
 * Return true if the specified method is limited by being listed in
 * a <Limit> container, or by *not* being listed in a <LimiteExcept>
 * container.
 *
 * @param   method  Pointer to a string specifying the method to check.
 * @param   cmd     Pointer to the cmd_parms structure passed to the
 *                  directive handler.
 * @return  0 if the method is not limited in the current scope
 */
AP_DECLARE(int) ap_method_is_limited(cmd_parms *cmd, const char *method);

/**
 * Generic command handling function for strings, always sets the value
 * to a lowercase string
 * @param cmd The command parameters for this directive
 * @param struct_ptr pointer into a given type
 * @param arg The argument to the directive
 * @return An error string or NULL on success
 */
AP_DECLARE_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *cmd, 
                                                         void *struct_ptr, 
                                                         const char *arg);
/**
 * Generic command handling function for flags
 * @param cmd The command parameters for this directive
 * @param struct_ptr pointer into a given type
 * @param arg The argument to the directive (either 1 or 0)
 * @return An error string or NULL on success
 */
AP_DECLARE_NONSTD(const char *) ap_set_flag_slot(cmd_parms *cmd, 
                                                 void *struct_ptr, 
                                                 int arg);
/**
 * Generic command handling function for files
 * @param cmd The command parameters for this directive
 * @param struct_ptr pointer into a given type
 * @param arg The argument to the directive
 * @return An error string or NULL on success
 */
AP_DECLARE_NONSTD(const char *) ap_set_file_slot(cmd_parms *cmd, 
                                                 void *struct_ptr, 
                                                 const char *arg);
/**
 * Generic command handling function to respond with cmd->help as an error
 * @param cmd The command parameters for this directive
 * @param struct_ptr pointer into a given type
 * @param arg The argument to the directive
 * @return The cmd->help value as the error string
 * @tip This allows simple declarations such as;
 * <pre>
 *     AP_INIT_RAW_ARGS("Foo", ap_set_deprecated, NULL, OR_ALL, 
 *         "The Foo directive is no longer supported, use Bar"),
 * </pre>
 */
AP_DECLARE_NONSTD(const char *) ap_set_deprecated(cmd_parms *cmd, 
                                                  void *struct_ptr, 
                                                  const char *arg);
/**
 * For modules which need to read config files, open logs, etc. this returns
 * the canonical form of fname made absolute to ap_server_root.
 * @param p pool to allocate data from
 * @param fname The file name
 */
AP_DECLARE(char *) ap_server_root_relative(apr_pool_t *p, const char *fname);

/* Finally, the hook for dynamically loading modules in... */

/**
 * Add a module to the server
 * @param m The module structure of the module to add
 * @param p The pool of the same lifetime as the module
 */
AP_DECLARE(void) ap_add_module(module *m, apr_pool_t *p);

/**
 * Remove a module from the server.  There are some caveats:
 * when the module is removed, its slot is lost so all the current
 * per-dir and per-server configurations are invalid. So we should
 * only ever call this function when you are invalidating almost
 * all our current data. I.e. when doing a restart.
 * @param m the module structure of the module to remove
 */
AP_DECLARE(void) ap_remove_module(module *m);
/**
 * Add a module to the chained modules list and the list of loaded modules
 * @param m The module structure of the module to add
 * @param p The pool with the same lifetime as the module
 */
AP_DECLARE(void) ap_add_loaded_module(module *mod, apr_pool_t *p);
/**
 * Remove a module fromthe chained modules list and the list of loaded modules
 * @param m the module structure of the module to remove
 */
AP_DECLARE(void) ap_remove_loaded_module(module *mod);
/**
 * Add a module to the list of loaded module based on the name of the
 * module
 * @param name The name of the module
 * @param p The pool valid for the lifetime of the module
 * @return 1 on success, 0 on failure
 */
AP_DECLARE(int) ap_add_named_module(const char *name, apr_pool_t *p);
/**
 * Find the name of the specified module
 * @param m The module to get the name for
 * @return the name of the module
 */
AP_DECLARE(const char *) ap_find_module_name(module *m);
/**
 * Find a module based on the name of the module
 * @param name the name of the module
 * @return the module structure if found, NULL otherwise
 */
AP_DECLARE(module *) ap_find_linked_module(const char *name);

/**
 * Open a ap_configfile_t as apr_file_t
 * @param ret_cfg open ap_configfile_t struct pointer
 * @param p The pool to allocate the structure from
 * @param name the name of the file to open
 */
AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg, 
                                          apr_pool_t *p, const char *name);

/**
 * Allocate a ap_configfile_t handle with user defined functions and params 
 * @param p The pool to allocate from
 * @param descr The name of the file
 * @param param The argument passed to getch/getstr/close
 * @param getc_func The getch function
 * @param gets_func The getstr function
 * @param close_func The close function
 */
AP_DECLARE(ap_configfile_t *) ap_pcfg_open_custom(apr_pool_t *p, 
    const char *descr,
    void *param,
    int(*getc_func)(void*),
    void *(*gets_func) (void *buf, size_t bufsiz, void *param),
    int(*close_func)(void *param));

/**
 * Read one line from open ap_configfile_t, strip LF, increase line number
 * @param buf place to store the line read
 * @param bufsize size of the buffer
 * @param cfp File to read from
 * @return 1 on success, 0 on failure
 */
AP_DECLARE(int) ap_cfg_getline(char *buf, size_t bufsize, ap_configfile_t *cfp);

/**
 * Read one char from open configfile_t, increase line number upon LF 
 * @param cfp The file to read from
 * @return the character read
 */
AP_DECLARE(int) ap_cfg_getc(ap_configfile_t *cfp);

/**
 * Detach from open ap_configfile_t, calling the close handler
 * @param cfp The file to close
 * @return 1 on sucess, 0 on failure
 */
AP_DECLARE(int) ap_cfg_closefile(ap_configfile_t *cfp);

/**
 * Read all data between the current <foo> and the matching </foo>.  All
 * of this data is forgotten immediately.  
 * @param cmd The cmd_parms to pass to the directives inside the container
 * @param directive The directive name to read until
 * @return Error string on failure, NULL on success
 */
AP_DECLARE(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive);

/**
 * Read all data between the current <foo> and the matching </foo> and build
 * a config tree from it
 * @param p pool to allocate from
 * @param temp_pool Temporary pool to allocate from
 * @param parms The cmd_parms to pass to all directives read
 * @param current The current node in the tree
 * @param curr_parent The current parent node
 * @param orig_directive The directive to read until hit.
 * @return Error string on failure, NULL on success
*/
AP_DECLARE(const char *) ap_build_cont_config(apr_pool_t *p, 
                                              apr_pool_t *temp_pool,
                                              cmd_parms *parms,
                                              ap_directive_t **current,
                                              ap_directive_t **curr_parent,
                                              char *orig_directive);

/**
 * Build a config tree from a config file
 * @param parms The cmd_parms to pass to all of the directives in the file
 * @param conf_pool The pconf pool
 * @param temp_pool The temporary pool
 * @param conftree Place to store the root node of the config tree
 * @return Error string on erro, NULL otherwise
 */
AP_DECLARE(const char *) ap_build_config(cmd_parms *parms,
                                         apr_pool_t *conf_pool,
                                         apr_pool_t *temp_pool,
                                         ap_directive_t **conftree);

/**
 * Walk a config tree and setup the server's internal structures
 * @param conftree The config tree to walk

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产片| 国产成人av电影在线观看| 日本一区二区视频在线| 日韩欧美国产三级电影视频| 欧美日韩一区二区三区免费看| 91免费看片在线观看| 成人精品高清在线| 一本久久a久久免费精品不卡| gogogo免费视频观看亚洲一| 99在线热播精品免费| 91免费观看在线| 在线欧美一区二区| 欧美日韩aaa| 日韩丝袜美女视频| 久久久久青草大香线综合精品| 国产亚洲成av人在线观看导航| 国产亚洲欧洲997久久综合 | 亚洲bt欧美bt精品| 日韩国产精品久久久久久亚洲| 日韩激情视频在线观看| 九一九一国产精品| 成人一区在线观看| 欧美性色欧美a在线播放| 在线成人免费观看| 久久精品视频网| 亚洲黄一区二区三区| 日韩va亚洲va欧美va久久| 国产伦精品一区二区三区免费| www.欧美日韩| 91精品国产综合久久精品图片 | 国产成人亚洲综合色影视| www.亚洲免费av| 欧美理论在线播放| 国产日韩欧美在线一区| 亚洲一级在线观看| 国产精品91一区二区| 欧美午夜一区二区三区| 精品999在线播放| 亚洲男人的天堂av| 久久99国产精品免费| 日本国产一区二区| 久久精品亚洲乱码伦伦中文| 亚洲自拍都市欧美小说| 国产成人超碰人人澡人人澡| 欧美精选一区二区| 国产精品国产三级国产aⅴ无密码| 午夜视频久久久久久| 成人一级黄色片| 日韩你懂的在线观看| 亚洲综合在线第一页| 国产成人亚洲综合a∨猫咪| 欧美乱熟臀69xxxxxx| 中文字幕一区二区三区乱码在线| 男人的天堂久久精品| 在线一区二区三区四区| 国产精品你懂的| 黄一区二区三区| 欧美久久久影院| 亚洲资源中文字幕| 99国产精品国产精品毛片| 精品少妇一区二区| 青草av.久久免费一区| 在线看不卡av| 一区二区三区四区不卡视频| 丁香婷婷综合色啪| 久久久久久影视| 精品一区二区影视| 日韩精品一区二区三区在线观看| 亚洲午夜免费视频| 欧美在线播放高清精品| 亚洲欧美日韩国产一区二区三区| 成人午夜精品在线| 国产女人18水真多18精品一级做| 国产综合色在线| 久久久久久99久久久精品网站| 蜜乳av一区二区| 日韩视频在线一区二区| 美女mm1313爽爽久久久蜜臀| 91麻豆精品国产91久久久| 午夜国产精品一区| 欧美蜜桃一区二区三区| 午夜精品久久久久久久久久| 欧美日韩国产a| 日韩电影一区二区三区| 日韩午夜中文字幕| 国内不卡的二区三区中文字幕| 日韩女优av电影| 东方aⅴ免费观看久久av| 亚洲视频免费在线| 欧美日韩在线不卡| 美女高潮久久久| 久久久国产精华| av中文字幕不卡| 一区二区三区不卡在线观看| 在线观看一区二区精品视频| 天堂资源在线中文精品| 欧美成人乱码一区二区三区| 国产精一区二区三区| 国产精品免费aⅴ片在线观看| 91美女在线看| 日韩国产欧美一区二区三区| 国产欧美日韩卡一| 91黄视频在线观看| 美女网站视频久久| 中国av一区二区三区| 欧美性猛交xxxxxx富婆| 久久精品国产99久久6| 国产日韩精品一区二区三区| 在线视频综合导航| 韩国一区二区在线观看| 亚洲图片激情小说| 欧美va亚洲va在线观看蝴蝶网| 粉嫩13p一区二区三区| 五月激情六月综合| 中文在线一区二区| 欧美一区二区三区男人的天堂| 国产黄色91视频| 日韩成人一区二区三区在线观看| 久久综合九色综合久久久精品综合| 91小视频免费看| 国产在线精品一区二区夜色| 伊人一区二区三区| 国产欧美日韩精品a在线观看| 欧美午夜免费电影| 99久久综合色| 久久精品国产99国产精品| 一区二区高清视频在线观看| 国产欧美一区在线| 日韩视频一区二区三区在线播放| 91免费看视频| av在线不卡电影| 久久国产精品区| 亚洲国产日日夜夜| 国产精品国产精品国产专区不片| 日韩视频一区在线观看| 欧美又粗又大又爽| 99热这里都是精品| 高清久久久久久| 国产麻豆成人传媒免费观看| 天天av天天翘天天综合网| 一区二区三区精品视频在线| 国产精品久久午夜| 国产欧美一区二区精品秋霞影院| 精品久久免费看| 欧美一级精品大片| 91麻豆精品国产91久久久久| 欧美日韩和欧美的一区二区| 在线观看亚洲a| 色狠狠综合天天综合综合| va亚洲va日韩不卡在线观看| 国产成人精品午夜视频免费| 99久久99久久久精品齐齐| 国产伦精品一区二区三区免费 | 亚洲欧洲另类国产综合| 国产日韩影视精品| 国产欧美日本一区视频| 国产精品久久久久桃色tv| 国产精品视频免费看| 中文字幕欧美激情| 中文字幕一区二区三区在线观看| 中文av一区特黄| 一区二区三区在线免费播放 | 久久午夜免费电影| 久久众筹精品私拍模特| 国产午夜精品久久| 日本一区二区三区四区在线视频| 国产日韩亚洲欧美综合| 亚洲三级在线看| 亚洲国产精品嫩草影院| 三级在线观看一区二区| 日本成人在线不卡视频| 国产乱对白刺激视频不卡| 成人av网站大全| 欧美在线观看一区二区| 日韩写真欧美这视频| 国产精品欧美一级免费| 亚洲自拍都市欧美小说| 美女一区二区久久| jlzzjlzz国产精品久久| 欧美亚洲丝袜传媒另类| 日韩欧美一级特黄在线播放| 久久久久久久网| 亚洲男人天堂av| 久草精品在线观看| 91视频一区二区三区| 欧美一区二区观看视频| 国产精品午夜在线| 欧美aaaaaa午夜精品| 色综合色狠狠综合色| 日韩欧美国产成人一区二区| 亚洲免费在线看| 国内欧美视频一区二区| 色妞www精品视频| 久久婷婷一区二区三区| 亚洲精品国产视频| 国产在线一区二区综合免费视频| 91九色最新地址| 久久婷婷色综合| 奇米综合一区二区三区精品视频 | 亚洲黄色尤物视频|