summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/Base64.h.in
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2003-06-30 01:42:48 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2003-06-30 01:42:48 (GMT)
commit0f1af706b5dcb42077c1831df35a8b0e03f26a20 (patch)
tree38f7b76434394ab623c4017d30bed912de1a8d4c /Source/kwsys/Base64.h.in
parent823c073052644fc05e70edf6122e88704cca5136 (diff)
downloadCMake-0f1af706b5dcb42077c1831df35a8b0e03f26a20.zip
CMake-0f1af706b5dcb42077c1831df35a8b0e03f26a20.tar.gz
CMake-0f1af706b5dcb42077c1831df35a8b0e03f26a20.tar.bz2
ENH: Initial import of Base64
Diffstat (limited to 'Source/kwsys/Base64.h.in')
-rw-r--r--Source/kwsys/Base64.h.in120
1 files changed, 120 insertions, 0 deletions
diff --git a/Source/kwsys/Base64.h.in b/Source/kwsys/Base64.h.in
new file mode 100644
index 0000000..701606f
--- /dev/null
+++ b/Source/kwsys/Base64.h.in
@@ -0,0 +1,120 @@
+/*=========================================================================
+
+ Program: KWSys - Kitware System Library
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+ See http://www.cmake.org/HTML/Copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#ifndef @KWSYS_NAMESPACE@_Base64_h
+#define @KWSYS_NAMESPACE@_Base64_h
+
+/* Redefine all public interface symbol names to be in the proper
+ namespace. These macros are used internally to kwsys only, and are
+ not visible to user code. Use kwsysHeaderDump.pl to reproduce
+ these macros after making changes to the interface. */
+#define kwsys(x) @KWSYS_NAMESPACE@##x
+#define kwsysBase64 kwsys(Base64)
+#define kwsysBase64_Encode1 kwsys(Base64_Encode1)
+#define kwsysBase64_Encode2 kwsys(Base64_Encode2)
+#define kwsysBase64_Encode3 kwsys(Base64_Encode3)
+#define kwsysBase64_Encode kwsys(Base64_Encode)
+#define kwsysBase64_Decode kwsys(Base64_Decode)
+#define kwsysBase64_Decode3 kwsys(Base64_Decode3)
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+
+/* Encode 3 bytes into a 4 byte string. */
+void kwsysBase64_Encode3(const unsigned char *src, unsigned char *dest);
+
+/* Encode 2 bytes into a 4 byte string. */
+void kwsysBase64_Encode2(const unsigned char *src, unsigned char *dest);
+
+/* Encode 1 bytes into a 4 byte string. */
+void kwsysBase64_Encode1(const unsigned char *src, unsigned char *dest);
+
+/* Encode 'length' bytes from the input buffer and store the
+ encoded stream into the output buffer. Return the length of the encoded
+ buffer (output). Note that the output buffer must be allocated by the caller
+ (length * 1.5 should be a safe estimate). If 'mark_end' is true than an
+ extra set of 4 bytes is added to the end of the stream if the input is a
+ multiple of 3 bytes. These bytes are invalid chars and therefore they will
+ stop the decoder thus enabling the caller to decode a stream without
+ actually knowing how much data to expect (if the input is not a multiple of
+ 3 bytes then the extra padding needed to complete the encode 4 bytes will
+ stop the decoding anyway). */
+
+unsigned long kwsysBase64_Encode(const unsigned char *input,
+ unsigned long length, unsigned char *output, int mark_end);
+
+/* Decode 4 bytes into a 3 byte string. */
+int kwsysBase64_Decode3(const unsigned char *src, unsigned char *dest);
+
+/* Decode bytes from the input buffer and store the decoded stream
+ into the output buffer until 'length' bytes have been decoded. Return the
+ real length of the decoded stream (which should be equal to 'length'). Note
+ that the output buffer must be allocated by the caller. If
+ 'max_input_length' is not null, then it specifies the number of encoded
+ bytes that should be at most read from the input buffer. In that case the
+ 'length' parameter is ignored. This enables the caller to decode a stream
+ without actually knowing how much decoded data to expect (of course, the
+ buffer must be large enough). */
+unsigned long kwsysBase64_Decode(const unsigned char *input,
+ unsigned long length, unsigned char *output, unsigned long max_input_length);
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+/* If we are building a kwsysBase64 .c file, let it use these macros.
+ Otherwise, undefine them to keep the namespace clean. */
+#if !defined(KWSYS_IN_PROCESS_C)
+# undef kwsys
+# undef kwsysBase64
+# undef kwsysBase64_s
+# undef kwsysBase64_New
+# undef kwsysBase64_Delete
+# undef kwsysBase64_SetCommand
+# undef kwsysBase64_SetTimeout
+# undef kwsysBase64_State_Starting
+# undef kwsysBase64_State_Error
+# undef kwsysBase64_State_Exception
+# undef kwsysBase64_State_Executing
+# undef kwsysBase64_State_Exited
+# undef kwsysBase64_State_Expired
+# undef kwsysBase64_State_Killed
+# undef kwsysBase64_GetState
+# undef kwsysBase64_State_e
+# undef kwsysBase64_Exception_None
+# undef kwsysBase64_Exception_Fault
+# undef kwsysBase64_Exception_Illegal
+# undef kwsysBase64_Exception_Interrupt
+# undef kwsysBase64_Exception_Numerical
+# undef kwsysBase64_Exception_Other
+# undef kwsysBase64_GetExitException
+# undef kwsysBase64_Exception_e
+# undef kwsysBase64_GetExitCode
+# undef kwsysBase64_GetExitValue
+# undef kwsysBase64_GetErrorString
+# undef kwsysBase64_Execute
+# undef kwsysBase64_WaitForData
+# undef kwsysBase64_Pipes_e
+# undef kwsysBase64_Pipe_STDOUT
+# undef kwsysBase64_Pipe_STDERR
+# undef kwsysBase64_Pipe_Timeout
+# undef kwsysBase64_WaitForExit
+# undef kwsysBase64_Kill
+#endif
+
+#endif