home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / CMCD1104.ISO / Software / Complet / Apache / apache_2.0.52-win32-x86-no_ssl.msi / Data.Cab / F277284_util_ebcdic.h < prev    next >
C/C++ Source or Header  |  2004-02-09  |  2KB  |  78 lines

  1. /* Copyright 2000-2004 The Apache Software Foundation
  2.  *
  3.  * Licensed under the Apache License, Version 2.0 (the "License");
  4.  * you may not use this file except in compliance with the License.
  5.  * You may obtain a copy of the License at
  6.  *
  7.  *     http://www.apache.org/licenses/LICENSE-2.0
  8.  *
  9.  * Unless required by applicable law or agreed to in writing, software
  10.  * distributed under the License is distributed on an "AS IS" BASIS,
  11.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12.  * See the License for the specific language governing permissions and
  13.  * limitations under the License.
  14.  */
  15.  
  16. #ifndef APACHE_UTIL_EBCDIC_H
  17. #define APACHE_UTIL_EBCDIC_H
  18.  
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. #include "apr_xlate.h"
  25. #include "httpd.h"
  26. #include "util_charset.h"
  27.  
  28. /**
  29.  * @package Utilities for EBCDIC conversion
  30.  */
  31.  
  32. #if APR_CHARSET_EBCDIC
  33.  
  34. /**
  35.  * Setup all of the global translation handlers
  36.  * @param pool pool to allocate out of
  37.  */
  38. apr_status_t ap_init_ebcdic(apr_pool_t *pool);
  39.  
  40. /**
  41.  * Convert protocol data from the implementation character
  42.  * set to ASCII.
  43.  * @param buffer buffer to translate
  44.  * @param len number of bytes to translate
  45.  */
  46. void ap_xlate_proto_to_ascii(char *buffer, apr_size_t len);
  47.  
  48. /**
  49.  * Convert protocol data to the implementation character
  50.  * set from ASCII.
  51.  * @param buffer buffer to translate
  52.  * @param len number of bytes to translate
  53.  */
  54. void ap_xlate_proto_from_ascii(char *buffer, apr_size_t len);
  55.  
  56. /**
  57.  * Convert protocol data from the implementation charater
  58.  * set to ASCII, then send it.
  59.  * @param r   the current request
  60.  * @param ... the strings to write, followed by a NULL pointer
  61.  */
  62. int ap_rvputs_proto_in_ascii(request_rec *r, ...);
  63.  
  64. #else   /* APR_CHARSET_EBCDIC */
  65.  
  66. #define ap_xlate_proto_to_ascii(x,y)          /* NOOP */
  67. #define ap_xlate_proto_from_ascii(x,y)        /* NOOP */
  68.  
  69. #define ap_rvputs_proto_in_ascii  ap_rvputs
  70.  
  71. #endif  /* APR_CHARSET_EBCDIC */
  72.  
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76.  
  77. #endif  /* !APACHE_UTIL_EBCDIC_H */
  78.