2 * Automatically generated by progs.pl for openssl.c
3 * Copyright (c) 2008 The OpenSSL Project. All rights reserved.
4 * See the openssl.c for copyright details.
7 typedef enum FUNC_TYPE {
8 FT_none, FT_general, FT_md, FT_cipher, FT_pkey,
9 FT_md_alg, FT_cipher_alg
12 typedef struct function_st {
15 int (*func)(int argc,char *argv[]);
19 DEFINE_LHASH_OF(FUNCTION);
21 extern int asn1parse_main(int argc, char *argv[]);
22 extern int ca_main(int argc, char *argv[]);
23 extern int ciphers_main(int argc, char *argv[]);
24 extern int cms_main(int argc, char *argv[]);
25 extern int crl_main(int argc, char *argv[]);
26 extern int crl2pkcs7_main(int argc, char *argv[]);
27 extern int dgst_main(int argc, char *argv[]);
28 extern int dhparam_main(int argc, char *argv[]);
29 extern int dsa_main(int argc, char *argv[]);
30 extern int dsaparam_main(int argc, char *argv[]);
31 extern int ec_main(int argc, char *argv[]);
32 extern int ecparam_main(int argc, char *argv[]);
33 extern int enc_main(int argc, char *argv[]);
34 extern int engine_main(int argc, char *argv[]);
35 extern int errstr_main(int argc, char *argv[]);
36 extern int gendsa_main(int argc, char *argv[]);
37 extern int genpkey_main(int argc, char *argv[]);
38 extern int genrsa_main(int argc, char *argv[]);
39 extern int nseq_main(int argc, char *argv[]);
40 extern int ocsp_main(int argc, char *argv[]);
41 extern int passwd_main(int argc, char *argv[]);
42 extern int pkcs12_main(int argc, char *argv[]);
43 extern int pkcs7_main(int argc, char *argv[]);
44 extern int pkcs8_main(int argc, char *argv[]);
45 extern int pkey_main(int argc, char *argv[]);
46 extern int pkeyparam_main(int argc, char *argv[]);
47 extern int pkeyutl_main(int argc, char *argv[]);
48 extern int prime_main(int argc, char *argv[]);
49 extern int rand_main(int argc, char *argv[]);
50 extern int req_main(int argc, char *argv[]);
51 extern int rsa_main(int argc, char *argv[]);
52 extern int rsautl_main(int argc, char *argv[]);
53 extern int s_client_main(int argc, char *argv[]);
54 extern int s_server_main(int argc, char *argv[]);
55 extern int s_time_main(int argc, char *argv[]);
56 extern int sess_id_main(int argc, char *argv[]);
57 extern int smime_main(int argc, char *argv[]);
58 extern int speed_main(int argc, char *argv[]);
59 extern int spkac_main(int argc, char *argv[]);
60 extern int srp_main(int argc, char *argv[]);
61 extern int ts_main(int argc, char *argv[]);
62 extern int verify_main(int argc, char *argv[]);
63 extern int version_main(int argc, char *argv[]);
64 extern int x509_main(int argc, char *argv[]);
65 extern int rehash_main(int argc, char *argv[]);
66 extern int list_main(int argc, char *argv[]);
67 extern int help_main(int argc, char *argv[]);
68 extern int exit_main(int argc, char *argv[]);
70 extern OPTIONS asn1parse_options[];
71 extern OPTIONS ca_options[];
72 extern OPTIONS ciphers_options[];
73 extern OPTIONS cms_options[];
74 extern OPTIONS crl_options[];
75 extern OPTIONS crl2pkcs7_options[];
76 extern OPTIONS dgst_options[];
77 extern OPTIONS dhparam_options[];
78 extern OPTIONS dsa_options[];
79 extern OPTIONS dsaparam_options[];
80 extern OPTIONS ec_options[];
81 extern OPTIONS ecparam_options[];
82 extern OPTIONS enc_options[];
83 extern OPTIONS engine_options[];
84 extern OPTIONS errstr_options[];
85 extern OPTIONS gendsa_options[];
86 extern OPTIONS genpkey_options[];
87 extern OPTIONS genrsa_options[];
88 extern OPTIONS nseq_options[];
89 extern OPTIONS ocsp_options[];
90 extern OPTIONS passwd_options[];
91 extern OPTIONS pkcs12_options[];
92 extern OPTIONS pkcs7_options[];
93 extern OPTIONS pkcs8_options[];
94 extern OPTIONS pkey_options[];
95 extern OPTIONS pkeyparam_options[];
96 extern OPTIONS pkeyutl_options[];
97 extern OPTIONS prime_options[];
98 extern OPTIONS rand_options[];
99 extern OPTIONS req_options[];
100 extern OPTIONS rsa_options[];
101 extern OPTIONS rsautl_options[];
102 extern OPTIONS s_client_options[];
103 extern OPTIONS s_server_options[];
104 extern OPTIONS s_time_options[];
105 extern OPTIONS sess_id_options[];
106 extern OPTIONS smime_options[];
107 extern OPTIONS speed_options[];
108 extern OPTIONS spkac_options[];
109 extern OPTIONS srp_options[];
110 extern OPTIONS ts_options[];
111 extern OPTIONS verify_options[];
112 extern OPTIONS version_options[];
113 extern OPTIONS x509_options[];
114 extern OPTIONS rehash_options[];
115 extern OPTIONS list_options[];
116 extern OPTIONS help_options[];
117 extern OPTIONS exit_options[];
119 #ifdef INCLUDE_FUNCTION_TABLE
120 static FUNCTION functions[] = {
121 { FT_general, "asn1parse", asn1parse_main, asn1parse_options },
122 { FT_general, "ca", ca_main, ca_options },
123 #if !defined(OPENSSL_NO_SOCK)
124 { FT_general, "ciphers", ciphers_main, ciphers_options },
126 #ifndef OPENSSL_NO_CMS
127 { FT_general, "cms", cms_main, cms_options },
129 { FT_general, "crl", crl_main, crl_options },
130 { FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options },
131 { FT_general, "dgst", dgst_main, dgst_options },
132 #ifndef OPENSSL_NO_DH
133 { FT_general, "dhparam", dhparam_main, dhparam_options },
135 #ifndef OPENSSL_NO_DSA
136 { FT_general, "dsa", dsa_main, dsa_options },
138 #ifndef OPENSSL_NO_DSA
139 { FT_general, "dsaparam", dsaparam_main, dsaparam_options },
141 #ifndef OPENSSL_NO_EC
142 { FT_general, "ec", ec_main, ec_options },
144 #ifndef OPENSSL_NO_EC
145 { FT_general, "ecparam", ecparam_main, ecparam_options },
147 { FT_general, "enc", enc_main, enc_options },
148 #ifndef OPENSSL_NO_ENGINE
149 { FT_general, "engine", engine_main, engine_options },
151 { FT_general, "errstr", errstr_main, errstr_options },
152 #ifndef OPENSSL_NO_DSA
153 { FT_general, "gendsa", gendsa_main, gendsa_options },
155 { FT_general, "genpkey", genpkey_main, genpkey_options },
156 #ifndef OPENSSL_NO_RSA
157 { FT_general, "genrsa", genrsa_main, genrsa_options },
159 { FT_general, "nseq", nseq_main, nseq_options },
160 #ifndef OPENSSL_NO_OCSP
161 { FT_general, "ocsp", ocsp_main, ocsp_options },
163 { FT_general, "passwd", passwd_main, passwd_options },
164 #if !defined(OPENSSL_NO_DES)
165 { FT_general, "pkcs12", pkcs12_main, pkcs12_options },
167 { FT_general, "pkcs7", pkcs7_main, pkcs7_options },
168 { FT_general, "pkcs8", pkcs8_main, pkcs8_options },
169 { FT_general, "pkey", pkey_main, pkey_options },
170 { FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options },
171 { FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options },
172 { FT_general, "prime", prime_main, prime_options },
173 { FT_general, "rand", rand_main, rand_options },
174 { FT_general, "req", req_main, req_options },
175 #ifndef OPENSSL_NO_RSA
176 { FT_general, "rsa", rsa_main, rsa_options },
178 #ifndef OPENSSL_NO_RSA
179 { FT_general, "rsautl", rsautl_main, rsautl_options },
181 #if !defined(OPENSSL_NO_SOCK)
182 { FT_general, "s_client", s_client_main, s_client_options },
184 #if !defined(OPENSSL_NO_SOCK)
185 { FT_general, "s_server", s_server_main, s_server_options },
187 #if !defined(OPENSSL_NO_SOCK)
188 { FT_general, "s_time", s_time_main, s_time_options },
190 { FT_general, "sess_id", sess_id_main, sess_id_options },
191 { FT_general, "smime", smime_main, smime_options },
192 { FT_general, "speed", speed_main, speed_options },
193 { FT_general, "spkac", spkac_main, spkac_options },
194 #ifndef OPENSSL_NO_SRP
195 { FT_general, "srp", srp_main, srp_options },
197 { FT_general, "ts", ts_main, ts_options },
198 { FT_general, "verify", verify_main, verify_options },
199 { FT_general, "version", version_main, version_options },
200 { FT_general, "x509", x509_main, x509_options },
201 { FT_general, "rehash", rehash_main, rehash_options },
202 { FT_general, "list", list_main, list_options },
203 { FT_general, "help", help_main, help_options },
204 { FT_general, "exit", exit_main, exit_options },
205 #ifndef OPENSSL_NO_MD2
206 { FT_md, "md2", dgst_main},
208 #ifndef OPENSSL_NO_MD4
209 { FT_md, "md4", dgst_main},
211 #ifndef OPENSSL_NO_MD5
212 { FT_md, "md5", dgst_main},
214 #ifndef OPENSSL_NO_MD_GHOST94
215 { FT_md, "md_ghost94", dgst_main},
217 { FT_md, "sha1", dgst_main},
218 { FT_md, "sha224", dgst_main},
219 { FT_md, "sha256", dgst_main},
220 { FT_md, "sha384", dgst_main},
221 { FT_md, "sha512", dgst_main},
222 #ifndef OPENSSL_NO_MDC2
223 { FT_md, "mdc2", dgst_main},
225 #ifndef OPENSSL_NO_RMD160
226 { FT_md, "rmd160", dgst_main},
228 #ifndef OPENSSL_NO_AES
229 { FT_cipher, "aes-128-cbc", enc_main, enc_options },
231 #ifndef OPENSSL_NO_AES
232 { FT_cipher, "aes-128-ecb", enc_main, enc_options },
234 #ifndef OPENSSL_NO_AES
235 { FT_cipher, "aes-192-cbc", enc_main, enc_options },
237 #ifndef OPENSSL_NO_AES
238 { FT_cipher, "aes-192-ecb", enc_main, enc_options },
240 #ifndef OPENSSL_NO_AES
241 { FT_cipher, "aes-256-cbc", enc_main, enc_options },
243 #ifndef OPENSSL_NO_AES
244 { FT_cipher, "aes-256-ecb", enc_main, enc_options },
246 #ifndef OPENSSL_NO_CAMELLIA
247 { FT_cipher, "camellia-128-cbc", enc_main, enc_options },
249 #ifndef OPENSSL_NO_CAMELLIA
250 { FT_cipher, "camellia-128-ecb", enc_main, enc_options },
252 #ifndef OPENSSL_NO_CAMELLIA
253 { FT_cipher, "camellia-192-cbc", enc_main, enc_options },
255 #ifndef OPENSSL_NO_CAMELLIA
256 { FT_cipher, "camellia-192-ecb", enc_main, enc_options },
258 #ifndef OPENSSL_NO_CAMELLIA
259 { FT_cipher, "camellia-256-cbc", enc_main, enc_options },
261 #ifndef OPENSSL_NO_CAMELLIA
262 { FT_cipher, "camellia-256-ecb", enc_main, enc_options },
264 { FT_cipher, "base64", enc_main, enc_options },
266 { FT_cipher, "zlib", enc_main, enc_options },
268 #ifndef OPENSSL_NO_DES
269 { FT_cipher, "des", enc_main, enc_options },
271 #ifndef OPENSSL_NO_DES
272 { FT_cipher, "des3", enc_main, enc_options },
274 #ifndef OPENSSL_NO_DES
275 { FT_cipher, "desx", enc_main, enc_options },
277 #ifndef OPENSSL_NO_IDEA
278 { FT_cipher, "idea", enc_main, enc_options },
280 #ifndef OPENSSL_NO_SEED
281 { FT_cipher, "seed", enc_main, enc_options },
283 #ifndef OPENSSL_NO_RC4
284 { FT_cipher, "rc4", enc_main, enc_options },
286 #ifndef OPENSSL_NO_RC4
287 { FT_cipher, "rc4-40", enc_main, enc_options },
289 #ifndef OPENSSL_NO_RC2
290 { FT_cipher, "rc2", enc_main, enc_options },
292 #ifndef OPENSSL_NO_BF
293 { FT_cipher, "bf", enc_main, enc_options },
295 #ifndef OPENSSL_NO_CAST
296 { FT_cipher, "cast", enc_main, enc_options },
298 #ifndef OPENSSL_NO_RC5
299 { FT_cipher, "rc5", enc_main, enc_options },
301 #ifndef OPENSSL_NO_DES
302 { FT_cipher, "des-ecb", enc_main, enc_options },
304 #ifndef OPENSSL_NO_DES
305 { FT_cipher, "des-ede", enc_main, enc_options },
307 #ifndef OPENSSL_NO_DES
308 { FT_cipher, "des-ede3", enc_main, enc_options },
310 #ifndef OPENSSL_NO_DES
311 { FT_cipher, "des-cbc", enc_main, enc_options },
313 #ifndef OPENSSL_NO_DES
314 { FT_cipher, "des-ede-cbc", enc_main, enc_options },
316 #ifndef OPENSSL_NO_DES
317 { FT_cipher, "des-ede3-cbc", enc_main, enc_options },
319 #ifndef OPENSSL_NO_DES
320 { FT_cipher, "des-cfb", enc_main, enc_options },
322 #ifndef OPENSSL_NO_DES
323 { FT_cipher, "des-ede-cfb", enc_main, enc_options },
325 #ifndef OPENSSL_NO_DES
326 { FT_cipher, "des-ede3-cfb", enc_main, enc_options },
328 #ifndef OPENSSL_NO_DES
329 { FT_cipher, "des-ofb", enc_main, enc_options },
331 #ifndef OPENSSL_NO_DES
332 { FT_cipher, "des-ede-ofb", enc_main, enc_options },
334 #ifndef OPENSSL_NO_DES
335 { FT_cipher, "des-ede3-ofb", enc_main, enc_options },
337 #ifndef OPENSSL_NO_IDEA
338 { FT_cipher, "idea-cbc", enc_main, enc_options },
340 #ifndef OPENSSL_NO_IDEA
341 { FT_cipher, "idea-ecb", enc_main, enc_options },
343 #ifndef OPENSSL_NO_IDEA
344 { FT_cipher, "idea-cfb", enc_main, enc_options },
346 #ifndef OPENSSL_NO_IDEA
347 { FT_cipher, "idea-ofb", enc_main, enc_options },
349 #ifndef OPENSSL_NO_SEED
350 { FT_cipher, "seed-cbc", enc_main, enc_options },
352 #ifndef OPENSSL_NO_SEED
353 { FT_cipher, "seed-ecb", enc_main, enc_options },
355 #ifndef OPENSSL_NO_SEED
356 { FT_cipher, "seed-cfb", enc_main, enc_options },
358 #ifndef OPENSSL_NO_SEED
359 { FT_cipher, "seed-ofb", enc_main, enc_options },
361 #ifndef OPENSSL_NO_RC2
362 { FT_cipher, "rc2-cbc", enc_main, enc_options },
364 #ifndef OPENSSL_NO_RC2
365 { FT_cipher, "rc2-ecb", enc_main, enc_options },
367 #ifndef OPENSSL_NO_RC2
368 { FT_cipher, "rc2-cfb", enc_main, enc_options },
370 #ifndef OPENSSL_NO_RC2
371 { FT_cipher, "rc2-ofb", enc_main, enc_options },
373 #ifndef OPENSSL_NO_RC2
374 { FT_cipher, "rc2-64-cbc", enc_main, enc_options },
376 #ifndef OPENSSL_NO_RC2
377 { FT_cipher, "rc2-40-cbc", enc_main, enc_options },
379 #ifndef OPENSSL_NO_BF
380 { FT_cipher, "bf-cbc", enc_main, enc_options },
382 #ifndef OPENSSL_NO_BF
383 { FT_cipher, "bf-ecb", enc_main, enc_options },
385 #ifndef OPENSSL_NO_BF
386 { FT_cipher, "bf-cfb", enc_main, enc_options },
388 #ifndef OPENSSL_NO_BF
389 { FT_cipher, "bf-ofb", enc_main, enc_options },
391 #ifndef OPENSSL_NO_CAST
392 { FT_cipher, "cast5-cbc", enc_main, enc_options },
394 #ifndef OPENSSL_NO_CAST
395 { FT_cipher, "cast5-ecb", enc_main, enc_options },
397 #ifndef OPENSSL_NO_CAST
398 { FT_cipher, "cast5-cfb", enc_main, enc_options },
400 #ifndef OPENSSL_NO_CAST
401 { FT_cipher, "cast5-ofb", enc_main, enc_options },
403 #ifndef OPENSSL_NO_CAST
404 { FT_cipher, "cast-cbc", enc_main, enc_options },
406 #ifndef OPENSSL_NO_RC5
407 { FT_cipher, "rc5-cbc", enc_main, enc_options },
409 #ifndef OPENSSL_NO_RC5
410 { FT_cipher, "rc5-ecb", enc_main, enc_options },
412 #ifndef OPENSSL_NO_RC5
413 { FT_cipher, "rc5-cfb", enc_main, enc_options },
415 #ifndef OPENSSL_NO_RC5
416 { FT_cipher, "rc5-ofb", enc_main, enc_options },