util_ebcdic.h revision 886cd69ebf69e990dbc365be87ff8ea7cd681904
483ed5892604266e702d65db4d0b2b621c488a09wrowe/* ====================================================================
483ed5892604266e702d65db4d0b2b621c488a09wrowe * The Apache Software License, Version 1.1
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Copyright (c) 2000 The Apache Software Foundation. All rights
483ed5892604266e702d65db4d0b2b621c488a09wrowe * reserved.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Redistribution and use in source and binary forms, with or without
483ed5892604266e702d65db4d0b2b621c488a09wrowe * modification, are permitted provided that the following conditions
483ed5892604266e702d65db4d0b2b621c488a09wrowe * are met:
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * 1. Redistributions of source code must retain the above copyright
483ed5892604266e702d65db4d0b2b621c488a09wrowe * notice, this list of conditions and the following disclaimer.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * 2. Redistributions in binary form must reproduce the above copyright
483ed5892604266e702d65db4d0b2b621c488a09wrowe * notice, this list of conditions and the following disclaimer in
483ed5892604266e702d65db4d0b2b621c488a09wrowe * the documentation and/or other materials provided with the
483ed5892604266e702d65db4d0b2b621c488a09wrowe * distribution.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * 3. The end-user documentation included with the redistribution,
483ed5892604266e702d65db4d0b2b621c488a09wrowe * if any, must include the following acknowledgment:
483ed5892604266e702d65db4d0b2b621c488a09wrowe * "This product includes software developed by the
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Apache Software Foundation (http://www.apache.org/)."
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Alternately, this acknowledgment may appear in the software itself,
483ed5892604266e702d65db4d0b2b621c488a09wrowe * if and wherever such third-party acknowledgments normally appear.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * 4. The names "Apache" and "Apache Software Foundation" must
483ed5892604266e702d65db4d0b2b621c488a09wrowe * not be used to endorse or promote products derived from this
483ed5892604266e702d65db4d0b2b621c488a09wrowe * software without prior written permission. For written
483ed5892604266e702d65db4d0b2b621c488a09wrowe * permission, please contact apache@apache.org.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * 5. Products derived from this software may not be called "Apache",
483ed5892604266e702d65db4d0b2b621c488a09wrowe * nor may "Apache" appear in their name, without prior written
483ed5892604266e702d65db4d0b2b621c488a09wrowe * permission of the Apache Software Foundation.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
483ed5892604266e702d65db4d0b2b621c488a09wrowe * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
483ed5892604266e702d65db4d0b2b621c488a09wrowe * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
483ed5892604266e702d65db4d0b2b621c488a09wrowe * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
483ed5892604266e702d65db4d0b2b621c488a09wrowe * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
483ed5892604266e702d65db4d0b2b621c488a09wrowe * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
483ed5892604266e702d65db4d0b2b621c488a09wrowe * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
483ed5892604266e702d65db4d0b2b621c488a09wrowe * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
483ed5892604266e702d65db4d0b2b621c488a09wrowe * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
483ed5892604266e702d65db4d0b2b621c488a09wrowe * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
483ed5892604266e702d65db4d0b2b621c488a09wrowe * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
483ed5892604266e702d65db4d0b2b621c488a09wrowe * SUCH DAMAGE.
483ed5892604266e702d65db4d0b2b621c488a09wrowe * ====================================================================
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * This software consists of voluntary contributions made by many
483ed5892604266e702d65db4d0b2b621c488a09wrowe * individuals on behalf of the Apache Software Foundation. For more
483ed5892604266e702d65db4d0b2b621c488a09wrowe * information on the Apache Software Foundation, please see
483ed5892604266e702d65db4d0b2b621c488a09wrowe * <http://www.apache.org/>.
483ed5892604266e702d65db4d0b2b621c488a09wrowe *
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Portions of this software are based upon public domain software
483ed5892604266e702d65db4d0b2b621c488a09wrowe * originally written at the National Center for Supercomputing Applications,
483ed5892604266e702d65db4d0b2b621c488a09wrowe * University of Illinois, Urbana-Champaign.
483ed5892604266e702d65db4d0b2b621c488a09wrowe */
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#ifndef APACHE_UTIL_EBCDIC_H
483ed5892604266e702d65db4d0b2b621c488a09wrowe#define APACHE_UTIL_EBCDIC_H
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#ifdef __cplusplus
483ed5892604266e702d65db4d0b2b621c488a09wroweextern "C" {
483ed5892604266e702d65db4d0b2b621c488a09wrowe#endif
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#include "apr_xlate.h"
483ed5892604266e702d65db4d0b2b621c488a09wrowe#include "httpd.h"
483ed5892604266e702d65db4d0b2b621c488a09wrowe#include "util_charset.h"
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe/**
483ed5892604266e702d65db4d0b2b621c488a09wrowe * @package Utilities for EBCDIC conversion
483ed5892604266e702d65db4d0b2b621c488a09wrowe */
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#ifdef AP_CHARSET_EBCDIC
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe/**
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Setup all of the global translation handlers
483ed5892604266e702d65db4d0b2b621c488a09wrowe * @param pool pool to allocate out of
483ed5892604266e702d65db4d0b2b621c488a09wrowe */
483ed5892604266e702d65db4d0b2b621c488a09wroweapr_status_t ap_init_ebcdic(apr_pool_t *pool);
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe/**
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Convert protocol data from the implementation character
483ed5892604266e702d65db4d0b2b621c488a09wrowe * set to ASCII.
483ed5892604266e702d65db4d0b2b621c488a09wrowe * @param buffer buffer to translate
483ed5892604266e702d65db4d0b2b621c488a09wrowe * @param len number of bytes to translate
483ed5892604266e702d65db4d0b2b621c488a09wrowe */
483ed5892604266e702d65db4d0b2b621c488a09wrowevoid ap_xlate_proto_to_ascii(char *buffer, apr_size_t len);
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe/**
483ed5892604266e702d65db4d0b2b621c488a09wrowe * Convert protocol data to the implementation character
483ed5892604266e702d65db4d0b2b621c488a09wrowe * set from ASCII.
483ed5892604266e702d65db4d0b2b621c488a09wrowe * @param buffer buffer to translate
483ed5892604266e702d65db4d0b2b621c488a09wrowe * @param len number of bytes to translate
483ed5892604266e702d65db4d0b2b621c488a09wrowe */
483ed5892604266e702d65db4d0b2b621c488a09wrowevoid ap_xlate_proto_from_ascii(char *buffer, apr_size_t len);
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#ifdef __cplusplus
483ed5892604266e702d65db4d0b2b621c488a09wrowe}
483ed5892604266e702d65db4d0b2b621c488a09wrowe#endif
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#else /* AP_CHARSET_EBCDIC */
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#define ap_xlate_proto_to_ascii(x,y) /* NOOP */
483ed5892604266e702d65db4d0b2b621c488a09wrowe#define ap_xlate_proto_from_ascii(x,y) /* NOOP */
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#endif /* AP_CHARSET_EBCDIC */
483ed5892604266e702d65db4d0b2b621c488a09wrowe
483ed5892604266e702d65db4d0b2b621c488a09wrowe#endif /* !APACHE_UTIL_EBCDIC_H */
483ed5892604266e702d65db4d0b2b621c488a09wrowe