1 /* HRR.h - Glue functions to adapt apr to both Apache httpd 2.2 and 2.4 2 * Copyright (c) 2015 Synergetics NV (sampo@synergetics.be), All Rights Reserved. 3 * Author: Sampo Kellomaki (sampo@iki.fi) 4 * This is confidential unpublished proprietary source code of the author. 5 * NO WARRANTY, not even implied warranties. Contains trade secrets. 6 * Distribution prohibited unless authorized in writing or as licensed below. 7 * Licensed under Apache License 2.0, see file COPYING. 8 * $Id: HRR.h,v 1.17 2010-01-08 02:10:09 sampo Exp $ 9 * 10 * 12.4.2015, created --Sampo 11 * 12 * http://httpd.apache.org/docs/2.2/developer/ 13 * http://modules.apache.org/doc/API.html 14 */ 15 16 #ifndef _HRR_H 17 #define _HRR_H 1 18 19 #ifdef USE_HRR 20 21 #define HRRC_headers_in 0 22 #define HRRC_headers_out 1 23 #define HRRC_err_headers_out 2 24 #define HRRC_pool 4 25 #define HRRC_args 5 26 #define HRRC_uri 6 27 #define HRRC_user 7 28 #define HRRC_filename 8 29 #define HRRC_path_info 9 30 #define HRRC_header_only 10 31 #define HRRC_remaining 11 32 #define HRRC_main 12 33 #define HRRC_method_number 13 34 #define HRRC_subprocess_env 14 35 #define HRRC_per_dir_config 15 36 37 #define HRR_headers_in(r) HRR_field((r), HRRC_headers_in) 38 #define HRR_headers_out(r) HRR_field((r), HRRC_headers_out) 39 #define HRR_err_headers_out(r) HRR_field((r), HRRC_err_headers_out) 40 #define HRR_pool(r) HRR_field((r), HRRC_pool) 41 #define HRR_subprocess_env(r) HRR_field((r), HRRC_subprocess_env) 42 #define HRR_args(r) HRR_field((r), HRRC_args) 43 #define HRR_uri(r) HRR_field((r), HRRC_uri) 44 #define HRR_user(r) HRR_field((r), HRRC_user) 45 #define HRR_filename(r) HRR_field((r), HRRC_filename) 46 #define HRR_path_info(r) HRR_field((r), HRRC_path_info) 47 #define HRR_header_only(r) HRR_field_int((r), HRRC_header_only) 48 #define HRR_remaining(r) HRR_field_int((r), HRRC_remaining) 49 #define HRR_main(r) HRR_field((r), HRRC_main) 50 #define HRR_method_number(r) HRR_field_int((r), HRRC_method_number) 51 #define HRR_per_dir_config(r) HRR_field((r), HRRC_per_dir_config) 52 53 #define HRR_set_args(r,v) HRR_set_field((r), HRRC_args, (v)) 54 #define HRR_set_uri(r,v) HRR_set_field((r), HRRC_uri, (v)) 55 #define HRR_set_user(r,v) HRR_set_field((r), HRRC_user, (v)) 56 57 void* HRR_field(request_rec* r, int field); 58 int HRR_field_int(request_rec* r, int field); 59 void HRR_set_field(request_rec* r, int field, void* v); 60 61 #else 62 63 #define HRR_headers_in(r) ((r)->headers_in) 64 #define HRR_headers_out(r) ((r)->headers_out) 65 #define HRR_err_headers_out(r) ((r)->err_headers_out) 66 #define HRR_pool(r) ((r)->pool) 67 #define HRR_subprocess_env(r) ((r)->subprocess_env) 68 #define HRR_args(r) ((r)->args) 69 #define HRR_uri(r) ((r)->uri) 70 #define HRR_user(r) ((r)->user) 71 #define HRR_filename(r) ((r)->filename) 72 #define HRR_path_info(r) ((r)->path_info) 73 #define HRR_header_only(r) ((r)->header_only) 74 #define HRR_remaining(r) ((r)->remaining) 75 #define HRR_main(r) ((r)->main) 76 #define HRR_method_number(r) ((r)->method_number) 77 #define HRR_per_dir_config(r) ((r)->per_dir_config) 78 79 #define HRR_set_args(r,v) ((r)->args = (v)) 80 #define HRR_set_uri(r,v) ((r)->uri = (v)) 81 #define HRR_set_user(r,v) ((r)->user = (v)) 82 83 #endif 84 85 #endif /* _HRR_H */ 86