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  /** @} */