summaryrefslogtreecommitdiffstats
path: root/util/perl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2020-10-05 07:55:14 +0200
committerRichard Levitte <levitte@openssl.org>2020-10-12 08:29:31 +0200
commitd406f0fe679a571af3f2cfd48b4d830b3d743694 (patch)
treef4e2ea31c6250b52d0ad344893e626b6c15d55ca /util/perl
parent3ad9c478642d6edf5964c8c890845d93b40cb9a0 (diff)
OpenSSL::ParseC: handle OSSL_CORE_MAKE_FUNC
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/13074)
Diffstat (limited to 'util/perl')
-rw-r--r--util/perl/OpenSSL/ParseC.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/util/perl/OpenSSL/ParseC.pm b/util/perl/OpenSSL/ParseC.pm
index e08d4637b3..5cc5f28bf3 100644
--- a/util/perl/OpenSSL/ParseC.pm
+++ b/util/perl/OpenSSL/ParseC.pm
@@ -283,6 +283,20 @@ EOF
},
#####
+ # Core stuff
+
+ # OSSL_CORE_MAKE_FUNC is a macro to create the necessary data and inline
+ # function the libcrypto<->provider interface
+ { regexp => qr/OSSL_CORE_MAKE_FUNC<<<\((.*?),(.*?),(.*?)\)>>>/,
+ massager => sub {
+ return (<<"EOF");
+typedef $1 OSSL_FUNC_$2_fn$3;
+static ossl_inline OSSL_FUNC_$2_fn *OSSL_FUNC_$2(const OSSL_DISPATCH *opf);
+EOF
+ },
+ },
+
+ #####
# LHASH stuff
# LHASH_OF(foo) is used as a type, but the chandlers won't take it