1 /* $OpenBSD: asn1.h,v 1.15 2024/07/08 17:01:54 beck Exp $ */ 2 /* 3 * Copyright (c) 2023 Bob Beck <beck@openbsd.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18 #ifndef _LIBCRYPTO_ASN1_H 19 #define _LIBCRYPTO_ASN1_H 20 21 #ifndef _MSC_VER 22 #include_next <openssl/asn1.h> 23 #else 24 #include "../include/openssl/asn1.h" 25 #endif 26 #include "crypto_namespace.h" 27 28 LCRYPTO_USED(d2i_ASN1_SEQUENCE_ANY); 29 LCRYPTO_USED(i2d_ASN1_SEQUENCE_ANY); 30 LCRYPTO_USED(d2i_ASN1_SET_ANY); 31 LCRYPTO_USED(i2d_ASN1_SET_ANY); 32 LCRYPTO_USED(ASN1_TYPE_new); 33 LCRYPTO_USED(ASN1_TYPE_free); 34 LCRYPTO_USED(d2i_ASN1_TYPE); 35 LCRYPTO_USED(i2d_ASN1_TYPE); 36 LCRYPTO_USED(ASN1_TYPE_get); 37 LCRYPTO_USED(ASN1_TYPE_set); 38 LCRYPTO_USED(ASN1_TYPE_set1); 39 LCRYPTO_USED(ASN1_TYPE_cmp); 40 LCRYPTO_USED(ASN1_OBJECT_new); 41 LCRYPTO_USED(ASN1_OBJECT_free); 42 LCRYPTO_USED(i2d_ASN1_OBJECT); 43 LCRYPTO_USED(d2i_ASN1_OBJECT); 44 LCRYPTO_USED(ASN1_STRING_new); 45 LCRYPTO_USED(ASN1_STRING_free); 46 LCRYPTO_USED(ASN1_STRING_copy); 47 LCRYPTO_USED(ASN1_STRING_dup); 48 LCRYPTO_USED(ASN1_STRING_type_new); 49 LCRYPTO_USED(ASN1_STRING_cmp); 50 LCRYPTO_USED(ASN1_STRING_set); 51 LCRYPTO_USED(ASN1_STRING_set0); 52 LCRYPTO_USED(ASN1_STRING_length); 53 LCRYPTO_USED(ASN1_STRING_length_set); 54 LCRYPTO_USED(ASN1_STRING_type); 55 LCRYPTO_USED(ASN1_STRING_data); 56 LCRYPTO_USED(ASN1_STRING_get0_data); 57 LCRYPTO_USED(ASN1_BIT_STRING_new); 58 LCRYPTO_USED(ASN1_BIT_STRING_free); 59 LCRYPTO_USED(d2i_ASN1_BIT_STRING); 60 LCRYPTO_USED(i2d_ASN1_BIT_STRING); 61 LCRYPTO_USED(ASN1_BIT_STRING_set); 62 LCRYPTO_USED(ASN1_BIT_STRING_set_bit); 63 LCRYPTO_USED(ASN1_BIT_STRING_get_bit); 64 LCRYPTO_USED(ASN1_INTEGER_new); 65 LCRYPTO_USED(ASN1_INTEGER_free); 66 LCRYPTO_USED(d2i_ASN1_INTEGER); 67 LCRYPTO_USED(i2d_ASN1_INTEGER); 68 LCRYPTO_USED(d2i_ASN1_UINTEGER); 69 LCRYPTO_USED(ASN1_INTEGER_dup); 70 LCRYPTO_USED(ASN1_INTEGER_cmp); 71 LCRYPTO_USED(ASN1_ENUMERATED_new); 72 LCRYPTO_USED(ASN1_ENUMERATED_free); 73 LCRYPTO_USED(d2i_ASN1_ENUMERATED); 74 LCRYPTO_USED(i2d_ASN1_ENUMERATED); 75 LCRYPTO_USED(ASN1_UTCTIME_check); 76 LCRYPTO_USED(ASN1_UTCTIME_set); 77 LCRYPTO_USED(ASN1_UTCTIME_adj); 78 LCRYPTO_USED(ASN1_UTCTIME_set_string); 79 LCRYPTO_USED(ASN1_GENERALIZEDTIME_check); 80 LCRYPTO_USED(ASN1_GENERALIZEDTIME_set); 81 LCRYPTO_USED(ASN1_GENERALIZEDTIME_adj); 82 LCRYPTO_USED(ASN1_GENERALIZEDTIME_set_string); 83 LCRYPTO_USED(ASN1_OCTET_STRING_new); 84 LCRYPTO_USED(ASN1_OCTET_STRING_free); 85 LCRYPTO_USED(d2i_ASN1_OCTET_STRING); 86 LCRYPTO_USED(i2d_ASN1_OCTET_STRING); 87 LCRYPTO_USED(ASN1_OCTET_STRING_dup); 88 LCRYPTO_USED(ASN1_OCTET_STRING_cmp); 89 LCRYPTO_USED(ASN1_OCTET_STRING_set); 90 LCRYPTO_USED(ASN1_VISIBLESTRING_new); 91 LCRYPTO_USED(ASN1_VISIBLESTRING_free); 92 LCRYPTO_USED(d2i_ASN1_VISIBLESTRING); 93 LCRYPTO_USED(i2d_ASN1_VISIBLESTRING); 94 LCRYPTO_USED(ASN1_UNIVERSALSTRING_new); 95 LCRYPTO_USED(ASN1_UNIVERSALSTRING_free); 96 LCRYPTO_USED(d2i_ASN1_UNIVERSALSTRING); 97 LCRYPTO_USED(i2d_ASN1_UNIVERSALSTRING); 98 LCRYPTO_USED(ASN1_UTF8STRING_new); 99 LCRYPTO_USED(ASN1_UTF8STRING_free); 100 LCRYPTO_USED(d2i_ASN1_UTF8STRING); 101 LCRYPTO_USED(i2d_ASN1_UTF8STRING); 102 LCRYPTO_USED(ASN1_NULL_new); 103 LCRYPTO_USED(ASN1_NULL_free); 104 LCRYPTO_USED(d2i_ASN1_NULL); 105 LCRYPTO_USED(i2d_ASN1_NULL); 106 LCRYPTO_USED(ASN1_BMPSTRING_new); 107 LCRYPTO_USED(ASN1_BMPSTRING_free); 108 LCRYPTO_USED(d2i_ASN1_BMPSTRING); 109 LCRYPTO_USED(i2d_ASN1_BMPSTRING); 110 LCRYPTO_USED(ASN1_PRINTABLE_new); 111 LCRYPTO_USED(ASN1_PRINTABLE_free); 112 LCRYPTO_USED(d2i_ASN1_PRINTABLE); 113 LCRYPTO_USED(i2d_ASN1_PRINTABLE); 114 LCRYPTO_USED(DIRECTORYSTRING_new); 115 LCRYPTO_USED(DIRECTORYSTRING_free); 116 LCRYPTO_USED(d2i_DIRECTORYSTRING); 117 LCRYPTO_USED(i2d_DIRECTORYSTRING); 118 LCRYPTO_USED(DISPLAYTEXT_new); 119 LCRYPTO_USED(DISPLAYTEXT_free); 120 LCRYPTO_USED(d2i_DISPLAYTEXT); 121 LCRYPTO_USED(i2d_DISPLAYTEXT); 122 LCRYPTO_USED(ASN1_PRINTABLESTRING_new); 123 LCRYPTO_USED(ASN1_PRINTABLESTRING_free); 124 LCRYPTO_USED(d2i_ASN1_PRINTABLESTRING); 125 LCRYPTO_USED(i2d_ASN1_PRINTABLESTRING); 126 LCRYPTO_USED(ASN1_T61STRING_new); 127 LCRYPTO_USED(ASN1_T61STRING_free); 128 LCRYPTO_USED(d2i_ASN1_T61STRING); 129 LCRYPTO_USED(i2d_ASN1_T61STRING); 130 LCRYPTO_USED(ASN1_IA5STRING_new); 131 LCRYPTO_USED(ASN1_IA5STRING_free); 132 LCRYPTO_USED(d2i_ASN1_IA5STRING); 133 LCRYPTO_USED(i2d_ASN1_IA5STRING); 134 LCRYPTO_USED(ASN1_GENERALSTRING_new); 135 LCRYPTO_USED(ASN1_GENERALSTRING_free); 136 LCRYPTO_USED(d2i_ASN1_GENERALSTRING); 137 LCRYPTO_USED(i2d_ASN1_GENERALSTRING); 138 LCRYPTO_USED(ASN1_UTCTIME_new); 139 LCRYPTO_USED(ASN1_UTCTIME_free); 140 LCRYPTO_USED(d2i_ASN1_UTCTIME); 141 LCRYPTO_USED(i2d_ASN1_UTCTIME); 142 LCRYPTO_USED(ASN1_GENERALIZEDTIME_new); 143 LCRYPTO_USED(ASN1_GENERALIZEDTIME_free); 144 LCRYPTO_USED(d2i_ASN1_GENERALIZEDTIME); 145 LCRYPTO_USED(i2d_ASN1_GENERALIZEDTIME); 146 LCRYPTO_USED(ASN1_TIME_new); 147 LCRYPTO_USED(ASN1_TIME_free); 148 LCRYPTO_USED(d2i_ASN1_TIME); 149 LCRYPTO_USED(i2d_ASN1_TIME); 150 LCRYPTO_USED(ASN1_TIME_to_tm); 151 LCRYPTO_USED(ASN1_TIME_compare); 152 LCRYPTO_USED(ASN1_TIME_cmp_time_t); 153 LCRYPTO_USED(ASN1_TIME_normalize); 154 LCRYPTO_USED(ASN1_TIME_set_string_X509); 155 LCRYPTO_USED(ASN1_TIME_diff); 156 LCRYPTO_USED(ASN1_TIME_set); 157 LCRYPTO_USED(ASN1_TIME_adj); 158 LCRYPTO_USED(ASN1_TIME_check); 159 LCRYPTO_USED(ASN1_TIME_to_generalizedtime); 160 LCRYPTO_USED(ASN1_TIME_set_string); 161 LCRYPTO_USED(i2a_ASN1_INTEGER); 162 LCRYPTO_USED(a2i_ASN1_INTEGER); 163 LCRYPTO_USED(i2a_ASN1_ENUMERATED); 164 LCRYPTO_USED(a2i_ASN1_ENUMERATED); 165 LCRYPTO_USED(i2a_ASN1_OBJECT); 166 LCRYPTO_USED(a2i_ASN1_STRING); 167 LCRYPTO_USED(i2a_ASN1_STRING); 168 LCRYPTO_USED(i2t_ASN1_OBJECT); 169 LCRYPTO_USED(a2d_ASN1_OBJECT); 170 LCRYPTO_USED(ASN1_OBJECT_create); 171 LCRYPTO_USED(ASN1_INTEGER_get_uint64); 172 LCRYPTO_USED(ASN1_INTEGER_set_uint64); 173 LCRYPTO_USED(ASN1_INTEGER_get_int64); 174 LCRYPTO_USED(ASN1_INTEGER_set_int64); 175 LCRYPTO_USED(ASN1_INTEGER_set); 176 LCRYPTO_USED(ASN1_INTEGER_get); 177 LCRYPTO_USED(BN_to_ASN1_INTEGER); 178 LCRYPTO_USED(ASN1_INTEGER_to_BN); 179 LCRYPTO_USED(ASN1_ENUMERATED_get_int64); 180 LCRYPTO_USED(ASN1_ENUMERATED_set_int64); 181 LCRYPTO_USED(ASN1_ENUMERATED_set); 182 LCRYPTO_USED(ASN1_ENUMERATED_get); 183 LCRYPTO_USED(BN_to_ASN1_ENUMERATED); 184 LCRYPTO_USED(ASN1_ENUMERATED_to_BN); 185 LCRYPTO_USED(ASN1_PRINTABLE_type); 186 LCRYPTO_USED(ASN1_get_object); 187 LCRYPTO_USED(ASN1_put_object); 188 LCRYPTO_USED(ASN1_put_eoc); 189 LCRYPTO_USED(ASN1_object_size); 190 LCRYPTO_USED(ASN1_item_dup); 191 LCRYPTO_USED(ASN1_d2i_fp); 192 LCRYPTO_USED(ASN1_item_d2i_fp); 193 LCRYPTO_USED(ASN1_i2d_fp); 194 LCRYPTO_USED(ASN1_item_i2d_fp); 195 LCRYPTO_USED(ASN1_STRING_print_ex_fp); 196 LCRYPTO_USED(ASN1_STRING_to_UTF8); 197 LCRYPTO_USED(ASN1_d2i_bio); 198 LCRYPTO_USED(ASN1_item_d2i_bio); 199 LCRYPTO_USED(ASN1_i2d_bio); 200 LCRYPTO_USED(ASN1_item_i2d_bio); 201 LCRYPTO_USED(ASN1_UTCTIME_print); 202 LCRYPTO_USED(ASN1_GENERALIZEDTIME_print); 203 LCRYPTO_USED(ASN1_TIME_print); 204 LCRYPTO_USED(ASN1_STRING_print); 205 LCRYPTO_USED(ASN1_STRING_print_ex); 206 LCRYPTO_USED(ASN1_parse); 207 LCRYPTO_USED(ASN1_parse_dump); 208 LCRYPTO_USED(ASN1_tag2bit); 209 LCRYPTO_USED(ASN1_tag2str); 210 LCRYPTO_USED(ASN1_UNIVERSALSTRING_to_string); 211 LCRYPTO_USED(ASN1_TYPE_set_octetstring); 212 LCRYPTO_USED(ASN1_TYPE_get_octetstring); 213 LCRYPTO_USED(ASN1_TYPE_set_int_octetstring); 214 LCRYPTO_USED(ASN1_TYPE_get_int_octetstring); 215 LCRYPTO_USED(ASN1_item_pack); 216 LCRYPTO_USED(ASN1_item_unpack); 217 LCRYPTO_USED(ASN1_STRING_set_default_mask); 218 LCRYPTO_USED(ASN1_STRING_set_default_mask_asc); 219 LCRYPTO_USED(ASN1_STRING_get_default_mask); 220 LCRYPTO_USED(ASN1_mbstring_copy); 221 LCRYPTO_USED(ASN1_mbstring_ncopy); 222 LCRYPTO_USED(ASN1_STRING_set_by_NID); 223 LCRYPTO_USED(ASN1_STRING_TABLE_get); 224 LCRYPTO_USED(ASN1_item_new); 225 LCRYPTO_USED(ASN1_item_free); 226 LCRYPTO_USED(ASN1_item_d2i); 227 LCRYPTO_USED(ASN1_item_i2d); 228 LCRYPTO_USED(ASN1_generate_nconf); 229 LCRYPTO_USED(ASN1_generate_v3); 230 LCRYPTO_USED(ASN1_item_print); 231 LCRYPTO_USED(SMIME_crlf_copy); 232 LCRYPTO_USED(SMIME_text); 233 LCRYPTO_USED(ERR_load_ASN1_strings); 234 LCRYPTO_UNUSED(ASN1_UTCTIME_cmp_time_t); 235 LCRYPTO_UNUSED(ASN1_dup); 236 #if defined(LIBRESSL_NAMESPACE) 237 extern LCRYPTO_USED(ASN1_SEQUENCE_ANY_it); 238 extern LCRYPTO_USED(ASN1_SET_ANY_it); 239 extern LCRYPTO_USED(ASN1_ANY_it); 240 extern LCRYPTO_USED(ASN1_OBJECT_it); 241 extern LCRYPTO_USED(ASN1_BIT_STRING_it); 242 extern LCRYPTO_USED(ASN1_INTEGER_it); 243 extern LCRYPTO_USED(ASN1_ENUMERATED_it); 244 extern LCRYPTO_USED(ASN1_OCTET_STRING_it); 245 extern LCRYPTO_USED(ASN1_VISIBLESTRING_it); 246 extern LCRYPTO_USED(ASN1_UNIVERSALSTRING_it); 247 extern LCRYPTO_USED(ASN1_UTF8STRING_it); 248 extern LCRYPTO_USED(ASN1_NULL_it); 249 extern LCRYPTO_USED(ASN1_BMPSTRING_it); 250 extern LCRYPTO_USED(ASN1_PRINTABLE_it); 251 extern LCRYPTO_USED(DIRECTORYSTRING_it); 252 extern LCRYPTO_USED(DISPLAYTEXT_it); 253 extern LCRYPTO_USED(ASN1_PRINTABLESTRING_it); 254 extern LCRYPTO_USED(ASN1_T61STRING_it); 255 extern LCRYPTO_USED(ASN1_IA5STRING_it); 256 extern LCRYPTO_USED(ASN1_GENERALSTRING_it); 257 extern LCRYPTO_USED(ASN1_UTCTIME_it); 258 extern LCRYPTO_USED(ASN1_GENERALIZEDTIME_it); 259 extern LCRYPTO_USED(ASN1_TIME_it); 260 #endif 261 262 #endif /* _LIBCRYPTO_ASN1_H */ 263