159191Skris/* apps/progs.h */
259191Skris/* automatically generated by progs.pl for openssl.c */
355714Skris
4280304Sjkimextern int verify_main(int argc, char *argv[]);
5280304Sjkimextern int asn1parse_main(int argc, char *argv[]);
6280304Sjkimextern int req_main(int argc, char *argv[]);
7280304Sjkimextern int dgst_main(int argc, char *argv[]);
8280304Sjkimextern int dh_main(int argc, char *argv[]);
9280304Sjkimextern int dhparam_main(int argc, char *argv[]);
10280304Sjkimextern int enc_main(int argc, char *argv[]);
11280304Sjkimextern int passwd_main(int argc, char *argv[]);
12280304Sjkimextern int gendh_main(int argc, char *argv[]);
13280304Sjkimextern int errstr_main(int argc, char *argv[]);
14280304Sjkimextern int ca_main(int argc, char *argv[]);
15280304Sjkimextern int crl_main(int argc, char *argv[]);
16280304Sjkimextern int rsa_main(int argc, char *argv[]);
17280304Sjkimextern int rsautl_main(int argc, char *argv[]);
18280304Sjkimextern int dsa_main(int argc, char *argv[]);
19280304Sjkimextern int dsaparam_main(int argc, char *argv[]);
20280304Sjkimextern int ec_main(int argc, char *argv[]);
21280304Sjkimextern int ecparam_main(int argc, char *argv[]);
22280304Sjkimextern int x509_main(int argc, char *argv[]);
23280304Sjkimextern int genrsa_main(int argc, char *argv[]);
24280304Sjkimextern int gendsa_main(int argc, char *argv[]);
25280304Sjkimextern int genpkey_main(int argc, char *argv[]);
26280304Sjkimextern int s_server_main(int argc, char *argv[]);
27280304Sjkimextern int s_client_main(int argc, char *argv[]);
28280304Sjkimextern int speed_main(int argc, char *argv[]);
29280304Sjkimextern int s_time_main(int argc, char *argv[]);
30280304Sjkimextern int version_main(int argc, char *argv[]);
31280304Sjkimextern int pkcs7_main(int argc, char *argv[]);
32280304Sjkimextern int cms_main(int argc, char *argv[]);
33280304Sjkimextern int crl2pkcs7_main(int argc, char *argv[]);
34280304Sjkimextern int sess_id_main(int argc, char *argv[]);
35280304Sjkimextern int ciphers_main(int argc, char *argv[]);
36280304Sjkimextern int nseq_main(int argc, char *argv[]);
37280304Sjkimextern int pkcs12_main(int argc, char *argv[]);
38280304Sjkimextern int pkcs8_main(int argc, char *argv[]);
39280304Sjkimextern int pkey_main(int argc, char *argv[]);
40280304Sjkimextern int pkeyparam_main(int argc, char *argv[]);
41280304Sjkimextern int pkeyutl_main(int argc, char *argv[]);
42280304Sjkimextern int spkac_main(int argc, char *argv[]);
43280304Sjkimextern int smime_main(int argc, char *argv[]);
44280304Sjkimextern int rand_main(int argc, char *argv[]);
45280304Sjkimextern int engine_main(int argc, char *argv[]);
46280304Sjkimextern int ocsp_main(int argc, char *argv[]);
47280304Sjkimextern int prime_main(int argc, char *argv[]);
48280304Sjkimextern int ts_main(int argc, char *argv[]);
49280304Sjkimextern int srp_main(int argc, char *argv[]);
5055714Skris
51280304Sjkim#define FUNC_TYPE_GENERAL       1
52280304Sjkim#define FUNC_TYPE_MD            2
53280304Sjkim#define FUNC_TYPE_CIPHER        3
54280304Sjkim#define FUNC_TYPE_PKEY          4
55280304Sjkim#define FUNC_TYPE_MD_ALG        5
56280304Sjkim#define FUNC_TYPE_CIPHER_ALG    6
5755714Skris
5855714Skristypedef struct {
59280304Sjkim    int type;
60280304Sjkim    const char *name;
61280304Sjkim    int (*func) (int argc, char *argv[]);
62280304Sjkim} FUNCTION;
63238405SjkimDECLARE_LHASH_OF(FUNCTION);
6455714Skris
6555714SkrisFUNCTION functions[] = {
66280304Sjkim    {FUNC_TYPE_GENERAL, "verify", verify_main},
67280304Sjkim    {FUNC_TYPE_GENERAL, "asn1parse", asn1parse_main},
68280304Sjkim    {FUNC_TYPE_GENERAL, "req", req_main},
69280304Sjkim    {FUNC_TYPE_GENERAL, "dgst", dgst_main},
70109998Smarkm#ifndef OPENSSL_NO_DH
71280304Sjkim    {FUNC_TYPE_GENERAL, "dh", dh_main},
7255714Skris#endif
73109998Smarkm#ifndef OPENSSL_NO_DH
74280304Sjkim    {FUNC_TYPE_GENERAL, "dhparam", dhparam_main},
7559191Skris#endif
76280304Sjkim    {FUNC_TYPE_GENERAL, "enc", enc_main},
77280304Sjkim    {FUNC_TYPE_GENERAL, "passwd", passwd_main},
78109998Smarkm#ifndef OPENSSL_NO_DH
79280304Sjkim    {FUNC_TYPE_GENERAL, "gendh", gendh_main},
8055714Skris#endif
81280304Sjkim    {FUNC_TYPE_GENERAL, "errstr", errstr_main},
82280304Sjkim    {FUNC_TYPE_GENERAL, "ca", ca_main},
83280304Sjkim    {FUNC_TYPE_GENERAL, "crl", crl_main},
84109998Smarkm#ifndef OPENSSL_NO_RSA
85280304Sjkim    {FUNC_TYPE_GENERAL, "rsa", rsa_main},
8655714Skris#endif
87109998Smarkm#ifndef OPENSSL_NO_RSA
88280304Sjkim    {FUNC_TYPE_GENERAL, "rsautl", rsautl_main},
8968651Skris#endif
90109998Smarkm#ifndef OPENSSL_NO_DSA
91280304Sjkim    {FUNC_TYPE_GENERAL, "dsa", dsa_main},
9255714Skris#endif
93109998Smarkm#ifndef OPENSSL_NO_DSA
94280304Sjkim    {FUNC_TYPE_GENERAL, "dsaparam", dsaparam_main},
9555714Skris#endif
96160814Ssimon#ifndef OPENSSL_NO_EC
97280304Sjkim    {FUNC_TYPE_GENERAL, "ec", ec_main},
98160814Ssimon#endif
99160814Ssimon#ifndef OPENSSL_NO_EC
100280304Sjkim    {FUNC_TYPE_GENERAL, "ecparam", ecparam_main},
101160814Ssimon#endif
102280304Sjkim    {FUNC_TYPE_GENERAL, "x509", x509_main},
103109998Smarkm#ifndef OPENSSL_NO_RSA
104280304Sjkim    {FUNC_TYPE_GENERAL, "genrsa", genrsa_main},
10555714Skris#endif
106109998Smarkm#ifndef OPENSSL_NO_DSA
107280304Sjkim    {FUNC_TYPE_GENERAL, "gendsa", gendsa_main},
10855714Skris#endif
109280304Sjkim    {FUNC_TYPE_GENERAL, "genpkey", genpkey_main},
110269686Sjkim#if !defined(OPENSSL_NO_SOCK)
111280304Sjkim    {FUNC_TYPE_GENERAL, "s_server", s_server_main},
11255714Skris#endif
113269686Sjkim#if !defined(OPENSSL_NO_SOCK)
114280304Sjkim    {FUNC_TYPE_GENERAL, "s_client", s_client_main},
11555714Skris#endif
116111147Snectar#ifndef OPENSSL_NO_SPEED
117280304Sjkim    {FUNC_TYPE_GENERAL, "speed", speed_main},
118111147Snectar#endif
119269686Sjkim#if !defined(OPENSSL_NO_SOCK)
120280304Sjkim    {FUNC_TYPE_GENERAL, "s_time", s_time_main},
12155714Skris#endif
122280304Sjkim    {FUNC_TYPE_GENERAL, "version", version_main},
123280304Sjkim    {FUNC_TYPE_GENERAL, "pkcs7", pkcs7_main},
124194206Ssimon#ifndef OPENSSL_NO_CMS
125280304Sjkim    {FUNC_TYPE_GENERAL, "cms", cms_main},
126194206Ssimon#endif
127280304Sjkim    {FUNC_TYPE_GENERAL, "crl2pkcs7", crl2pkcs7_main},
128280304Sjkim    {FUNC_TYPE_GENERAL, "sess_id", sess_id_main},
129269686Sjkim#if !defined(OPENSSL_NO_SOCK)
130280304Sjkim    {FUNC_TYPE_GENERAL, "ciphers", ciphers_main},
13155714Skris#endif
132280304Sjkim    {FUNC_TYPE_GENERAL, "nseq", nseq_main},
133109998Smarkm#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
134280304Sjkim    {FUNC_TYPE_GENERAL, "pkcs12", pkcs12_main},
13555714Skris#endif
136280304Sjkim    {FUNC_TYPE_GENERAL, "pkcs8", pkcs8_main},
137280304Sjkim    {FUNC_TYPE_GENERAL, "pkey", pkey_main},
138280304Sjkim    {FUNC_TYPE_GENERAL, "pkeyparam", pkeyparam_main},
139280304Sjkim    {FUNC_TYPE_GENERAL, "pkeyutl", pkeyutl_main},
140280304Sjkim    {FUNC_TYPE_GENERAL, "spkac", spkac_main},
141280304Sjkim    {FUNC_TYPE_GENERAL, "smime", smime_main},
142280304Sjkim    {FUNC_TYPE_GENERAL, "rand", rand_main},
143111147Snectar#ifndef OPENSSL_NO_ENGINE
144280304Sjkim    {FUNC_TYPE_GENERAL, "engine", engine_main},
145111147Snectar#endif
146238405Sjkim#ifndef OPENSSL_NO_OCSP
147280304Sjkim    {FUNC_TYPE_GENERAL, "ocsp", ocsp_main},
148238405Sjkim#endif
149280304Sjkim    {FUNC_TYPE_GENERAL, "prime", prime_main},
150280304Sjkim    {FUNC_TYPE_GENERAL, "ts", ts_main},
151238405Sjkim#ifndef OPENSSL_NO_SRP
152280304Sjkim    {FUNC_TYPE_GENERAL, "srp", srp_main},
153238405Sjkim#endif
154109998Smarkm#ifndef OPENSSL_NO_MD2
155280304Sjkim    {FUNC_TYPE_MD, "md2", dgst_main},
156109998Smarkm#endif
157109998Smarkm#ifndef OPENSSL_NO_MD4
158280304Sjkim    {FUNC_TYPE_MD, "md4", dgst_main},
159109998Smarkm#endif
160109998Smarkm#ifndef OPENSSL_NO_MD5
161280304Sjkim    {FUNC_TYPE_MD, "md5", dgst_main},
162109998Smarkm#endif
163109998Smarkm#ifndef OPENSSL_NO_SHA
164280304Sjkim    {FUNC_TYPE_MD, "sha", dgst_main},
165109998Smarkm#endif
166109998Smarkm#ifndef OPENSSL_NO_SHA1
167280304Sjkim    {FUNC_TYPE_MD, "sha1", dgst_main},
168109998Smarkm#endif
169109998Smarkm#ifndef OPENSSL_NO_MDC2
170280304Sjkim    {FUNC_TYPE_MD, "mdc2", dgst_main},
171109998Smarkm#endif
172109998Smarkm#ifndef OPENSSL_NO_RMD160
173280304Sjkim    {FUNC_TYPE_MD, "rmd160", dgst_main},
174109998Smarkm#endif
175109998Smarkm#ifndef OPENSSL_NO_AES
176280304Sjkim    {FUNC_TYPE_CIPHER, "aes-128-cbc", enc_main},
177109998Smarkm#endif
178109998Smarkm#ifndef OPENSSL_NO_AES
179280304Sjkim    {FUNC_TYPE_CIPHER, "aes-128-ecb", enc_main},
180109998Smarkm#endif
181109998Smarkm#ifndef OPENSSL_NO_AES
182280304Sjkim    {FUNC_TYPE_CIPHER, "aes-192-cbc", enc_main},
183109998Smarkm#endif
184109998Smarkm#ifndef OPENSSL_NO_AES
185280304Sjkim    {FUNC_TYPE_CIPHER, "aes-192-ecb", enc_main},
186109998Smarkm#endif
187109998Smarkm#ifndef OPENSSL_NO_AES
188280304Sjkim    {FUNC_TYPE_CIPHER, "aes-256-cbc", enc_main},
189109998Smarkm#endif
190109998Smarkm#ifndef OPENSSL_NO_AES
191280304Sjkim    {FUNC_TYPE_CIPHER, "aes-256-ecb", enc_main},
192109998Smarkm#endif
193162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
194280304Sjkim    {FUNC_TYPE_CIPHER, "camellia-128-cbc", enc_main},
195162911Ssimon#endif
196162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
197280304Sjkim    {FUNC_TYPE_CIPHER, "camellia-128-ecb", enc_main},
198162911Ssimon#endif
199162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
200280304Sjkim    {FUNC_TYPE_CIPHER, "camellia-192-cbc", enc_main},
201162911Ssimon#endif
202162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
203280304Sjkim    {FUNC_TYPE_CIPHER, "camellia-192-ecb", enc_main},
204162911Ssimon#endif
205162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
206280304Sjkim    {FUNC_TYPE_CIPHER, "camellia-256-cbc", enc_main},
207162911Ssimon#endif
208162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
209280304Sjkim    {FUNC_TYPE_CIPHER, "camellia-256-ecb", enc_main},
210162911Ssimon#endif
211280304Sjkim    {FUNC_TYPE_CIPHER, "base64", enc_main},
212238405Sjkim#ifdef ZLIB
213280304Sjkim    {FUNC_TYPE_CIPHER, "zlib", enc_main},
214238405Sjkim#endif
215109998Smarkm#ifndef OPENSSL_NO_DES
216280304Sjkim    {FUNC_TYPE_CIPHER, "des", enc_main},
21755714Skris#endif
218109998Smarkm#ifndef OPENSSL_NO_DES
219280304Sjkim    {FUNC_TYPE_CIPHER, "des3", enc_main},
22055714Skris#endif
221109998Smarkm#ifndef OPENSSL_NO_DES
222280304Sjkim    {FUNC_TYPE_CIPHER, "desx", enc_main},
22355714Skris#endif
224109998Smarkm#ifndef OPENSSL_NO_IDEA
225280304Sjkim    {FUNC_TYPE_CIPHER, "idea", enc_main},
22655714Skris#endif
227194206Ssimon#ifndef OPENSSL_NO_SEED
228280304Sjkim    {FUNC_TYPE_CIPHER, "seed", enc_main},
229194206Ssimon#endif
230109998Smarkm#ifndef OPENSSL_NO_RC4
231280304Sjkim    {FUNC_TYPE_CIPHER, "rc4", enc_main},
23255714Skris#endif
233109998Smarkm#ifndef OPENSSL_NO_RC4
234280304Sjkim    {FUNC_TYPE_CIPHER, "rc4-40", enc_main},
23559191Skris#endif
236109998Smarkm#ifndef OPENSSL_NO_RC2
237280304Sjkim    {FUNC_TYPE_CIPHER, "rc2", enc_main},
23855714Skris#endif
239109998Smarkm#ifndef OPENSSL_NO_BF
240280304Sjkim    {FUNC_TYPE_CIPHER, "bf", enc_main},
24155714Skris#endif
242109998Smarkm#ifndef OPENSSL_NO_CAST
243280304Sjkim    {FUNC_TYPE_CIPHER, "cast", enc_main},
24455714Skris#endif
245109998Smarkm#ifndef OPENSSL_NO_RC5
246280304Sjkim    {FUNC_TYPE_CIPHER, "rc5", enc_main},
24755714Skris#endif
248109998Smarkm#ifndef OPENSSL_NO_DES
249280304Sjkim    {FUNC_TYPE_CIPHER, "des-ecb", enc_main},
25055714Skris#endif
251109998Smarkm#ifndef OPENSSL_NO_DES
252280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede", enc_main},
25355714Skris#endif
254109998Smarkm#ifndef OPENSSL_NO_DES
255280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede3", enc_main},
25655714Skris#endif
257109998Smarkm#ifndef OPENSSL_NO_DES
258280304Sjkim    {FUNC_TYPE_CIPHER, "des-cbc", enc_main},
25955714Skris#endif
260109998Smarkm#ifndef OPENSSL_NO_DES
261280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede-cbc", enc_main},
26255714Skris#endif
263109998Smarkm#ifndef OPENSSL_NO_DES
264280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede3-cbc", enc_main},
26555714Skris#endif
266109998Smarkm#ifndef OPENSSL_NO_DES
267280304Sjkim    {FUNC_TYPE_CIPHER, "des-cfb", enc_main},
26855714Skris#endif
269109998Smarkm#ifndef OPENSSL_NO_DES
270280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede-cfb", enc_main},
27155714Skris#endif
272109998Smarkm#ifndef OPENSSL_NO_DES
273280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede3-cfb", enc_main},
27455714Skris#endif
275109998Smarkm#ifndef OPENSSL_NO_DES
276280304Sjkim    {FUNC_TYPE_CIPHER, "des-ofb", enc_main},
27755714Skris#endif
278109998Smarkm#ifndef OPENSSL_NO_DES
279280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede-ofb", enc_main},
28055714Skris#endif
281109998Smarkm#ifndef OPENSSL_NO_DES
282280304Sjkim    {FUNC_TYPE_CIPHER, "des-ede3-ofb", enc_main},
28355714Skris#endif
284109998Smarkm#ifndef OPENSSL_NO_IDEA
285280304Sjkim    {FUNC_TYPE_CIPHER, "idea-cbc", enc_main},
28655714Skris#endif
287109998Smarkm#ifndef OPENSSL_NO_IDEA
288280304Sjkim    {FUNC_TYPE_CIPHER, "idea-ecb", enc_main},
28955714Skris#endif
290109998Smarkm#ifndef OPENSSL_NO_IDEA
291280304Sjkim    {FUNC_TYPE_CIPHER, "idea-cfb", enc_main},
29255714Skris#endif
293109998Smarkm#ifndef OPENSSL_NO_IDEA
294280304Sjkim    {FUNC_TYPE_CIPHER, "idea-ofb", enc_main},
29555714Skris#endif
296194206Ssimon#ifndef OPENSSL_NO_SEED
297280304Sjkim    {FUNC_TYPE_CIPHER, "seed-cbc", enc_main},
298194206Ssimon#endif
299194206Ssimon#ifndef OPENSSL_NO_SEED
300280304Sjkim    {FUNC_TYPE_CIPHER, "seed-ecb", enc_main},
301194206Ssimon#endif
302194206Ssimon#ifndef OPENSSL_NO_SEED
303280304Sjkim    {FUNC_TYPE_CIPHER, "seed-cfb", enc_main},
304194206Ssimon#endif
305194206Ssimon#ifndef OPENSSL_NO_SEED
306280304Sjkim    {FUNC_TYPE_CIPHER, "seed-ofb", enc_main},
307194206Ssimon#endif
308109998Smarkm#ifndef OPENSSL_NO_RC2
309280304Sjkim    {FUNC_TYPE_CIPHER, "rc2-cbc", enc_main},
31055714Skris#endif
311109998Smarkm#ifndef OPENSSL_NO_RC2
312280304Sjkim    {FUNC_TYPE_CIPHER, "rc2-ecb", enc_main},
31355714Skris#endif
314109998Smarkm#ifndef OPENSSL_NO_RC2
315280304Sjkim    {FUNC_TYPE_CIPHER, "rc2-cfb", enc_main},
31655714Skris#endif
317109998Smarkm#ifndef OPENSSL_NO_RC2
318280304Sjkim    {FUNC_TYPE_CIPHER, "rc2-ofb", enc_main},
31955714Skris#endif
320109998Smarkm#ifndef OPENSSL_NO_RC2
321280304Sjkim    {FUNC_TYPE_CIPHER, "rc2-64-cbc", enc_main},
32259191Skris#endif
323109998Smarkm#ifndef OPENSSL_NO_RC2
324280304Sjkim    {FUNC_TYPE_CIPHER, "rc2-40-cbc", enc_main},
32559191Skris#endif
326109998Smarkm#ifndef OPENSSL_NO_BF
327280304Sjkim    {FUNC_TYPE_CIPHER, "bf-cbc", enc_main},
32855714Skris#endif
329109998Smarkm#ifndef OPENSSL_NO_BF
330280304Sjkim    {FUNC_TYPE_CIPHER, "bf-ecb", enc_main},
33155714Skris#endif
332109998Smarkm#ifndef OPENSSL_NO_BF
333280304Sjkim    {FUNC_TYPE_CIPHER, "bf-cfb", enc_main},
33455714Skris#endif
335109998Smarkm#ifndef OPENSSL_NO_BF
336280304Sjkim    {FUNC_TYPE_CIPHER, "bf-ofb", enc_main},
33755714Skris#endif
338109998Smarkm#ifndef OPENSSL_NO_CAST
339280304Sjkim    {FUNC_TYPE_CIPHER, "cast5-cbc", enc_main},
34055714Skris#endif
341109998Smarkm#ifndef OPENSSL_NO_CAST
342280304Sjkim    {FUNC_TYPE_CIPHER, "cast5-ecb", enc_main},
34355714Skris#endif
344109998Smarkm#ifndef OPENSSL_NO_CAST
345280304Sjkim    {FUNC_TYPE_CIPHER, "cast5-cfb", enc_main},
34655714Skris#endif
347109998Smarkm#ifndef OPENSSL_NO_CAST
348280304Sjkim    {FUNC_TYPE_CIPHER, "cast5-ofb", enc_main},
34955714Skris#endif
350109998Smarkm#ifndef OPENSSL_NO_CAST
351280304Sjkim    {FUNC_TYPE_CIPHER, "cast-cbc", enc_main},
35255714Skris#endif
353109998Smarkm#ifndef OPENSSL_NO_RC5
354280304Sjkim    {FUNC_TYPE_CIPHER, "rc5-cbc", enc_main},
35555714Skris#endif
356109998Smarkm#ifndef OPENSSL_NO_RC5
357280304Sjkim    {FUNC_TYPE_CIPHER, "rc5-ecb", enc_main},
35855714Skris#endif
359109998Smarkm#ifndef OPENSSL_NO_RC5
360280304Sjkim    {FUNC_TYPE_CIPHER, "rc5-cfb", enc_main},
36155714Skris#endif
362109998Smarkm#ifndef OPENSSL_NO_RC5
363280304Sjkim    {FUNC_TYPE_CIPHER, "rc5-ofb", enc_main},
36455714Skris#endif
365280304Sjkim    {0, NULL, NULL}
366280304Sjkim};
367