diff options
Diffstat (limited to 'src/plugins/debugger/uvsc/uvscutils.cpp')
-rw-r--r-- | src/plugins/debugger/uvsc/uvscutils.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/plugins/debugger/uvsc/uvscutils.cpp b/src/plugins/debugger/uvsc/uvscutils.cpp index e3b7e8799a..a8e7d97e62 100644 --- a/src/plugins/debugger/uvsc/uvscutils.cpp +++ b/src/plugins/debugger/uvsc/uvscutils.cpp @@ -110,6 +110,24 @@ QByteArray encodeAmem(quint64 address, quint32 bytesCount) return buffer; } +QByteArray encodeAmem(quint64 address, const QByteArray &data) +{ + QByteArray buffer(sizeof(AMEM) - 1, 0); + buffer.append(data); + const auto amem = reinterpret_cast<AMEM *>(buffer.data()); + amem->address = address; + amem->bytesCount = data.size(); + return buffer; +} + +EXECCMD encodeCommand(const QString &cmd) +{ + EXECCMD exeCmd = {}; + exeCmd.useEcho = false; + exeCmd.command = encodeSstr(cmd); + return exeCmd; +} + TVAL encodeVoidTval() { TVAL tval = {}; @@ -238,6 +256,24 @@ QString adjustHexValue(QString hex, const QString &type) return {}; } +QByteArray encodeU32(quint32 value) +{ + QByteArray data; + QDataStream out(&data, QIODevice::WriteOnly); + out.setByteOrder(QDataStream::LittleEndian); + out << value; + return data; +} + +quint32 decodeU32(const QByteArray &data) +{ + QDataStream in(data); + in.setByteOrder(QDataStream::LittleEndian); + quint32 value = 0; + in >> value; + return value; +} + QString buildLocalId(const VARINFO &varinfo) { return QString::number(varinfo.id); |