MME2 changes - Propped commits from openmme/paging branch. Added scripts
for code gen
Change-Id: Ie55032217232214ac8544ca76ea34335205329e4
diff --git a/include/cmn/msgBuffer.h b/include/cmn/msgBuffer.h
new file mode 100644
index 0000000..fcf799b
--- /dev/null
+++ b/include/cmn/msgBuffer.h
@@ -0,0 +1,88 @@
+/*
+ * MsgBuffer.h
+ *
+ * Created on: Feb 13, 2011
+ * Author: hariharanb
+ */
+
+#ifndef MSGBUFFER_H_
+#define MSGBUFFER_H_
+
+#include <sstream>
+#include <debug.h>
+
+#include <stdint.h>
+
+#define DEFAULT_BUFF_SIZE 1024
+
+using namespace std;
+extern cmn::utils::Debug errorStream;
+namespace cmn
+{
+namespace utils
+{
+class MsgBuffer
+{
+public:
+
+ MsgBuffer();
+ MsgBuffer(uint16_t size);
+
+ ~MsgBuffer();
+
+
+ bool writeBits(uint8_t data, uint8_t size, bool append = true);
+ bool writeBytes(uint8_t* data, uint16_t size, bool append = true);
+ bool writeUint8(uint8_t data, bool append = true);
+ bool writeUint16(uint16_t data, bool append = true);
+ bool writeUint32(uint32_t data, bool append = true);
+ bool writeUint64(uint64_t data, bool append = true);
+
+ void display (Debug &stream);
+
+ uint8_t readBits(uint16_t size);
+ bool readBytes(uint8_t* data, uint16_t size);
+
+ bool readBit();
+ void readUint8(uint8_t &data);
+ bool readUint16(uint16_t &data);
+ bool readUint32(uint32_t &data);
+ bool readUint64(uint64_t &data);
+ void reset();
+ void rewind();
+ void goToEnd();
+ void skipBits(uint8_t size);
+ void skipBytes(uint16_t size);
+ uint16_t getLength();
+ uint16_t getBufferSize();
+ uint16_t getCurrentIndex();
+ void goToIndex(uint16_t idx);
+
+ uint8_t charToHex(uint8_t x);
+ uint16_t lengthLeft();
+ uint16_t sizeLeft();
+
+ void* getDataPointer();
+ void setLength(uint16_t bufLen);
+
+private:
+
+ uint8_t* data_mp;
+ uint16_t bufSize;
+ uint16_t length;
+ uint16_t bitLength;
+ uint16_t byteIndex;
+ uint16_t bitIndex;
+
+ void initialize(uint16_t size);
+ bool incrBitIndex(uint8_t size);
+ bool incrByteIndex(uint16_t size);
+ void nextByte();
+};
+};
+};
+
+using namespace cmn::utils;
+
+#endif /* MSGBUFFER_H_ */
+