2 * WARNING: do not edit!
3 * Generated by apps/progs.pl
5 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
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
13 typedef enum FUNC_TYPE {
14 FT_none, FT_general, FT_md, FT_cipher, FT_pkey,
15 FT_md_alg, FT_cipher_alg
18 typedef struct function_st {
21 int (*func)(int argc, char *argv[]);
25 DEFINE_LHASH_OF(FUNCTION);
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[]);
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[];
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 },
132 #ifndef OPENSSL_NO_CMS
133 { FT_general, "cms", cms_main, cms_options },
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 },
141 #ifndef OPENSSL_NO_DSA
142 { FT_general, "dsa", dsa_main, dsa_options },
144 #ifndef OPENSSL_NO_DSA
145 { FT_general, "dsaparam", dsaparam_main, dsaparam_options },
147 #ifndef OPENSSL_NO_EC
148 { FT_general, "ec", ec_main, ec_options },
150 #ifndef OPENSSL_NO_EC
151 { FT_general, "ecparam", ecparam_main, ecparam_options },
153 { FT_general, "enc", enc_main, enc_options },
154 #ifndef OPENSSL_NO_ENGINE
155 { FT_general, "engine", engine_main, engine_options },
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 },
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 #ifndef OPENSSL_NO_TS
206 { FT_general, "ts", ts_main, ts_options },
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},
214 #ifndef OPENSSL_NO_MD4
215 { FT_md, "md4", dgst_main},
217 { FT_md, "md5", dgst_main},
218 #ifndef OPENSSL_NO_GOST
219 { FT_md, "gost", dgst_main},
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},
229 #ifndef OPENSSL_NO_RMD160
230 { FT_md, "rmd160", dgst_main},
232 #ifndef OPENSSL_NO_BLAKE2
233 { FT_md, "blake2b512", dgst_main},
235 #ifndef OPENSSL_NO_BLAKE2
236 { FT_md, "blake2s256", dgst_main},
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 },
247 #ifndef OPENSSL_NO_CAMELLIA
248 { FT_cipher, "camellia-128-ecb", enc_main, enc_options },
250 #ifndef OPENSSL_NO_CAMELLIA
251 { FT_cipher, "camellia-192-cbc", enc_main, enc_options },
253 #ifndef OPENSSL_NO_CAMELLIA
254 { FT_cipher, "camellia-192-ecb", enc_main, enc_options },
256 #ifndef OPENSSL_NO_CAMELLIA
257 { FT_cipher, "camellia-256-cbc", enc_main, enc_options },
259 #ifndef OPENSSL_NO_CAMELLIA
260 { FT_cipher, "camellia-256-ecb", enc_main, enc_options },
262 { FT_cipher, "base64", enc_main, enc_options },
264 { FT_cipher, "zlib", enc_main, enc_options },
266 #ifndef OPENSSL_NO_DES
267 { FT_cipher, "des", enc_main, enc_options },
269 #ifndef OPENSSL_NO_DES
270 { FT_cipher, "des3", enc_main, enc_options },
272 #ifndef OPENSSL_NO_DES
273 { FT_cipher, "desx", enc_main, enc_options },
275 #ifndef OPENSSL_NO_IDEA
276 { FT_cipher, "idea", enc_main, enc_options },
278 #ifndef OPENSSL_NO_SEED
279 { FT_cipher, "seed", enc_main, enc_options },
281 #ifndef OPENSSL_NO_RC4
282 { FT_cipher, "rc4", enc_main, enc_options },
284 #ifndef OPENSSL_NO_RC4
285 { FT_cipher, "rc4-40", enc_main, enc_options },
287 #ifndef OPENSSL_NO_RC2
288 { FT_cipher, "rc2", enc_main, enc_options },
290 #ifndef OPENSSL_NO_BF
291 { FT_cipher, "bf", enc_main, enc_options },
293 #ifndef OPENSSL_NO_CAST
294 { FT_cipher, "cast", enc_main, enc_options },
296 #ifndef OPENSSL_NO_RC5
297 { FT_cipher, "rc5", enc_main, enc_options },
299 #ifndef OPENSSL_NO_DES
300 { FT_cipher, "des-ecb", enc_main, enc_options },
302 #ifndef OPENSSL_NO_DES
303 { FT_cipher, "des-ede", enc_main, enc_options },
305 #ifndef OPENSSL_NO_DES
306 { FT_cipher, "des-ede3", enc_main, enc_options },
308 #ifndef OPENSSL_NO_DES
309 { FT_cipher, "des-cbc", enc_main, enc_options },
311 #ifndef OPENSSL_NO_DES
312 { FT_cipher, "des-ede-cbc", enc_main, enc_options },
314 #ifndef OPENSSL_NO_DES
315 { FT_cipher, "des-ede3-cbc", enc_main, enc_options },
317 #ifndef OPENSSL_NO_DES
318 { FT_cipher, "des-cfb", enc_main, enc_options },
320 #ifndef OPENSSL_NO_DES
321 { FT_cipher, "des-ede-cfb", enc_main, enc_options },
323 #ifndef OPENSSL_NO_DES
324 { FT_cipher, "des-ede3-cfb", enc_main, enc_options },
326 #ifndef OPENSSL_NO_DES
327 { FT_cipher, "des-ofb", enc_main, enc_options },
329 #ifndef OPENSSL_NO_DES
330 { FT_cipher, "des-ede-ofb", enc_main, enc_options },
332 #ifndef OPENSSL_NO_DES
333 { FT_cipher, "des-ede3-ofb", enc_main, enc_options },
335 #ifndef OPENSSL_NO_IDEA
336 { FT_cipher, "idea-cbc", enc_main, enc_options },
338 #ifndef OPENSSL_NO_IDEA
339 { FT_cipher, "idea-ecb", enc_main, enc_options },
341 #ifndef OPENSSL_NO_IDEA
342 { FT_cipher, "idea-cfb", enc_main, enc_options },
344 #ifndef OPENSSL_NO_IDEA
345 { FT_cipher, "idea-ofb", enc_main, enc_options },
347 #ifndef OPENSSL_NO_SEED
348 { FT_cipher, "seed-cbc", enc_main, enc_options },
350 #ifndef OPENSSL_NO_SEED
351 { FT_cipher, "seed-ecb", enc_main, enc_options },
353 #ifndef OPENSSL_NO_SEED
354 { FT_cipher, "seed-cfb", enc_main, enc_options },
356 #ifndef OPENSSL_NO_SEED
357 { FT_cipher, "seed-ofb", enc_main, enc_options },
359 #ifndef OPENSSL_NO_RC2
360 { FT_cipher, "rc2-cbc", enc_main, enc_options },
362 #ifndef OPENSSL_NO_RC2
363 { FT_cipher, "rc2-ecb", enc_main, enc_options },
365 #ifndef OPENSSL_NO_RC2
366 { FT_cipher, "rc2-cfb", enc_main, enc_options },
368 #ifndef OPENSSL_NO_RC2
369 { FT_cipher, "rc2-ofb", enc_main, enc_options },
371 #ifndef OPENSSL_NO_RC2
372 { FT_cipher, "rc2-64-cbc", enc_main, enc_options },
374 #ifndef OPENSSL_NO_RC2
375 { FT_cipher, "rc2-40-cbc", enc_main, enc_options },
377 #ifndef OPENSSL_NO_BF
378 { FT_cipher, "bf-cbc", enc_main, enc_options },
380 #ifndef OPENSSL_NO_BF
381 { FT_cipher, "bf-ecb", enc_main, enc_options },
383 #ifndef OPENSSL_NO_BF
384 { FT_cipher, "bf-cfb", enc_main, enc_options },
386 #ifndef OPENSSL_NO_BF
387 { FT_cipher, "bf-ofb", enc_main, enc_options },
389 #ifndef OPENSSL_NO_CAST
390 { FT_cipher, "cast5-cbc", enc_main, enc_options },
392 #ifndef OPENSSL_NO_CAST
393 { FT_cipher, "cast5-ecb", enc_main, enc_options },
395 #ifndef OPENSSL_NO_CAST
396 { FT_cipher, "cast5-cfb", enc_main, enc_options },
398 #ifndef OPENSSL_NO_CAST
399 { FT_cipher, "cast5-ofb", enc_main, enc_options },
401 #ifndef OPENSSL_NO_CAST
402 { FT_cipher, "cast-cbc", enc_main, enc_options },
404 #ifndef OPENSSL_NO_RC5
405 { FT_cipher, "rc5-cbc", enc_main, enc_options },
407 #ifndef OPENSSL_NO_RC5
408 { FT_cipher, "rc5-ecb", enc_main, enc_options },
410 #ifndef OPENSSL_NO_RC5
411 { FT_cipher, "rc5-cfb", enc_main, enc_options },
413 #ifndef OPENSSL_NO_RC5
414 { FT_cipher, "rc5-ofb", enc_main, enc_options },