base64 encoder and decoder  
More...
base64 encoder and decoder 
encoding and decoding functions for base64 
- Author
 - Martin Landsmann Marti.nosp@m.n.La.nosp@m.ndsma.nosp@m.nn@H.nosp@m.AW-Ha.nosp@m.mbur.nosp@m.g.de 
 
 | 
| static size_t  | base64_estimate_decode_size (size_t base64_in_size) | 
|   | Estimates the amount of bytes needed for decoding base64_in_size characters from base64.  More...
  | 
|   | 
| static size_t  | base64_estimate_encode_size (size_t data_in_size) | 
|   | Estimates the length of the resulting string after encoding data_in_size bytes into base64.  More...
  | 
|   | 
| int  | base64_encode (const void *data_in, size_t data_in_size, void *base64_out, size_t *base64_out_size) | 
|   | Encodes a given datum to base64 and save the result to the given destination.  More...
  | 
|   | 
| int  | base64url_encode (const void *data_in, size_t data_in_size, void *base64_out, size_t *base64_out_size) | 
|   | Encodes a given datum to base64 with URL and Filename Safe Alphabet and save the result to the given destination.  More...
  | 
|   | 
| int  | base64_decode (const void *base64_in, size_t base64_in_size, void *data_out, size_t *data_out_size) | 
|   | Decodes a given base64 string and save the result to the given destination.  More...
  | 
|   | 
◆ base64_decode()
      
        
          | int base64_decode  | 
          ( | 
          const void *  | 
          base64_in,  | 
        
        
           | 
           | 
          size_t  | 
          base64_in_size,  | 
        
        
           | 
           | 
          void *  | 
          data_out,  | 
        
        
           | 
           | 
          size_t *  | 
          data_out_size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Decodes a given base64 string and save the result to the given destination. 
- Parameters
 - 
  
    | [out] | base64_in | pointer to store the encoded base64 string  | 
    | [in] | base64_in_size | pointer to the variable containing the size of base64_out.  | 
    | [in] | data_out | pointer to the datum to encode  | 
    | [in,out] | data_out_size | the size of data_out. This value is overwritten with the estimated size used for the decoded string on BASE64_ERROR_BUFFER_OUT_SIZE. This value is overwritten with the actual used size for the decoded string on BASE64_SUCCESS. | 
  
   
- Returns
 - BASE64_SUCCESS on success, BASE64_ERROR_BUFFER_OUT_SIZE on insufficient size for decoding to 
data_out, BASE64_ERROR_BUFFER_OUT if data_out equals NULL but the size for data_out_size is sufficient, BASE64_ERROR_DATA_IN if base64_in equals NULL, BASE64_ERROR_DATA_IN_SIZE if base64_in_size is between 1 and 4.  
 
 
◆ base64_encode()
      
        
          | int base64_encode  | 
          ( | 
          const void *  | 
          data_in,  | 
        
        
           | 
           | 
          size_t  | 
          data_in_size,  | 
        
        
           | 
           | 
          void *  | 
          base64_out,  | 
        
        
           | 
           | 
          size_t *  | 
          base64_out_size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Encodes a given datum to base64 and save the result to the given destination. 
- Parameters
 - 
  
    | [in] | data_in | pointer to the datum to encode  | 
    | [in] | data_in_size | the size of data_in  | 
    | [out] | base64_out | pointer to store the encoded base64 string  | 
    | [in,out] | base64_out_size | pointer to the variable containing the size of base64_out. This value is overwritten with the estimated size used for the encoded base64 string on BASE64_ERROR_BUFFER_OUT_SIZE. This value is overwritten with the actual used size for the encoded base64 string on BASE64_SUCCESS. | 
  
   
- Returns
 - BASE64_SUCCESS on success, BASE64_ERROR_BUFFER_OUT_SIZE on insufficient size for encoding to 
base64_out, BASE64_ERROR_BUFFER_OUT if base64_out equals NULL but the base64_out_size is sufficient, BASE64_ERROR_DATA_IN if data_in equals NULL.  
 
 
◆ base64_estimate_decode_size()
  
  
      
        
          | static size_t base64_estimate_decode_size  | 
          ( | 
          size_t  | 
          base64_in_size | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Estimates the amount of bytes needed for decoding base64_in_size characters from base64. 
- Parameters
 - 
  
    | [in] | base64_in_size | Size of the string to be decoded  | 
  
   
- Returns
 - Amount of bytes estimated to be used after decoding 
 
Definition at line 41 of file base64.h.
 
 
◆ base64_estimate_encode_size()
  
  
      
        
          | static size_t base64_estimate_encode_size  | 
          ( | 
          size_t  | 
          data_in_size | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Estimates the length of the resulting string after encoding data_in_size bytes into base64. 
- Parameters
 - 
  
    | [in] | data_in_size | Amount of bytes to be encoded  | 
  
   
- Returns
 - Amount of characters the output string is estimated to have 
 
Definition at line 53 of file base64.h.
 
 
◆ base64url_encode()
      
        
          | int base64url_encode  | 
          ( | 
          const void *  | 
          data_in,  | 
        
        
           | 
           | 
          size_t  | 
          data_in_size,  | 
        
        
           | 
           | 
          void *  | 
          base64_out,  | 
        
        
           | 
           | 
          size_t *  | 
          base64_out_size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Encodes a given datum to base64 with URL and Filename Safe Alphabet and save the result to the given destination. 
- See also
 - RFC 4648, section 5
 
- Note
 - Requires the use of the 
base64url module. 
- Parameters
 - 
  
    | [in] | data_in | pointer to the datum to encode  | 
    | [in] | data_in_size | the size of data_in  | 
    | [out] | base64_out | pointer to store the encoded base64 string  | 
    | [in,out] | base64_out_size | pointer to the variable containing the size of base64_out. This value is overwritten with the estimated size used for the encoded base64 string on BASE64_ERROR_BUFFER_OUT_SIZE. This value is overwritten with the actual used size for the encoded base64 string on BASE64_SUCCESS. | 
  
   
- Returns
 - BASE64_SUCCESS on success, BASE64_ERROR_BUFFER_OUT_SIZE on insufficient size for encoding to 
base64_out, BASE64_ERROR_BUFFER_OUT if base64_out equals NULL but the base64_out_size is sufficient, BASE64_ERROR_DATA_IN if data_in equals NULL.