3 * WARNING: do not edit!
4 * Generated by apps/progs.pl
6 * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
8 * Licensed under the OpenSSL license (the "License"). You may not use
9 * this file except in compliance with the License. You can obtain a copy
10 * in the file LICENSE in the source distribution or at
11 * https://www.openssl.org/source/license.html
14 typedef enum FUNC_TYPE {
15 FT_none, FT_general, FT_md, FT_cipher, FT_pkey,
16 FT_md_alg, FT_cipher_alg
19 typedef struct function_st {
22 int (*func)(int argc, char *argv[]);
26 DEFINE_LHASH_OF(FUNCTION);
28 extern int asn1parse_main(int argc, char *argv[]);
29 extern int ca_main(int argc, char *argv[]);
30 extern int ciphers_main(int argc, char *argv[]);
31 extern int cms_main(int argc, char *argv[]);
32 extern int crl_main(int argc, char *argv[]);
33 extern int crl2pkcs7_main(int argc, char *argv[]);
34 extern int dgst_main(int argc, char *argv[]);
35 extern int dhparam_main(int argc, char *argv[]);
36 extern int dsa_main(int argc, char *argv[]);
37 extern int dsaparam_main(int argc, char *argv[]);
38 extern int ec_main(int argc, char *argv[]);
39 extern int ecparam_main(int argc, char *argv[]);
40 extern int enc_main(int argc, char *argv[]);
41 extern int engine_main(int argc, char *argv[]);
42 extern int errstr_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 storeutl_main(int argc, char *argv[]);
72 extern int ts_main(int argc, char *argv[]);
73 extern int verify_main(int argc, char *argv[]);
74 extern int version_main(int argc, char *argv[]);
75 extern int x509_main(int argc, char *argv[]);
77 extern const OPTIONS asn1parse_options[];
78 extern const OPTIONS ca_options[];
79 extern const OPTIONS ciphers_options[];
80 extern const OPTIONS cms_options[];
81 extern const OPTIONS crl_options[];
82 extern const OPTIONS crl2pkcs7_options[];
83 extern const OPTIONS dgst_options[];
84 extern const OPTIONS dhparam_options[];
85 extern const OPTIONS dsa_options[];
86 extern const OPTIONS dsaparam_options[];
87 extern const OPTIONS ec_options[];
88 extern const OPTIONS ecparam_options[];
89 extern const OPTIONS enc_options[];
90 extern const OPTIONS engine_options[];
91 extern const OPTIONS errstr_options[];
92 extern const OPTIONS gendsa_options[];
93 extern const OPTIONS genpkey_options[];
94 extern const OPTIONS genrsa_options[];
95 extern const OPTIONS help_options[];
96 extern const OPTIONS list_options[];
97 extern const OPTIONS nseq_options[];
98 extern const OPTIONS ocsp_options[];
99 extern const OPTIONS passwd_options[];
100 extern const OPTIONS pkcs12_options[];
101 extern const OPTIONS pkcs7_options[];
102 extern const OPTIONS pkcs8_options[];
103 extern const OPTIONS pkey_options[];
104 extern const OPTIONS pkeyparam_options[];
105 extern const OPTIONS pkeyutl_options[];
106 extern const OPTIONS prime_options[];
107 extern const OPTIONS rand_options[];
108 extern const OPTIONS rehash_options[];
109 extern const OPTIONS req_options[];
110 extern const OPTIONS rsa_options[];
111 extern const OPTIONS rsautl_options[];
112 extern const OPTIONS s_client_options[];
113 extern const OPTIONS s_server_options[];
114 extern const OPTIONS s_time_options[];
115 extern const OPTIONS sess_id_options[];
116 extern const OPTIONS smime_options[];
117 extern const OPTIONS speed_options[];
118 extern const OPTIONS spkac_options[];
119 extern const OPTIONS srp_options[];
120 extern const OPTIONS storeutl_options[];
121 extern const OPTIONS ts_options[];
122 extern const OPTIONS verify_options[];
123 extern const OPTIONS version_options[];
124 extern const OPTIONS x509_options[];
126 #ifdef INCLUDE_FUNCTION_TABLE
127 static FUNCTION functions[] = {
128 {FT_general, "asn1parse", asn1parse_main, asn1parse_options},
129 {FT_general, "ca", ca_main, ca_options},
130 #ifndef OPENSSL_NO_SOCK
131 {FT_general, "ciphers", ciphers_main, ciphers_options},
133 #ifndef OPENSSL_NO_CMS
134 {FT_general, "cms", cms_main, cms_options},
136 {FT_general, "crl", crl_main, crl_options},
137 {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options},
138 {FT_general, "dgst", dgst_main, dgst_options},
139 #ifndef OPENSSL_NO_DH
140 {FT_general, "dhparam", dhparam_main, dhparam_options},
142 #ifndef OPENSSL_NO_DSA
143 {FT_general, "dsa", dsa_main, dsa_options},
145 #ifndef OPENSSL_NO_DSA
146 {FT_general, "dsaparam", dsaparam_main, dsaparam_options},
148 #ifndef OPENSSL_NO_EC
149 {FT_general, "ec", ec_main, ec_options},
151 #ifndef OPENSSL_NO_EC
152 {FT_general, "ecparam", ecparam_main, ecparam_options},
154 {FT_general, "enc", enc_main, enc_options},
155 #ifndef OPENSSL_NO_ENGINE
156 {FT_general, "engine", engine_main, engine_options},
158 {FT_general, "errstr", errstr_main, errstr_options},
159 #ifndef OPENSSL_NO_DSA
160 {FT_general, "gendsa", gendsa_main, gendsa_options},
162 {FT_general, "genpkey", genpkey_main, genpkey_options},
163 #ifndef OPENSSL_NO_RSA
164 {FT_general, "genrsa", genrsa_main, genrsa_options},
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},
172 {FT_general, "passwd", passwd_main, passwd_options},
173 #ifndef OPENSSL_NO_DES
174 {FT_general, "pkcs12", pkcs12_main, pkcs12_options},
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},
189 #ifndef OPENSSL_NO_SOCK
190 {FT_general, "s_client", s_client_main, s_client_options},
192 #ifndef OPENSSL_NO_SOCK
193 {FT_general, "s_server", s_server_main, s_server_options},
195 #ifndef OPENSSL_NO_SOCK
196 {FT_general, "s_time", s_time_main, s_time_options},
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},
205 {FT_general, "storeutl", storeutl_main, storeutl_options},
206 #ifndef OPENSSL_NO_TS
207 {FT_general, "ts", ts_main, ts_options},
209 {FT_general, "verify", verify_main, verify_options},
210 {FT_general, "version", version_main, version_options},
211 {FT_general, "x509", x509_main, x509_options},
212 #ifndef OPENSSL_NO_MD2
213 {FT_md, "md2", dgst_main},
215 #ifndef OPENSSL_NO_MD4
216 {FT_md, "md4", dgst_main},
218 {FT_md, "md5", dgst_main},
219 #ifndef OPENSSL_NO_GOST
220 {FT_md, "gost", dgst_main},
222 {FT_md, "sha1", dgst_main},
223 {FT_md, "sha224", dgst_main},
224 {FT_md, "sha256", dgst_main},
225 {FT_md, "sha384", dgst_main},
226 {FT_md, "sha512", dgst_main},
227 {FT_md, "sha512-224", dgst_main},
228 {FT_md, "sha512-256", dgst_main},
229 {FT_md, "sha3-224", dgst_main},
230 {FT_md, "sha3-256", dgst_main},
231 {FT_md, "sha3-384", dgst_main},
232 {FT_md, "sha3-512", dgst_main},
233 {FT_md, "shake128", dgst_main},
234 {FT_md, "shake256", dgst_main},
235 #ifndef OPENSSL_NO_MDC2
236 {FT_md, "mdc2", dgst_main},
238 #ifndef OPENSSL_NO_RMD160
239 {FT_md, "rmd160", dgst_main},
241 #ifndef OPENSSL_NO_BLAKE2
242 {FT_md, "blake2b512", dgst_main},
244 #ifndef OPENSSL_NO_BLAKE2
245 {FT_md, "blake2s256", dgst_main},
247 #ifndef OPENSSL_NO_SM3
248 {FT_md, "sm3", dgst_main},
250 {FT_cipher, "aes-128-cbc", enc_main, enc_options},
251 {FT_cipher, "aes-128-ecb", enc_main, enc_options},
252 {FT_cipher, "aes-192-cbc", enc_main, enc_options},
253 {FT_cipher, "aes-192-ecb", enc_main, enc_options},
254 {FT_cipher, "aes-256-cbc", enc_main, enc_options},
255 {FT_cipher, "aes-256-ecb", enc_main, enc_options},
256 #ifndef OPENSSL_NO_ARIA
257 {FT_cipher, "aria-128-cbc", enc_main, enc_options},
259 #ifndef OPENSSL_NO_ARIA
260 {FT_cipher, "aria-128-cfb", enc_main, enc_options},
262 #ifndef OPENSSL_NO_ARIA
263 {FT_cipher, "aria-128-ctr", enc_main, enc_options},
265 #ifndef OPENSSL_NO_ARIA
266 {FT_cipher, "aria-128-ecb", enc_main, enc_options},
268 #ifndef OPENSSL_NO_ARIA
269 {FT_cipher, "aria-128-ofb", enc_main, enc_options},
271 #ifndef OPENSSL_NO_ARIA
272 {FT_cipher, "aria-128-cfb1", enc_main, enc_options},
274 #ifndef OPENSSL_NO_ARIA
275 {FT_cipher, "aria-128-cfb8", enc_main, enc_options},
277 #ifndef OPENSSL_NO_ARIA
278 {FT_cipher, "aria-192-cbc", enc_main, enc_options},
280 #ifndef OPENSSL_NO_ARIA
281 {FT_cipher, "aria-192-cfb", enc_main, enc_options},
283 #ifndef OPENSSL_NO_ARIA
284 {FT_cipher, "aria-192-ctr", enc_main, enc_options},
286 #ifndef OPENSSL_NO_ARIA
287 {FT_cipher, "aria-192-ecb", enc_main, enc_options},
289 #ifndef OPENSSL_NO_ARIA
290 {FT_cipher, "aria-192-ofb", enc_main, enc_options},
292 #ifndef OPENSSL_NO_ARIA
293 {FT_cipher, "aria-192-cfb1", enc_main, enc_options},
295 #ifndef OPENSSL_NO_ARIA
296 {FT_cipher, "aria-192-cfb8", enc_main, enc_options},
298 #ifndef OPENSSL_NO_ARIA
299 {FT_cipher, "aria-256-cbc", enc_main, enc_options},
301 #ifndef OPENSSL_NO_ARIA
302 {FT_cipher, "aria-256-cfb", enc_main, enc_options},
304 #ifndef OPENSSL_NO_ARIA
305 {FT_cipher, "aria-256-ctr", enc_main, enc_options},
307 #ifndef OPENSSL_NO_ARIA
308 {FT_cipher, "aria-256-ecb", enc_main, enc_options},
310 #ifndef OPENSSL_NO_ARIA
311 {FT_cipher, "aria-256-ofb", enc_main, enc_options},
313 #ifndef OPENSSL_NO_ARIA
314 {FT_cipher, "aria-256-cfb1", enc_main, enc_options},
316 #ifndef OPENSSL_NO_ARIA
317 {FT_cipher, "aria-256-cfb8", enc_main, enc_options},
319 #ifndef OPENSSL_NO_CAMELLIA
320 {FT_cipher, "camellia-128-cbc", enc_main, enc_options},
322 #ifndef OPENSSL_NO_CAMELLIA
323 {FT_cipher, "camellia-128-ecb", enc_main, enc_options},
325 #ifndef OPENSSL_NO_CAMELLIA
326 {FT_cipher, "camellia-192-cbc", enc_main, enc_options},
328 #ifndef OPENSSL_NO_CAMELLIA
329 {FT_cipher, "camellia-192-ecb", enc_main, enc_options},
331 #ifndef OPENSSL_NO_CAMELLIA
332 {FT_cipher, "camellia-256-cbc", enc_main, enc_options},
334 #ifndef OPENSSL_NO_CAMELLIA
335 {FT_cipher, "camellia-256-ecb", enc_main, enc_options},
337 {FT_cipher, "base64", enc_main, enc_options},
339 {FT_cipher, "zlib", enc_main, enc_options},
341 #ifndef OPENSSL_NO_DES
342 {FT_cipher, "des", enc_main, enc_options},
344 #ifndef OPENSSL_NO_DES
345 {FT_cipher, "des3", enc_main, enc_options},
347 #ifndef OPENSSL_NO_DES
348 {FT_cipher, "desx", enc_main, enc_options},
350 #ifndef OPENSSL_NO_IDEA
351 {FT_cipher, "idea", enc_main, enc_options},
353 #ifndef OPENSSL_NO_SEED
354 {FT_cipher, "seed", enc_main, enc_options},
356 #ifndef OPENSSL_NO_RC4
357 {FT_cipher, "rc4", enc_main, enc_options},
359 #ifndef OPENSSL_NO_RC4
360 {FT_cipher, "rc4-40", enc_main, enc_options},
362 #ifndef OPENSSL_NO_RC2
363 {FT_cipher, "rc2", enc_main, enc_options},
365 #ifndef OPENSSL_NO_BF
366 {FT_cipher, "bf", enc_main, enc_options},
368 #ifndef OPENSSL_NO_CAST
369 {FT_cipher, "cast", enc_main, enc_options},
371 #ifndef OPENSSL_NO_RC5
372 {FT_cipher, "rc5", enc_main, enc_options},
374 #ifndef OPENSSL_NO_DES
375 {FT_cipher, "des-ecb", enc_main, enc_options},
377 #ifndef OPENSSL_NO_DES
378 {FT_cipher, "des-ede", enc_main, enc_options},
380 #ifndef OPENSSL_NO_DES
381 {FT_cipher, "des-ede3", enc_main, enc_options},
383 #ifndef OPENSSL_NO_DES
384 {FT_cipher, "des-cbc", enc_main, enc_options},
386 #ifndef OPENSSL_NO_DES
387 {FT_cipher, "des-ede-cbc", enc_main, enc_options},
389 #ifndef OPENSSL_NO_DES
390 {FT_cipher, "des-ede3-cbc", enc_main, enc_options},
392 #ifndef OPENSSL_NO_DES
393 {FT_cipher, "des-cfb", enc_main, enc_options},
395 #ifndef OPENSSL_NO_DES
396 {FT_cipher, "des-ede-cfb", enc_main, enc_options},
398 #ifndef OPENSSL_NO_DES
399 {FT_cipher, "des-ede3-cfb", enc_main, enc_options},
401 #ifndef OPENSSL_NO_DES
402 {FT_cipher, "des-ofb", enc_main, enc_options},
404 #ifndef OPENSSL_NO_DES
405 {FT_cipher, "des-ede-ofb", enc_main, enc_options},
407 #ifndef OPENSSL_NO_DES
408 {FT_cipher, "des-ede3-ofb", enc_main, enc_options},
410 #ifndef OPENSSL_NO_IDEA
411 {FT_cipher, "idea-cbc", enc_main, enc_options},
413 #ifndef OPENSSL_NO_IDEA
414 {FT_cipher, "idea-ecb", enc_main, enc_options},
416 #ifndef OPENSSL_NO_IDEA
417 {FT_cipher, "idea-cfb", enc_main, enc_options},
419 #ifndef OPENSSL_NO_IDEA
420 {FT_cipher, "idea-ofb", enc_main, enc_options},
422 #ifndef OPENSSL_NO_SEED
423 {FT_cipher, "seed-cbc", enc_main, enc_options},
425 #ifndef OPENSSL_NO_SEED
426 {FT_cipher, "seed-ecb", enc_main, enc_options},
428 #ifndef OPENSSL_NO_SEED
429 {FT_cipher, "seed-cfb", enc_main, enc_options},
431 #ifndef OPENSSL_NO_SEED
432 {FT_cipher, "seed-ofb", enc_main, enc_options},
434 #ifndef OPENSSL_NO_RC2
435 {FT_cipher, "rc2-cbc", enc_main, enc_options},
437 #ifndef OPENSSL_NO_RC2
438 {FT_cipher, "rc2-ecb", enc_main, enc_options},
440 #ifndef OPENSSL_NO_RC2
441 {FT_cipher, "rc2-cfb", enc_main, enc_options},
443 #ifndef OPENSSL_NO_RC2
444 {FT_cipher, "rc2-ofb", enc_main, enc_options},
446 #ifndef OPENSSL_NO_RC2
447 {FT_cipher, "rc2-64-cbc", enc_main, enc_options},
449 #ifndef OPENSSL_NO_RC2
450 {FT_cipher, "rc2-40-cbc", enc_main, enc_options},
452 #ifndef OPENSSL_NO_BF
453 {FT_cipher, "bf-cbc", enc_main, enc_options},
455 #ifndef OPENSSL_NO_BF
456 {FT_cipher, "bf-ecb", enc_main, enc_options},
458 #ifndef OPENSSL_NO_BF
459 {FT_cipher, "bf-cfb", enc_main, enc_options},
461 #ifndef OPENSSL_NO_BF
462 {FT_cipher, "bf-ofb", enc_main, enc_options},
464 #ifndef OPENSSL_NO_CAST
465 {FT_cipher, "cast5-cbc", enc_main, enc_options},
467 #ifndef OPENSSL_NO_CAST
468 {FT_cipher, "cast5-ecb", enc_main, enc_options},
470 #ifndef OPENSSL_NO_CAST
471 {FT_cipher, "cast5-cfb", enc_main, enc_options},
473 #ifndef OPENSSL_NO_CAST
474 {FT_cipher, "cast5-ofb", enc_main, enc_options},
476 #ifndef OPENSSL_NO_CAST
477 {FT_cipher, "cast-cbc", enc_main, enc_options},
479 #ifndef OPENSSL_NO_RC5
480 {FT_cipher, "rc5-cbc", enc_main, enc_options},
482 #ifndef OPENSSL_NO_RC5
483 {FT_cipher, "rc5-ecb", enc_main, enc_options},
485 #ifndef OPENSSL_NO_RC5
486 {FT_cipher, "rc5-cfb", enc_main, enc_options},
488 #ifndef OPENSSL_NO_RC5
489 {FT_cipher, "rc5-ofb", enc_main, enc_options},
491 #ifndef OPENSSL_NO_SM4
492 {FT_cipher, "sm4-cbc", enc_main, enc_options},
494 #ifndef OPENSSL_NO_SM4
495 {FT_cipher, "sm4-ecb", enc_main, enc_options},
497 #ifndef OPENSSL_NO_SM4
498 {FT_cipher, "sm4-cfb", enc_main, enc_options},
500 #ifndef OPENSSL_NO_SM4
501 {FT_cipher, "sm4-ofb", enc_main, enc_options},
503 #ifndef OPENSSL_NO_SM4
504 {FT_cipher, "sm4-ctr", enc_main, enc_options},