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