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