diff --git a/libs/cyclone/foreign.sld b/libs/cyclone/foreign.sld index edc1c669..391f1eea 100644 --- a/libs/cyclone/foreign.sld +++ b/libs/cyclone/foreign.sld @@ -14,6 +14,7 @@ (export opaque? opaque-null? + make-opaque c-code c-value @@ -31,6 +32,11 @@ "Cyc_check_opaque(data, p); return_closcall1(data, k, make_boolean(opaque_ptr(p) == NULL));") + (define-c make-opaque + "(void *data, int argc, closure _, object k)" + "make_c_opaque(opq, NULL); + return_closcall1(data, k, &opq);") + ;; (c-define-type name type (pack (unpack))) (define-syntax c-define-type (er-macro-transformer