Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

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