1 /* 2 * WARNING: do not edit! 3 * Generated by apps/progs.pl 4 * 5 * Copyright 1995-2016 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 exit_main(int argc, char *argv[]); 43 extern int gendsa_main(int argc, char *argv[]); 44 extern int genpkey_main(int argc, char *argv[]); 45 extern int genrsa_main(int argc, char *argv[]); 46 extern int help_main(int argc, char *argv[]); 47 extern int list_main(int argc, char *argv[]); 48 extern int nseq_main(int argc, char *argv[]); 49 extern int ocsp_main(int argc, char *argv[]); 50 extern int passwd_main(int argc, char *argv[]); 51 extern int pkcs12_main(int argc, char *argv[]); 52 extern int pkcs7_main(int argc, char *argv[]); 53 extern int pkcs8_main(int argc, char *argv[]); 54 extern int pkey_main(int argc, char *argv[]); 55 extern int pkeyparam_main(int argc, char *argv[]); 56 extern int pkeyutl_main(int argc, char *argv[]); 57 extern int prime_main(int argc, char *argv[]); 58 extern int rand_main(int argc, char *argv[]); 59 extern int rehash_main(int argc, char *argv[]); 60 extern int req_main(int argc, char *argv[]); 61 extern int rsa_main(int argc, char *argv[]); 62 extern int rsautl_main(int argc, char *argv[]); 63 extern int s_client_main(int argc, char *argv[]); 64 extern int s_server_main(int argc, char *argv[]); 65 extern int s_time_main(int argc, char *argv[]); 66 extern int sess_id_main(int argc, char *argv[]); 67 extern int smime_main(int argc, char *argv[]); 68 extern int speed_main(int argc, char *argv[]); 69 extern int spkac_main(int argc, char *argv[]); 70 extern int srp_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 OPTIONS asn1parse_options[]; 77 extern OPTIONS ca_options[]; 78 extern OPTIONS ciphers_options[]; 79 extern OPTIONS cms_options[]; 80 extern OPTIONS crl_options[]; 81 extern OPTIONS crl2pkcs7_options[]; 82 extern OPTIONS dgst_options[]; 83 extern OPTIONS dhparam_options[]; 84 extern OPTIONS dsa_options[]; 85 extern OPTIONS dsaparam_options[]; 86 extern OPTIONS ec_options[]; 87 extern OPTIONS ecparam_options[]; 88 extern OPTIONS enc_options[]; 89 extern OPTIONS engine_options[]; 90 extern OPTIONS errstr_options[]; 91 extern OPTIONS exit_options[]; 92 extern OPTIONS gendsa_options[]; 93 extern OPTIONS genpkey_options[]; 94 extern OPTIONS genrsa_options[]; 95 extern OPTIONS help_options[]; 96 extern OPTIONS list_options[]; 97 extern OPTIONS nseq_options[]; 98 extern OPTIONS ocsp_options[]; 99 extern OPTIONS passwd_options[]; 100 extern OPTIONS pkcs12_options[]; 101 extern OPTIONS pkcs7_options[]; 102 extern OPTIONS pkcs8_options[]; 103 extern OPTIONS pkey_options[]; 104 extern OPTIONS pkeyparam_options[]; 105 extern OPTIONS pkeyutl_options[]; 106 extern OPTIONS prime_options[]; 107 extern OPTIONS rand_options[]; 108 extern OPTIONS rehash_options[]; 109 extern OPTIONS req_options[]; 110 extern OPTIONS rsa_options[]; 111 extern OPTIONS rsautl_options[]; 112 extern OPTIONS s_client_options[]; 113 extern OPTIONS s_server_options[]; 114 extern OPTIONS s_time_options[]; 115 extern OPTIONS sess_id_options[]; 116 extern OPTIONS smime_options[]; 117 extern OPTIONS speed_options[]; 118 extern OPTIONS spkac_options[]; 119 extern OPTIONS srp_options[]; 120 extern OPTIONS ts_options[]; 121 extern OPTIONS verify_options[]; 122 extern OPTIONS version_options[]; 123 extern 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 { FT_general, "exit", exit_main, exit_options }, 159 #ifndef OPENSSL_NO_DSA 160 { FT_general, "gendsa", gendsa_main, gendsa_options }, 161 #endif 162 { FT_general, "genpkey", genpkey_main, genpkey_options }, 163 #ifndef OPENSSL_NO_RSA 164 { FT_general, "genrsa", genrsa_main, genrsa_options }, 165 #endif 166 { FT_general, "help", help_main, help_options }, 167 { FT_general, "list", list_main, list_options }, 168 { FT_general, "nseq", nseq_main, nseq_options }, 169 #ifndef OPENSSL_NO_OCSP 170 { FT_general, "ocsp", ocsp_main, ocsp_options }, 171 #endif 172 { FT_general, "passwd", passwd_main, passwd_options }, 173 #ifndef OPENSSL_NO_DES 174 { FT_general, "pkcs12", pkcs12_main, pkcs12_options }, 175 #endif 176 { FT_general, "pkcs7", pkcs7_main, pkcs7_options }, 177 { FT_general, "pkcs8", pkcs8_main, pkcs8_options }, 178 { FT_general, "pkey", pkey_main, pkey_options }, 179 { FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options }, 180 { FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options }, 181 { FT_general, "prime", prime_main, prime_options }, 182 { FT_general, "rand", rand_main, rand_options }, 183 { FT_general, "rehash", rehash_main, rehash_options }, 184 { FT_general, "req", req_main, req_options }, 185 { FT_general, "rsa", rsa_main, rsa_options }, 186 #ifndef OPENSSL_NO_RSA 187 { FT_general, "rsautl", rsautl_main, rsautl_options }, 188 #endif 189 #ifndef OPENSSL_NO_SOCK 190 { FT_general, "s_client", s_client_main, s_client_options }, 191 #endif 192 #ifndef OPENSSL_NO_SOCK 193 { FT_general, "s_server", s_server_main, s_server_options }, 194 #endif 195 #ifndef OPENSSL_NO_SOCK 196 { FT_general, "s_time", s_time_main, s_time_options }, 197 #endif 198 { FT_general, "sess_id", sess_id_main, sess_id_options }, 199 { FT_general, "smime", smime_main, smime_options }, 200 { FT_general, "speed", speed_main, speed_options }, 201 { FT_general, "spkac", spkac_main, spkac_options }, 202 #ifndef OPENSSL_NO_SRP 203 { FT_general, "srp", srp_main, srp_options }, 204 #endif 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 #ifndef OPENSSL_NO_MDC2 227 { FT_md, "mdc2", dgst_main}, 228 #endif 229 #ifndef OPENSSL_NO_RMD160 230 { FT_md, "rmd160", dgst_main}, 231 #endif 232 #ifndef OPENSSL_NO_BLAKE2 233 { FT_md, "blake2b512", dgst_main}, 234 #endif 235 #ifndef OPENSSL_NO_BLAKE2 236 { FT_md, "blake2s256", dgst_main}, 237 #endif 238 { FT_cipher, "aes-128-cbc", enc_main, enc_options }, 239 { FT_cipher, "aes-128-ecb", enc_main, enc_options }, 240 { FT_cipher, "aes-192-cbc", enc_main, enc_options }, 241 { FT_cipher, "aes-192-ecb", enc_main, enc_options }, 242 { FT_cipher, "aes-256-cbc", enc_main, enc_options }, 243 { FT_cipher, "aes-256-ecb", enc_main, enc_options }, 244 #ifndef OPENSSL_NO_CAMELLIA 245 { FT_cipher, "camellia-128-cbc", enc_main, enc_options }, 246 #endif 247 #ifndef OPENSSL_NO_CAMELLIA 248 { FT_cipher, "camellia-128-ecb", enc_main, enc_options }, 249 #endif 250 #ifndef OPENSSL_NO_CAMELLIA 251 { FT_cipher, "camellia-192-cbc", enc_main, enc_options }, 252 #endif 253 #ifndef OPENSSL_NO_CAMELLIA 254 { FT_cipher, "camellia-192-ecb", enc_main, enc_options }, 255 #endif 256 #ifndef OPENSSL_NO_CAMELLIA 257 { FT_cipher, "camellia-256-cbc", enc_main, enc_options }, 258 #endif 259 #ifndef OPENSSL_NO_CAMELLIA 260 { FT_cipher, "camellia-256-ecb", enc_main, enc_options }, 261 #endif 262 { FT_cipher, "base64", enc_main, enc_options }, 263 #ifdef ZLIB 264 { FT_cipher, "zlib", enc_main, enc_options }, 265 #endif 266 #ifndef OPENSSL_NO_DES 267 { FT_cipher, "des", enc_main, enc_options }, 268 #endif 269 #ifndef OPENSSL_NO_DES 270 { FT_cipher, "des3", enc_main, enc_options }, 271 #endif 272 #ifndef OPENSSL_NO_DES 273 { FT_cipher, "desx", enc_main, enc_options }, 274 #endif 275 #ifndef OPENSSL_NO_IDEA 276 { FT_cipher, "idea", enc_main, enc_options }, 277 #endif 278 #ifndef OPENSSL_NO_SEED 279 { FT_cipher, "seed", enc_main, enc_options }, 280 #endif 281 #ifndef OPENSSL_NO_RC4 282 { FT_cipher, "rc4", enc_main, enc_options }, 283 #endif 284 #ifndef OPENSSL_NO_RC4 285 { FT_cipher, "rc4-40", enc_main, enc_options }, 286 #endif 287 #ifndef OPENSSL_NO_RC2 288 { FT_cipher, "rc2", enc_main, enc_options }, 289 #endif 290 #ifndef OPENSSL_NO_BF 291 { FT_cipher, "bf", enc_main, enc_options }, 292 #endif 293 #ifndef OPENSSL_NO_CAST 294 { FT_cipher, "cast", enc_main, enc_options }, 295 #endif 296 #ifndef OPENSSL_NO_RC5 297 { FT_cipher, "rc5", enc_main, enc_options }, 298 #endif 299 #ifndef OPENSSL_NO_DES 300 { FT_cipher, "des-ecb", enc_main, enc_options }, 301 #endif 302 #ifndef OPENSSL_NO_DES 303 { FT_cipher, "des-ede", enc_main, enc_options }, 304 #endif 305 #ifndef OPENSSL_NO_DES 306 { FT_cipher, "des-ede3", enc_main, enc_options }, 307 #endif 308 #ifndef OPENSSL_NO_DES 309 { FT_cipher, "des-cbc", enc_main, enc_options }, 310 #endif 311 #ifndef OPENSSL_NO_DES 312 { FT_cipher, "des-ede-cbc", enc_main, enc_options }, 313 #endif 314 #ifndef OPENSSL_NO_DES 315 { FT_cipher, "des-ede3-cbc", enc_main, enc_options }, 316 #endif 317 #ifndef OPENSSL_NO_DES 318 { FT_cipher, "des-cfb", enc_main, enc_options }, 319 #endif 320 #ifndef OPENSSL_NO_DES 321 { FT_cipher, "des-ede-cfb", enc_main, enc_options }, 322 #endif 323 #ifndef OPENSSL_NO_DES 324 { FT_cipher, "des-ede3-cfb", enc_main, enc_options }, 325 #endif 326 #ifndef OPENSSL_NO_DES 327 { FT_cipher, "des-ofb", enc_main, enc_options }, 328 #endif 329 #ifndef OPENSSL_NO_DES 330 { FT_cipher, "des-ede-ofb", enc_main, enc_options }, 331 #endif 332 #ifndef OPENSSL_NO_DES 333 { FT_cipher, "des-ede3-ofb", enc_main, enc_options }, 334 #endif 335 #ifndef OPENSSL_NO_IDEA 336 { FT_cipher, "idea-cbc", enc_main, enc_options }, 337 #endif 338 #ifndef OPENSSL_NO_IDEA 339 { FT_cipher, "idea-ecb", enc_main, enc_options }, 340 #endif 341 #ifndef OPENSSL_NO_IDEA 342 { FT_cipher, "idea-cfb", enc_main, enc_options }, 343 #endif 344 #ifndef OPENSSL_NO_IDEA 345 { FT_cipher, "idea-ofb", enc_main, enc_options }, 346 #endif 347 #ifndef OPENSSL_NO_SEED 348 { FT_cipher, "seed-cbc", enc_main, enc_options }, 349 #endif 350 #ifndef OPENSSL_NO_SEED 351 { FT_cipher, "seed-ecb", enc_main, enc_options }, 352 #endif 353 #ifndef OPENSSL_NO_SEED 354 { FT_cipher, "seed-cfb", enc_main, enc_options }, 355 #endif 356 #ifndef OPENSSL_NO_SEED 357 { FT_cipher, "seed-ofb", enc_main, enc_options }, 358 #endif 359 #ifndef OPENSSL_NO_RC2 360 { FT_cipher, "rc2-cbc", enc_main, enc_options }, 361 #endif 362 #ifndef OPENSSL_NO_RC2 363 { FT_cipher, "rc2-ecb", enc_main, enc_options }, 364 #endif 365 #ifndef OPENSSL_NO_RC2 366 { FT_cipher, "rc2-cfb", enc_main, enc_options }, 367 #endif 368 #ifndef OPENSSL_NO_RC2 369 { FT_cipher, "rc2-ofb", enc_main, enc_options }, 370 #endif 371 #ifndef OPENSSL_NO_RC2 372 { FT_cipher, "rc2-64-cbc", enc_main, enc_options }, 373 #endif 374 #ifndef OPENSSL_NO_RC2 375 { FT_cipher, "rc2-40-cbc", enc_main, enc_options }, 376 #endif 377 #ifndef OPENSSL_NO_BF 378 { FT_cipher, "bf-cbc", enc_main, enc_options }, 379 #endif 380 #ifndef OPENSSL_NO_BF 381 { FT_cipher, "bf-ecb", enc_main, enc_options }, 382 #endif 383 #ifndef OPENSSL_NO_BF 384 { FT_cipher, "bf-cfb", enc_main, enc_options }, 385 #endif 386 #ifndef OPENSSL_NO_BF 387 { FT_cipher, "bf-ofb", enc_main, enc_options }, 388 #endif 389 #ifndef OPENSSL_NO_CAST 390 { FT_cipher, "cast5-cbc", enc_main, enc_options }, 391 #endif 392 #ifndef OPENSSL_NO_CAST 393 { FT_cipher, "cast5-ecb", enc_main, enc_options }, 394 #endif 395 #ifndef OPENSSL_NO_CAST 396 { FT_cipher, "cast5-cfb", enc_main, enc_options }, 397 #endif 398 #ifndef OPENSSL_NO_CAST 399 { FT_cipher, "cast5-ofb", enc_main, enc_options }, 400 #endif 401 #ifndef OPENSSL_NO_CAST 402 { FT_cipher, "cast-cbc", enc_main, enc_options }, 403 #endif 404 #ifndef OPENSSL_NO_RC5 405 { FT_cipher, "rc5-cbc", enc_main, enc_options }, 406 #endif 407 #ifndef OPENSSL_NO_RC5 408 { FT_cipher, "rc5-ecb", enc_main, enc_options }, 409 #endif 410 #ifndef OPENSSL_NO_RC5 411 { FT_cipher, "rc5-cfb", enc_main, enc_options }, 412 #endif 413 #ifndef OPENSSL_NO_RC5 414 { FT_cipher, "rc5-ofb", enc_main, enc_options }, 415 #endif 416 { 0, NULL, NULL} 417 }; 418 #endif 419