Macros | Functions
Base64.h File Reference
#include <vtksys/Configure.h>
#include <stddef.h>
Include dependency graph for Base64.h:

Go to the source code of this file.

Macros

#define kwsys_ns(x)   vtksys##x
 
#define kwsysEXPORT   vtksys_EXPORT
 
#define kwsysBase64   kwsys_ns(Base64)
 
#define kwsysBase64_Decode   kwsys_ns(Base64_Decode)
 
#define kwsysBase64_Decode3   kwsys_ns(Base64_Decode3)
 
#define kwsysBase64_Encode   kwsys_ns(Base64_Encode)
 
#define kwsysBase64_Encode1   kwsys_ns(Base64_Encode1)
 
#define kwsysBase64_Encode2   kwsys_ns(Base64_Encode2)
 
#define kwsysBase64_Encode3   kwsys_ns(Base64_Encode3)
 

Functions

kwsysEXPORT void kwsysBase64_Encode3 (const unsigned char *src, unsigned char *dest)
 Encode 3 bytes into a 4 byte string. More...
 
kwsysEXPORT void kwsysBase64_Encode2 (const unsigned char *src, unsigned char *dest)
 Encode 2 bytes into a 4 byte string. More...
 
kwsysEXPORT void kwsysBase64_Encode1 (const unsigned char *src, unsigned char *dest)
 Encode 1 bytes into a 4 byte string. More...
 
kwsysEXPORT size_t kwsysBase64_Encode (const unsigned char *input, size_t length, unsigned char *output, int mark_end)
 Encode 'length' bytes from the input buffer and store the encoded stream into the output buffer. More...
 
kwsysEXPORT int kwsysBase64_Decode3 (const unsigned char *src, unsigned char *dest)
 Decode 4 bytes into a 3 byte string. More...
 
kwsysEXPORT size_t kwsysBase64_Decode (const unsigned char *input, size_t length, unsigned char *output, size_t max_input_length)
 Decode bytes from the input buffer and store the decoded stream into the output buffer until 'length' bytes have been decoded. More...
 

Macro Definition Documentation

◆ kwsys_ns

#define kwsys_ns (   x)    vtksys##x

Definition at line 15 of file Base64.h.

◆ kwsysEXPORT

#define kwsysEXPORT   vtksys_EXPORT

Definition at line 16 of file Base64.h.

◆ kwsysBase64

#define kwsysBase64   kwsys_ns(Base64)

Definition at line 19 of file Base64.h.

◆ kwsysBase64_Decode

#define kwsysBase64_Decode   kwsys_ns(Base64_Decode)

Definition at line 20 of file Base64.h.

◆ kwsysBase64_Decode3

#define kwsysBase64_Decode3   kwsys_ns(Base64_Decode3)

Definition at line 21 of file Base64.h.

◆ kwsysBase64_Encode

#define kwsysBase64_Encode   kwsys_ns(Base64_Encode)

Definition at line 22 of file Base64.h.

◆ kwsysBase64_Encode1

#define kwsysBase64_Encode1   kwsys_ns(Base64_Encode1)

Definition at line 23 of file Base64.h.

◆ kwsysBase64_Encode2

#define kwsysBase64_Encode2   kwsys_ns(Base64_Encode2)

Definition at line 24 of file Base64.h.

◆ kwsysBase64_Encode3

#define kwsysBase64_Encode3   kwsys_ns(Base64_Encode3)

Definition at line 25 of file Base64.h.

Function Documentation

◆ kwsysBase64_Encode3()

kwsysEXPORT void kwsysBase64_Encode3 ( const unsigned char *  src,
unsigned char *  dest 
)

Encode 3 bytes into a 4 byte string.

◆ kwsysBase64_Encode2()

kwsysEXPORT void kwsysBase64_Encode2 ( const unsigned char *  src,
unsigned char *  dest 
)

Encode 2 bytes into a 4 byte string.

◆ kwsysBase64_Encode1()

kwsysEXPORT void kwsysBase64_Encode1 ( const unsigned char *  src,
unsigned char *  dest 
)

Encode 1 bytes into a 4 byte string.

◆ kwsysBase64_Encode()

kwsysEXPORT size_t kwsysBase64_Encode ( const unsigned char *  input,
size_t  length,
unsigned char *  output,
int  mark_end 
)

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).

◆ kwsysBase64_Decode3()

kwsysEXPORT int kwsysBase64_Decode3 ( const unsigned char *  src,
unsigned char *  dest 
)

Decode 4 bytes into a 3 byte string.

Returns the number of bytes actually decoded.

◆ kwsysBase64_Decode()

kwsysEXPORT size_t kwsysBase64_Decode ( const unsigned char *  input,
size_t  length,
unsigned char *  output,
size_t  max_input_length 
)

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).