github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/include/util_ebcdic.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 util_ebcdic.h 19 * @brief Utilities for EBCDIC conversion 20 * 21 * @defgroup APACHE_CORE_EBCDIC Utilities for EBCDIC conversion 22 * @ingroup APACHE_CORE 23 * @{ 24 */ 25 26 #ifndef APACHE_UTIL_EBCDIC_H 27 #define APACHE_UTIL_EBCDIC_H 28 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 #include "apr_xlate.h" 35 #include "httpd.h" 36 #include "util_charset.h" 37 38 #if APR_CHARSET_EBCDIC 39 40 /** 41 * Setup all of the global translation handlers 42 * @param pool pool to allocate out of 43 */ 44 apr_status_t ap_init_ebcdic(apr_pool_t *pool); 45 46 /** 47 * Convert protocol data from the implementation character 48 * set to ASCII. 49 * @param buffer buffer to translate 50 * @param len number of bytes to translate 51 */ 52 void ap_xlate_proto_to_ascii(char *buffer, apr_size_t len); 53 54 /** 55 * Convert protocol data to the implementation character 56 * set from ASCII. 57 * @param buffer buffer to translate 58 * @param len number of bytes to translate 59 */ 60 void ap_xlate_proto_from_ascii(char *buffer, apr_size_t len); 61 62 /** 63 * Convert protocol data from the implementation charater 64 * set to ASCII, then send it. 65 * @param r the current request 66 * @param ... the strings to write, followed by a NULL pointer 67 */ 68 int ap_rvputs_proto_in_ascii(request_rec *r, ...); 69 70 #else /* APR_CHARSET_EBCDIC */ 71 72 #define ap_xlate_proto_to_ascii(x,y) /* NOOP */ 73 #define ap_xlate_proto_from_ascii(x,y) /* NOOP */ 74 75 #define ap_rvputs_proto_in_ascii ap_rvputs 76 77 #endif /* APR_CHARSET_EBCDIC */ 78 79 #ifdef __cplusplus 80 } 81 #endif 82 83 #endif /* !APACHE_UTIL_EBCDIC_H */ 84 /** @} */