From 4fb6b0def17df98d6d16418b4b23dfde54a980ae Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 29 Mar 2015 17:51:43 +0100 Subject: [PATCH] Add macro to implement static encode functions. Reviewed-by: Rich Salz --- include/openssl/asn1t.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/openssl/asn1t.h b/include/openssl/asn1t.h index 7a2611ef68..dfd9dac161 100644 --- a/include/openssl/asn1t.h +++ b/include/openssl/asn1t.h @@ -825,6 +825,19 @@ typedef struct ASN1_STREAM_ARG_st { return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ } +# define IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(stname) \ + static stname *d2i_##stname(stname **a, \ + const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ + ASN1_ITEM_rptr(stname)); \ + } \ + static int i2d_##stname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, \ + ASN1_ITEM_rptr(stname)); \ + } + /* * This includes evil casts to remove const: they will go away when full ASN1 * constification is done.