I've been down this road a few times and nhorman@ just hit it.
While technically true, most of our opaque pointers have internal
defninitions. Stop people going down the garden path by explaining
what this is
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Tue Jun 30 09:51:37 2026
(Merged from https://github.com/openssl/openssl/pull/31708)
*/
typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE;
typedef struct ASN1_TLC_st ASN1_TLC;
-/* This is just an opaque pointer */
+/*
+ * This is deliberately used as an opaque pointer to a structure that
+ * is never defined. In other words it will behave like void *
+ */
typedef struct ASN1_VALUE_st ASN1_VALUE;
/* Declare ASN1 functions: the implement macro is in asn1t.h */