Defined useful sized data buffer. It contains pointer to data and size of this data. Also, defined some macros for init and free.
Signed-off-by: Mihail Abakumov <mikhail.abakumov@ispras.ru>
Signed-off-by: Pavel Dovgalyuk <dovgaluk@ispras.ru>
Signed-off-by: Dmitriy Koltunov <koltunov@ispras.ru>
---
include/exec/windbgstub-utils.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/include/exec/windbgstub-utils.h b/include/exec/windbgstub-utils.h
index 5aa54550cd..f0da3cbd86 100755
--- a/include/exec/windbgstub-utils.h
+++ b/include/exec/windbgstub-utils.h
@@ -74,6 +74,22 @@ typedef struct PacketData {
uint16_t extra_size;
} PacketData;
+typedef struct SizedBuf {
+ uint8_t *data;
+ size_t size;
+} SizedBuf;
+
+#define SBUF_INIT(buf, mem_ptr, len) do { \
+ buf.data = mem_ptr; \
+ buf.size = len; \
+} while (false)
+#define SBUF_MALLOC(buf, size) SBUF_INIT(buf, g_malloc0(size), size)
+#define SBUF_FREE(buf) do { \
+ g_free(buf.data); \
+ buf.data = NULL; \
+ buf.size = 0; \
+} while (false)
+
InitedAddr *windbg_get_KPCR(void);
InitedAddr *windbg_get_version(void);