| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*******************************************************************************
- * Copyright (c) 2018 Wind River Systems, Inc. All Rights Reserved.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v2.0
- * and Eclipse Distribution License v1.0 which accompany this distribution.
- *
- * The Eclipse Public License is available at
- * https://www.eclipse.org/legal/epl-2.0/
- * and the Eclipse Distribution License is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * Contributors:
- * Keith Holman - initial implementation and documentation
- *******************************************************************************/
- #if !defined(BASE64_H)
- #define BASE64_H
- /** type for size of a buffer, it saves passing around @p size_t (unsigned long long or unsigned long int) */
- typedef unsigned int b64_size_t;
- /** type for raw base64 data */
- typedef unsigned char b64_data_t;
- /**
- * Decodes base64 data
- *
- * @param[out] out decoded data
- * @param[in] out_len length of output buffer
- * @param[in] in base64 string to decode
- * @param[in] in_len length of input buffer
- *
- * @return the amount of data decoded
- *
- * @see Base64_decodeLength
- * @see Base64_encode
- */
- b64_size_t Base64_decode( b64_data_t *out, b64_size_t out_len,
- const char *in, b64_size_t in_len );
- /**
- * Size of buffer required to decode base64 data
- *
- * @param[in] in base64 string to decode
- * @param[in] in_len length of input buffer
- *
- * @return the size of buffer the decoded string would require
- *
- * @see Base64_decode
- * @see Base64_encodeLength
- */
- b64_size_t Base64_decodeLength( const char *in, b64_size_t in_len );
- /**
- * Encodes base64 data
- *
- * @param[out] out encode base64 string
- * @param[in] out_len length of output buffer
- * @param[in] in raw data to encode
- * @param[in] in_len length of input buffer
- *
- * @return the amount of data encoded
- *
- * @see Base64_decode
- * @see Base64_encodeLength
- */
- b64_size_t Base64_encode( char *out, b64_size_t out_len,
- const b64_data_t *in, b64_size_t in_len );
- /**
- * Size of buffer required to encode base64 data
- *
- * @param[in] in raw data to encode
- * @param[in] in_len length of input buffer
- *
- * @return the size of buffer the encoded string would require
- *
- * @see Base64_decodeLength
- * @see Base64_encode
- */
- b64_size_t Base64_encodeLength( const b64_data_t *in, b64_size_t in_len );
- #endif /* BASE64_H */
|