Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnBase64.h
- Revision:
- 3:24c5f0f50bf1
- Parent:
- 1:e392595b4b76
- Child:
- 84:80b15993944e
--- a/SnBase64.h Tue Jul 24 02:07:23 2012 +0000 +++ b/SnBase64.h Tue Jul 31 04:59:16 2012 +0000 @@ -1,75 +1,24 @@ -/* -Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - #ifndef BASE64_H #define BASE64_H #include <stdint.h> -/* -#include <string> -using std::string; -*/ - -#ifdef __cplusplus -extern "C" { -#endif //Originaly from Rolf's iputil.h -//uint32_t base64enc_len(const uint32_t slen); -//uint32_t base64enc_len(const int8_t* str); - #define BASE64ENC_LEN(slen) ( ((((slen)-1)/3)+1)<<2 ) - -void base64enc(const char *input, uint32_t length, char *output); +#define CHARPAD '=' -#ifdef __cplusplus -} -#endif - -/* -class Base64 -{ -public: - static uint32_t base64enc_len(const string& str) - { - //return (((str.length()-1)/3)+1)<<2; - return base64enc_len(str.length()); - } +struct B64 { + /* modp is faster + static + char* base64enc(const char* const input, const uint32_t length, char* output); + */ static - void encode(const int8_t* in, const uint32_t len, int8_t* out) { - base64enc(in, len, out); - } + int modp_b64_encode(const char* str, const int len, char* dest); - static string encode(const string& str) - { - int8_t* out = new int8_t[ base64enc_len(str) ]; - base64enc(str.c_str(), str.length(), out); - string res(out); - delete[] out; - return res; - } + static + int modp_b64_decode(const char* src, int len, char* dest); }; -*/ #endif \ No newline at end of file