git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3621 ed5197a5-7fde-0310-b194-c3ffbd925b24
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef base64cC_H
 | 
						|
#define base64cC_H
 | 
						|
 | 
						|
#include <stddef.h>
 | 
						|
#include <stdint.h>
 | 
						|
 | 
						|
/**
 | 
						|
 * base64c_encoding_length - calculate length to allocate for encode
 | 
						|
 * @len: Length of input string
 | 
						|
 * Returns: number of bytes required to base64c encode, this includes room for  '\0' terminator
 | 
						|
 */
 | 
						|
size_t base64c_encoding_length(size_t len);
 | 
						|
 | 
						|
/**
 | 
						|
 * base64c_decoding_length - calculate length to allocate for decode
 | 
						|
 * @len: Length of (base64 encoded) input string
 | 
						|
 * Returns: maximum number of bytes required to decode
 | 
						|
 */
 | 
						|
size_t base64c_decoding_length(size_t inlen);
 | 
						|
 | 
						|
/**
 | 
						|
 * base64c_encode - base64c encode
 | 
						|
 * @src: Data to be encoded
 | 
						|
 * @len: Length of the data to be encoded
 | 
						|
 * @out: Mutable output buffer destination, all encoded bytes will be written to the destination
 | 
						|
 * @out_len: length of output buffer
 | 
						|
 * Returns: number of bytes written, or -1 if there was an error
 | 
						|
 */
 | 
						|
size_t base64c_encode(const unsigned char *src, size_t len, unsigned char* out, const size_t out_len);
 | 
						|
 | 
						|
/**
 | 
						|
 * base64c_decode - base64c decode
 | 
						|
 * @src: Data to be decoded
 | 
						|
 * @len: Length of the data to be decoded
 | 
						|
 * @out_len: Pointer to output length variable
 | 
						|
 * Returns: Allocated buffer of out_len bytes of decoded data,
 | 
						|
 * or %NULL on failure
 | 
						|
 *
 | 
						|
 * Caller is responsible for freeing the returned buffer.
 | 
						|
 */
 | 
						|
size_t base64c_decode(const unsigned char *src, size_t len, unsigned char *out, const size_t out_len);
 | 
						|
#endif
 |