1 /* 2 * WARNING: do not edit! 3 * Generated by apps/progs.pl 4 * 5 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. 6 * 7 * Licensed under the OpenSSL license (the "License"). You may not use 8 * this file except in compliance with the License. You can obtain a copy 9 * in the file LICENSE in the source distribution or at 10 * https://www.openssl.org/source/license.html 11 */ 12 13 typedef enum FUNC_TYPE { 14 FT_none, FT_general, FT_md, FT_cipher, FT_pkey, 15 FT_md_alg, FT_cipher_alg 16 } FUNC_TYPE; 17 18 typedef struct function_st { 19 FUNC_TYPE type; 20 const char *name; 21 int (*func)(int argc, char *argv[]); 22 const OPTIONS *help; 23 } FUNCTION; 24 25 DEFINE_LHASH_OF(FUNCTION); 26 27 extern int asn1parse_main(int argc, char *argv[]); 28 extern int ca_main(int argc, char *argv[]); 29 extern int ciphers_main(int argc, char *argv[]); 30 extern int cms_main(int argc, char *argv[]); 31 extern int crl_main(int argc, char *argv[]); 32 extern int crl2pkcs7_main(int argc, char *argv[]); 33 extern int dgst_main(int argc, char *argv[]); 34 extern int dhparam_main(int argc, char *argv[]); 35 extern int dsa_main(int argc, char *argv[]); 36 extern int dsaparam_main(int argc, char *argv[]); 37 extern int ec_main(int argc, char *argv[]); 38 extern int ecparam_main(int argc, char *argv[]); 39 extern int enc_main(int argc, char *argv[]); 40 extern int engine_main(int argc, char *argv[]); 41 extern int errstr_main(int argc, char *argv[]); 42 extern int gendsa_main(int argc, char *argv[]); 43 extern int genpkey_main(int argc, char *argv[]); 44 extern int genrsa_main(int argc, char *argv[]); 45 extern int help_main(int argc, char *argv[]); 46 extern int list_main(int argc, char *argv[]); 47 extern int nseq_main(int argc, char *argv[]); 48 extern int ocsp_main(int argc, char *argv[]); 49 extern int passwd_main(int argc, char *argv[]); 50 extern int pkcs12_main(int argc, char *argv[]); 51 extern int pkcs7_main(int argc, char *argv[]); 52 extern int pkcs8_main(int argc, char *argv[]); 53 extern int pkey_main(int argc, char *argv[]); 54 extern int pkeyparam_main(int argc, char *argv[]); 55 extern int pkeyutl_main(int argc, char *argv[]); 56 extern int prime_main(int argc, char *argv[]); 57 extern int rand_main(int argc, char *argv[]); 58 extern int rehash_main(int argc, char *argv[]); 59 extern int req_main(int argc, char *argv[]); 60 extern int rsa_main(int argc, char *argv[]); 61 extern int rsautl_main(int argc, char *argv[]); 62 extern int s_client_main(int argc, char *argv[]); 63 extern int s_server_main(int argc, char *argv[]); 64 extern int s_time_main(int argc, char *argv[]); 65 extern int sess_id_main(int argc, char *argv[]); 66 extern int smime_main(int argc, char *argv[]); 67 extern int speed_main(int argc, char *argv[]); 68 extern int spkac_main(int argc, char *argv[]); 69 extern int srp_main(int argc, char *argv[]); 70 extern int storeutl_main(int argc, char *argv[]); 71 extern int ts_main(int argc, char *argv[]); 72 extern int verify_main(int argc, char *argv[]); 73 extern int version_main(int argc, char *argv[]); 74 extern int x509_main(int argc, char *argv[]); 75 76 extern const OPTIONS asn1parse_options[]; 77 extern const OPTIONS ca_options[]; 78 extern const OPTIONS ciphers_options[]; 79 extern const OPTIONS cms_options[]; 80 extern const OPTIONS crl_options[]; 81 extern const OPTIONS crl2pkcs7_options[]; 82 extern const OPTIONS dgst_options[]; 83 extern const OPTIONS dhparam_options[]; 84 extern const OPTIONS dsa_options[]; 85 extern const OPTIONS dsaparam_options[]; 86 extern const OPTIONS ec_options[]; 87 extern const OPTIONS ecparam_options[]; 88 extern const OPTIONS enc_options[]; 89 extern const OPTIONS engine_options[]; 90 extern const OPTIONS errstr_options[]; 91 extern const OPTIONS gendsa_options[]; 92 extern const OPTIONS genpkey_options[]; 93 extern const OPTIONS genrsa_options[]; 94 extern const OPTIONS help_options[]; 95 extern const OPTIONS list_options[]; 96 extern const OPTIONS nseq_options[]; 97 extern const OPTIONS ocsp_options[]; 98 extern const OPTIONS passwd_options[]; 99 extern const OPTIONS pkcs12_options[]; 100 extern const OPTIONS pkcs7_options[]; 101 extern const OPTIONS pkcs8_options[]; 102 extern const OPTIONS pkey_options[]; 103 extern const OPTIONS pkeyparam_options[]; 104 extern const OPTIONS pkeyutl_options[]; 105 extern const OPTIONS prime_options[]; 106 extern const OPTIONS rand_options[]; 107 extern const OPTIONS rehash_options[]; 108 extern const OPTIONS req_options[]; 109 extern const OPTIONS rsa_options[]; 110 extern const OPTIONS rsautl_options[]; 111 extern const OPTIONS s_client_options[]; 112 extern const OPTIONS s_server_options[]; 113 extern const OPTIONS s_time_options[]; 114 extern const OPTIONS sess_id_options[]; 115 extern const OPTIONS smime_options[]; 116 extern const OPTIONS speed_options[]; 117 extern const OPTIONS spkac_options[]; 118 extern const OPTIONS srp_options[]; 119 extern const OPTIONS storeutl_options[]; 120 extern const OPTIONS ts_options[]; 121 extern const OPTIONS verify_options[]; 122 extern const OPTIONS version_options[]; 123 extern const OPTIONS x509_options[]; 124 125 #ifdef INCLUDE_FUNCTION_TABLE 126 static FUNCTION functions[] = { 127 {FT_general, "asn1parse", asn1parse_main, asn1parse_options}, 128 {FT_general, "ca", ca_main, ca_options}, 129 #ifndef OPENSSL_NO_SOCK 130 {FT_general, "ciphers", ciphers_main, ciphers_options}, 131 #endif 132 #ifndef OPENSSL_NO_CMS 133 {FT_general, "cms", cms_main, cms_options}, 134 #endif 135 {FT_general, "crl", crl_main, crl_options}, 136 {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options}, 137 {FT_general, "dgst", dgst_main, dgst_options}, 138 #ifndef OPENSSL_NO_DH 139 {FT_general, "dhparam", dhparam_main, dhparam_options}, 140 #endif 141 #ifndef OPENSSL_NO_DSA 142 {FT_general, "dsa", dsa_main, dsa_options}, 143 #endif 144 #ifndef OPENSSL_NO_DSA 145 {FT_general, "dsaparam", dsaparam_main, dsaparam_options}, 146 #endif 147 #ifndef OPENSSL_NO_EC 148 {FT_general, "ec", ec_main, ec_options}, 149 #endif 150 #ifndef OPENSSL_NO_EC 151 {FT_general, "ecparam", ecparam_main, ecparam_options}, 152 #endif 153 {FT_general, "enc", enc_main, enc_options}, 154 #ifndef OPENSSL_NO_ENGINE 155 {FT_general, "engine", engine_main, engine_options}, 156 #endif 157 {FT_general, "errstr", errstr_main, errstr_options}, 158 #ifndef OPENSSL_NO_DSA 159 {FT_general, "gendsa", gendsa_main, gendsa_options}, 160 #endif 161 {FT_general, "genpkey", genpkey_main, genpkey_options}, 162 #ifndef OPENSSL_NO_RSA 163 {FT_general, "genrsa", genrsa_main, genrsa_options}, 164 #endif 165 {FT_general, "help", help_main, help_options}, 166 {FT_general, "list", list_main, list_options}, 167 {FT_general, "nseq", nseq_main, nseq_options}, 168 #ifndef OPENSSL_NO_OCSP 169 {FT_general, "ocsp", ocsp_main, ocsp_options}, 170 #endif 171 {FT_general, "passwd", passwd_main, passwd_options}, 172 #ifndef OPENSSL_NO_DES 173 {FT_general, "pkcs12", pkcs12_main, pkcs12_options}, 174 #endif 175 {FT_general, "pkcs7", pkcs7_main, pkcs7_options}, 176 {FT_general, "pkcs8", pkcs8_main, pkcs8_options}, 177 {FT_general, "pkey", pkey_main, pkey_options}, 178 {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options}, 179 {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options}, 180 {FT_general, "prime", prime_main, prime_options}, 181 {FT_general, "rand", rand_main, rand_options}, 182 {FT_general, "rehash", rehash_main, rehash_options}, 183 {FT_general, "req", req_main, req_options}, 184 {FT_general, "rsa", rsa_main, rsa_options}, 185 #ifndef OPENSSL_NO_RSA 186 {FT_general, "rsautl", rsautl_main, rsautl_options}, 187 #endif 188 #ifndef OPENSSL_NO_SOCK 189 {FT_general, "s_client", s_client_main, s_client_options}, 190 #endif 191 #ifndef OPENSSL_NO_SOCK 192 {FT_general, "s_server", s_server_main, s_server_options}, 193 #endif 194 #ifndef OPENSSL_NO_SOCK 195 {FT_general, "s_time", s_time_main, s_time_options}, 196 #endif 197 {FT_general, "sess_id", sess_id_main, sess_id_options}, 198 {FT_general, "smime", smime_main, smime_options}, 199 {FT_general, "speed", speed_main, speed_options}, 200 {FT_general, "spkac", spkac_main, spkac_options}, 201 #ifndef OPENSSL_NO_SRP 202 {FT_general, "srp", srp_main, srp_options}, 203 #endif 204 {FT_general, "storeutl", storeutl_main, storeutl_options}, 205 #ifndef OPENSSL_NO_TS 206 {FT_general, "ts", ts_main, ts_options}, 207 #endif 208 {FT_general, "verify", verify_main, verify_options}, 209 {FT_general, "version", version_main, version_options}, 210 {FT_general, "x509", x509_main, x509_options}, 211 #ifndef OPENSSL_NO_MD2 212 {FT_md, "md2", dgst_main}, 213 #endif 214 #ifndef OPENSSL_NO_MD4 215 {FT_md, "md4", dgst_main}, 216 #endif 217 {FT_md, "md5", dgst_main}, 218 #ifndef OPENSSL_NO_GOST 219 {FT_md, "gost", dgst_main}, 220 #endif 221 {FT_md, "sha1", dgst_main}, 222 {FT_md, "sha224", dgst_main}, 223 {FT_md, "sha256", dgst_main}, 224 {FT_md, "sha384", dgst_main}, 225 {FT_md, "sha512", dgst_main}, 226 {FT_md, "sha512-224", dgst_main}, 227 {FT_md, "sha512-256", dgst_main}, 228 {FT_md, "sha3-224", dgst_main}, 229 {FT_md, "sha3-256", dgst_main}, 230 {FT_md, "sha3-384", dgst_main}, 231 {FT_md, "sha3-512", dgst_main}, 232 {FT_md, "shake128", dgst_main}, 233 {FT_md, "shake256", dgst_main}, 234 #ifndef OPENSSL_NO_MDC2 235 {FT_md, "mdc2", dgst_main}, 236 #endif 237 #ifndef OPENSSL_NO_RMD160 238 {FT_md, "rmd160", dgst_main}, 239 #endif 240 #ifndef OPENSSL_NO_BLAKE2 241 {FT_md, "blake2b512", dgst_main}, 242 #endif 243 #ifndef OPENSSL_NO_BLAKE2 244 {FT_md, "blake2s256", dgst_main}, 245 #endif 246 #ifndef OPENSSL_NO_SM3 247 {FT_md, "sm3", dgst_main}, 248 #endif 249 {FT_cipher, "aes-128-cbc", enc_main, enc_options}, 250 {FT_cipher, "aes-128-ecb", enc_main, enc_options}, 251 {FT_cipher, "aes-192-cbc", enc_main, enc_options}, 252 {FT_cipher, "aes-192-ecb", enc_main, enc_options}, 253 {FT_cipher, "aes-256-cbc", enc_main, enc_options}, 254 {FT_cipher, "aes-256-ecb", enc_main, enc_options}, 255 #ifndef OPENSSL_NO_ARIA 256 {FT_cipher, "aria-128-cbc", enc_main, enc_options}, 257 #endif 258 #ifndef OPENSSL_NO_ARIA 259 {FT_cipher, "aria-128-cfb", enc_main, enc_options}, 260 #endif 261 #ifndef OPENSSL_NO_ARIA 262 {FT_cipher, "aria-128-ctr", enc_main, enc_options}, 263 #endif 264 #ifndef OPENSSL_NO_ARIA 265 {FT_cipher, "aria-128-ecb", enc_main, enc_options}, 266 #endif 267 #ifndef OPENSSL_NO_ARIA 268 {FT_cipher, "aria-128-ofb", enc_main, enc_options}, 269 #endif 270 #ifndef OPENSSL_NO_ARIA 271 {FT_cipher, "aria-128-cfb1", enc_main, enc_options}, 272 #endif 273 #ifndef OPENSSL_NO_ARIA 274 {FT_cipher, "aria-128-cfb8", enc_main, enc_options}, 275 #endif 276 #ifndef OPENSSL_NO_ARIA 277 {FT_cipher, "aria-192-cbc", enc_main, enc_options}, 278 #endif 279 #ifndef OPENSSL_NO_ARIA 280 {FT_cipher, "aria-192-cfb", enc_main, enc_options}, 281 #endif 282 #ifndef OPENSSL_NO_ARIA 283 {FT_cipher, "aria-192-ctr", enc_main, enc_options}, 284 #endif 285 #ifndef OPENSSL_NO_ARIA 286 {FT_cipher, "aria-192-ecb", enc_main, enc_options}, 287 #endif 288 #ifndef OPENSSL_NO_ARIA 289 {FT_cipher, "aria-192-ofb", enc_main, enc_options}, 290 #endif 291 #ifndef OPENSSL_NO_ARIA 292 {FT_cipher, "aria-192-cfb1", enc_main, enc_options}, 293 #endif 294 #ifndef OPENSSL_NO_ARIA 295 {FT_cipher, "aria-192-cfb8", enc_main, enc_options}, 296 #endif 297 #ifndef OPENSSL_NO_ARIA 298 {FT_cipher, "aria-256-cbc", enc_main, enc_options}, 299 #endif 300 #ifndef OPENSSL_NO_ARIA 301 {FT_cipher, "aria-256-cfb", enc_main, enc_options}, 302 #endif 303 #ifndef OPENSSL_NO_ARIA 304 {FT_cipher, "aria-256-ctr", enc_main, enc_options}, 305 #endif 306 #ifndef OPENSSL_NO_ARIA 307 {FT_cipher, "aria-256-ecb", enc_main, enc_options}, 308 #endif 309 #ifndef OPENSSL_NO_ARIA 310 {FT_cipher, "aria-256-ofb", enc_main, enc_options}, 311 #endif 312 #ifndef OPENSSL_NO_ARIA 313 {FT_cipher, "aria-256-cfb1", enc_main, enc_options}, 314 #endif 315 #ifndef OPENSSL_NO_ARIA 316 {FT_cipher, "aria-256-cfb8", enc_main, enc_options}, 317 #endif 318 #ifndef OPENSSL_NO_CAMELLIA 319 {FT_cipher, "camellia-128-cbc", enc_main, enc_options}, 320 #endif 321 #ifndef OPENSSL_NO_CAMELLIA 322 {FT_cipher, "camellia-128-ecb", enc_main, enc_options}, 323 #endif 324 #ifndef OPENSSL_NO_CAMELLIA 325 {FT_cipher, "camellia-192-cbc", enc_main, enc_options}, 326 #endif 327 #ifndef OPENSSL_NO_CAMELLIA 328 {FT_cipher, "camellia-192-ecb", enc_main, enc_options}, 329 #endif 330 #ifndef OPENSSL_NO_CAMELLIA 331 {FT_cipher, "camellia-256-cbc", enc_main, enc_options}, 332 #endif 333 #ifndef OPENSSL_NO_CAMELLIA 334 {FT_cipher, "camellia-256-ecb", enc_main, enc_options}, 335 #endif 336 {FT_cipher, "base64", enc_main, enc_options}, 337 #ifdef ZLIB 338 {FT_cipher, "zlib", enc_main, enc_options}, 339 #endif 340 #ifndef OPENSSL_NO_DES 341 {FT_cipher, "des", enc_main, enc_options}, 342 #endif 343 #ifndef OPENSSL_NO_DES 344 {FT_cipher, "des3", enc_main, enc_options}, 345 #endif 346 #ifndef OPENSSL_NO_DES 347 {FT_cipher, "desx", enc_main, enc_options}, 348 #endif 349 #ifndef OPENSSL_NO_IDEA 350 {FT_cipher, "idea", enc_main, enc_options}, 351 #endif 352 #ifndef OPENSSL_NO_SEED 353 {FT_cipher, "seed", enc_main, enc_options}, 354 #endif 355 #ifndef OPENSSL_NO_RC4 356 {FT_cipher, "rc4", enc_main, enc_options}, 357 #endif 358 #ifndef OPENSSL_NO_RC4 359 {FT_cipher, "rc4-40", enc_main, enc_options}, 360 #endif 361 #ifndef OPENSSL_NO_RC2 362 {FT_cipher, "rc2", enc_main, enc_options}, 363 #endif 364 #ifndef OPENSSL_NO_BF 365 {FT_cipher, "bf", enc_main, enc_options}, 366 #endif 367 #ifndef OPENSSL_NO_CAST 368 {FT_cipher, "cast", enc_main, enc_options}, 369 #endif 370 #ifndef OPENSSL_NO_RC5 371 {FT_cipher, "rc5", enc_main, enc_options}, 372 #endif 373 #ifndef OPENSSL_NO_DES 374 {FT_cipher, "des-ecb", enc_main, enc_options}, 375 #endif 376 #ifndef OPENSSL_NO_DES 377 {FT_cipher, "des-ede", enc_main, enc_options}, 378 #endif 379 #ifndef OPENSSL_NO_DES 380 {FT_cipher, "des-ede3", enc_main, enc_options}, 381 #endif 382 #ifndef OPENSSL_NO_DES 383 {FT_cipher, "des-cbc", enc_main, enc_options}, 384 #endif 385 #ifndef OPENSSL_NO_DES 386 {FT_cipher, "des-ede-cbc", enc_main, enc_options}, 387 #endif 388 #ifndef OPENSSL_NO_DES 389 {FT_cipher, "des-ede3-cbc", enc_main, enc_options}, 390 #endif 391 #ifndef OPENSSL_NO_DES 392 {FT_cipher, "des-cfb", enc_main, enc_options}, 393 #endif 394 #ifndef OPENSSL_NO_DES 395 {FT_cipher, "des-ede-cfb", enc_main, enc_options}, 396 #endif 397 #ifndef OPENSSL_NO_DES 398 {FT_cipher, "des-ede3-cfb", enc_main, enc_options}, 399 #endif 400 #ifndef OPENSSL_NO_DES 401 {FT_cipher, "des-ofb", enc_main, enc_options}, 402 #endif 403 #ifndef OPENSSL_NO_DES 404 {FT_cipher, "des-ede-ofb", enc_main, enc_options}, 405 #endif 406 #ifndef OPENSSL_NO_DES 407 {FT_cipher, "des-ede3-ofb", enc_main, enc_options}, 408 #endif 409 #ifndef OPENSSL_NO_IDEA 410 {FT_cipher, "idea-cbc", enc_main, enc_options}, 411 #endif 412 #ifndef OPENSSL_NO_IDEA 413 {FT_cipher, "idea-ecb", enc_main, enc_options}, 414 #endif 415 #ifndef OPENSSL_NO_IDEA 416 {FT_cipher, "idea-cfb", enc_main, enc_options}, 417 #endif 418 #ifndef OPENSSL_NO_IDEA 419 {FT_cipher, "idea-ofb", enc_main, enc_options}, 420 #endif 421 #ifndef OPENSSL_NO_SEED 422 {FT_cipher, "seed-cbc", enc_main, enc_options}, 423 #endif 424 #ifndef OPENSSL_NO_SEED 425 {FT_cipher, "seed-ecb", enc_main, enc_options}, 426 #endif 427 #ifndef OPENSSL_NO_SEED 428 {FT_cipher, "seed-cfb", enc_main, enc_options}, 429 #endif 430 #ifndef OPENSSL_NO_SEED 431 {FT_cipher, "seed-ofb", enc_main, enc_options}, 432 #endif 433 #ifndef OPENSSL_NO_RC2 434 {FT_cipher, "rc2-cbc", enc_main, enc_options}, 435 #endif 436 #ifndef OPENSSL_NO_RC2 437 {FT_cipher, "rc2-ecb", enc_main, enc_options}, 438 #endif 439 #ifndef OPENSSL_NO_RC2 440 {FT_cipher, "rc2-cfb", enc_main, enc_options}, 441 #endif 442 #ifndef OPENSSL_NO_RC2 443 {FT_cipher, "rc2-ofb", enc_main, enc_options}, 444 #endif 445 #ifndef OPENSSL_NO_RC2 446 {FT_cipher, "rc2-64-cbc", enc_main, enc_options}, 447 #endif 448 #ifndef OPENSSL_NO_RC2 449 {FT_cipher, "rc2-40-cbc", enc_main, enc_options}, 450 #endif 451 #ifndef OPENSSL_NO_BF 452 {FT_cipher, "bf-cbc", enc_main, enc_options}, 453 #endif 454 #ifndef OPENSSL_NO_BF 455 {FT_cipher, "bf-ecb", enc_main, enc_options}, 456 #endif 457 #ifndef OPENSSL_NO_BF 458 {FT_cipher, "bf-cfb", enc_main, enc_options}, 459 #endif 460 #ifndef OPENSSL_NO_BF 461 {FT_cipher, "bf-ofb", enc_main, enc_options}, 462 #endif 463 #ifndef OPENSSL_NO_CAST 464 {FT_cipher, "cast5-cbc", enc_main, enc_options}, 465 #endif 466 #ifndef OPENSSL_NO_CAST 467 {FT_cipher, "cast5-ecb", enc_main, enc_options}, 468 #endif 469 #ifndef OPENSSL_NO_CAST 470 {FT_cipher, "cast5-cfb", enc_main, enc_options}, 471 #endif 472 #ifndef OPENSSL_NO_CAST 473 {FT_cipher, "cast5-ofb", enc_main, enc_options}, 474 #endif 475 #ifndef OPENSSL_NO_CAST 476 {FT_cipher, "cast-cbc", enc_main, enc_options}, 477 #endif 478 #ifndef OPENSSL_NO_RC5 479 {FT_cipher, "rc5-cbc", enc_main, enc_options}, 480 #endif 481 #ifndef OPENSSL_NO_RC5 482 {FT_cipher, "rc5-ecb", enc_main, enc_options}, 483 #endif 484 #ifndef OPENSSL_NO_RC5 485 {FT_cipher, "rc5-cfb", enc_main, enc_options}, 486 #endif 487 #ifndef OPENSSL_NO_RC5 488 {FT_cipher, "rc5-ofb", enc_main, enc_options}, 489 #endif 490 #ifndef OPENSSL_NO_SM4 491 {FT_cipher, "sm4-cbc", enc_main, enc_options}, 492 #endif 493 #ifndef OPENSSL_NO_SM4 494 {FT_cipher, "sm4-ecb", enc_main, enc_options}, 495 #endif 496 #ifndef OPENSSL_NO_SM4 497 {FT_cipher, "sm4-cfb", enc_main, enc_options}, 498 #endif 499 #ifndef OPENSSL_NO_SM4 500 {FT_cipher, "sm4-ofb", enc_main, enc_options}, 501 #endif 502 #ifndef OPENSSL_NO_SM4 503 {FT_cipher, "sm4-ctr", enc_main, enc_options}, 504 #endif 505 {0, NULL, NULL} 506 }; 507 #endif 508