base64.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
  3. *
  4. * @APPLE_LICENSE_HEADER_START@
  5. *
  6. * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
  7. *
  8. * This file contains Original Code and/or Modifications of Original Code
  9. * as defined in and that are subject to the Apple Public Source License
  10. * Version 2.0 (the 'License'). You may not use this file except in
  11. * compliance with the License. Please obtain a copy of the License at
  12. * http://www.opensource.apple.com/apsl/ and read it before using this
  13. * file.
  14. *
  15. * The Original Code and all software distributed under the License are
  16. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  17. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  18. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  19. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  20. * Please see the License for the specific language governing rights and
  21. * limitations under the License.
  22. *
  23. * @APPLE_LICENSE_HEADER_END@
  24. */
  25. /* ====================================================================
  26. * Copyright (c) 1995-1999 The Apache Group. All rights reserved.
  27. *
  28. * Redistribution and use in source and binary forms, with or without
  29. * modification, are permitted provided that the following conditions
  30. * are met:
  31. *
  32. * 1. Redistributions of source code must retain the above copyright
  33. * notice, this list of conditions and the following disclaimer.
  34. *
  35. * 2. Redistributions in binary form must reproduce the above copyright
  36. * notice, this list of conditions and the following disclaimer in
  37. * the documentation and/or other materials provided with the
  38. * distribution.
  39. *
  40. * 3. All advertising materials mentioning features or use of this
  41. * software must display the following acknowledgment:
  42. * "This product includes software developed by the Apache Group
  43. * for use in the Apache HTTP server project (http://www.apache.org/)."
  44. *
  45. * 4. The names "Apache Server" and "Apache Group" must not be used to
  46. * endorse or promote products derived from this software without
  47. * prior written permission. For written permission, please contact
  48. * apache@apache.org.
  49. *
  50. * 5. Products derived from this software may not be called "Apache"
  51. * nor may "Apache" appear in their names without prior written
  52. * permission of the Apache Group.
  53. *
  54. * 6. Redistributions of any form whatsoever must retain the following
  55. * acknowledgment:
  56. * "This product includes software developed by the Apache Group
  57. * for use in the Apache HTTP server project (http://www.apache.org/)."
  58. *
  59. * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
  60. * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  61. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  62. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
  63. * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  64. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  65. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  66. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  67. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  68. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  69. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  70. * OF THE POSSIBILITY OF SUCH DAMAGE.
  71. * ====================================================================
  72. *
  73. * This software consists of voluntary contributions made by many
  74. * individuals on behalf of the Apache Group and was originally based
  75. * on public domain software written at the National Center for
  76. * Supercomputing Applications, University of Illinois, Urbana-Champaign.
  77. * For more information on the Apache Group and the Apache HTTP server
  78. * project, please see <http://www.apache.org/>.
  79. *
  80. */
  81. #ifndef _BASE64_H_
  82. #define _BASE64_H_
  83. #ifdef __cplusplus
  84. extern "C" {
  85. #endif
  86. int Base64encode_len(int len);
  87. int Base64encode(char * coded_dst, const char *plain_src,int len_plain_src);
  88. int Base64decode_len(const char * coded_src);
  89. int Base64decode(char * plain_dst, const char *coded_src);
  90. #ifdef __cplusplus
  91. }
  92. #endif
  93. #endif //_BASE64_H_