From e60e88f02b3fb9c67861e1362db77c1462f9e9d5 Mon Sep 17 00:00:00 2001
From: Olivier Dion <olivier.dion@savoirfairelinux.com>
Date: Fri, 15 Oct 2021 10:28:27 -0400
Subject: [PATCH] agent/bindings/bindings.h: Add macros for constant
 definitions

Change-Id: I8c18baa7f42f06a99e56acba0ce7863f1db28938
---
 test/agent/src/bindings/bindings.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/test/agent/src/bindings/bindings.h b/test/agent/src/bindings/bindings.h
index fc88c69edd..2ac76e1f31 100644
--- a/test/agent/src/bindings/bindings.h
+++ b/test/agent/src/bindings/bindings.h
@@ -26,5 +26,15 @@
 /* Agent */
 #include "utils.h"
 
+#define DEFINE_AND_EXPORT(NAME, VALUE, TYPE)     \
+        do {                                     \
+                scm_c_define(NAME, TYPE(VALUE)); \
+                scm_c_export(NAME, NULL);        \
+        } while (0)
+
+#define DEFINE_INT(NAME)    DEFINE_AND_EXPORT(#NAME, NAME, scm_from_int)
+#define DEFINE_UINT(NAME)   DEFINE_AND_EXPORT(#NAME, NAME, scm_from_uint)
+#define DEFINE_UINT32(NAME) DEFINE_AND_EXPORT(#NAME, NAME, scm_from_uint32)
+
 extern void define_primitive(const char* name, int req, int opt, int rst, void* func);
 extern void install_scheme_primitives();
-- 
GitLab