159191Skris/* apps/progs.h */
259191Skris/* automatically generated by progs.pl for openssl.c */
355714Skris
455714Skrisextern int verify_main(int argc,char *argv[]);
555714Skrisextern int asn1parse_main(int argc,char *argv[]);
655714Skrisextern int req_main(int argc,char *argv[]);
755714Skrisextern int dgst_main(int argc,char *argv[]);
855714Skrisextern int dh_main(int argc,char *argv[]);
959191Skrisextern int dhparam_main(int argc,char *argv[]);
1055714Skrisextern int enc_main(int argc,char *argv[]);
1159191Skrisextern int passwd_main(int argc,char *argv[]);
1255714Skrisextern int gendh_main(int argc,char *argv[]);
1355714Skrisextern int errstr_main(int argc,char *argv[]);
1455714Skrisextern int ca_main(int argc,char *argv[]);
1555714Skrisextern int crl_main(int argc,char *argv[]);
1655714Skrisextern int rsa_main(int argc,char *argv[]);
1768651Skrisextern int rsautl_main(int argc,char *argv[]);
1855714Skrisextern int dsa_main(int argc,char *argv[]);
1955714Skrisextern int dsaparam_main(int argc,char *argv[]);
20160814Ssimonextern int ec_main(int argc,char *argv[]);
21160814Ssimonextern int ecparam_main(int argc,char *argv[]);
2255714Skrisextern int x509_main(int argc,char *argv[]);
2355714Skrisextern int genrsa_main(int argc,char *argv[]);
2455714Skrisextern int gendsa_main(int argc,char *argv[]);
25238405Sjkimextern int genpkey_main(int argc,char *argv[]);
2655714Skrisextern int s_server_main(int argc,char *argv[]);
2755714Skrisextern int s_client_main(int argc,char *argv[]);
2855714Skrisextern int speed_main(int argc,char *argv[]);
2955714Skrisextern int s_time_main(int argc,char *argv[]);
3055714Skrisextern int version_main(int argc,char *argv[]);
3155714Skrisextern int pkcs7_main(int argc,char *argv[]);
32194206Ssimonextern int cms_main(int argc,char *argv[]);
3355714Skrisextern int crl2pkcs7_main(int argc,char *argv[]);
3455714Skrisextern int sess_id_main(int argc,char *argv[]);
3555714Skrisextern int ciphers_main(int argc,char *argv[]);
3655714Skrisextern int nseq_main(int argc,char *argv[]);
3755714Skrisextern int pkcs12_main(int argc,char *argv[]);
3855714Skrisextern int pkcs8_main(int argc,char *argv[]);
39238405Sjkimextern int pkey_main(int argc,char *argv[]);
40238405Sjkimextern int pkeyparam_main(int argc,char *argv[]);
41238405Sjkimextern int pkeyutl_main(int argc,char *argv[]);
4259191Skrisextern int spkac_main(int argc,char *argv[]);
4359191Skrisextern int smime_main(int argc,char *argv[]);
4459191Skrisextern int rand_main(int argc,char *argv[]);
45109998Smarkmextern int engine_main(int argc,char *argv[]);
46109998Smarkmextern int ocsp_main(int argc,char *argv[]);
47160814Ssimonextern int prime_main(int argc,char *argv[]);
48238405Sjkimextern int ts_main(int argc,char *argv[]);
49238405Sjkimextern int srp_main(int argc,char *argv[]);
5055714Skris
5155714Skris#define FUNC_TYPE_GENERAL	1
5255714Skris#define FUNC_TYPE_MD		2
5355714Skris#define FUNC_TYPE_CIPHER	3
54238405Sjkim#define FUNC_TYPE_PKEY		4
55238405Sjkim#define FUNC_TYPE_MD_ALG	5
56238405Sjkim#define FUNC_TYPE_CIPHER_ALG	6
5755714Skris
5855714Skristypedef struct {
5955714Skris	int type;
60160814Ssimon	const char *name;
61160814Ssimon	int (*func)(int argc,char *argv[]);
6255714Skris	} FUNCTION;
63238405SjkimDECLARE_LHASH_OF(FUNCTION);
6455714Skris
6555714SkrisFUNCTION functions[] = {
6655714Skris	{FUNC_TYPE_GENERAL,"verify",verify_main},
6755714Skris	{FUNC_TYPE_GENERAL,"asn1parse",asn1parse_main},
6855714Skris	{FUNC_TYPE_GENERAL,"req",req_main},
6955714Skris	{FUNC_TYPE_GENERAL,"dgst",dgst_main},
70109998Smarkm#ifndef OPENSSL_NO_DH
7155714Skris	{FUNC_TYPE_GENERAL,"dh",dh_main},
7255714Skris#endif
73109998Smarkm#ifndef OPENSSL_NO_DH
7459191Skris	{FUNC_TYPE_GENERAL,"dhparam",dhparam_main},
7559191Skris#endif
7655714Skris	{FUNC_TYPE_GENERAL,"enc",enc_main},
7759191Skris	{FUNC_TYPE_GENERAL,"passwd",passwd_main},
78109998Smarkm#ifndef OPENSSL_NO_DH
7955714Skris	{FUNC_TYPE_GENERAL,"gendh",gendh_main},
8055714Skris#endif
8155714Skris	{FUNC_TYPE_GENERAL,"errstr",errstr_main},
8255714Skris	{FUNC_TYPE_GENERAL,"ca",ca_main},
8355714Skris	{FUNC_TYPE_GENERAL,"crl",crl_main},
84109998Smarkm#ifndef OPENSSL_NO_RSA
8555714Skris	{FUNC_TYPE_GENERAL,"rsa",rsa_main},
8655714Skris#endif
87109998Smarkm#ifndef OPENSSL_NO_RSA
8868651Skris	{FUNC_TYPE_GENERAL,"rsautl",rsautl_main},
8968651Skris#endif
90109998Smarkm#ifndef OPENSSL_NO_DSA
9155714Skris	{FUNC_TYPE_GENERAL,"dsa",dsa_main},
9255714Skris#endif
93109998Smarkm#ifndef OPENSSL_NO_DSA
9455714Skris	{FUNC_TYPE_GENERAL,"dsaparam",dsaparam_main},
9555714Skris#endif
96160814Ssimon#ifndef OPENSSL_NO_EC
97160814Ssimon	{FUNC_TYPE_GENERAL,"ec",ec_main},
98160814Ssimon#endif
99160814Ssimon#ifndef OPENSSL_NO_EC
100160814Ssimon	{FUNC_TYPE_GENERAL,"ecparam",ecparam_main},
101160814Ssimon#endif
10255714Skris	{FUNC_TYPE_GENERAL,"x509",x509_main},
103109998Smarkm#ifndef OPENSSL_NO_RSA
10455714Skris	{FUNC_TYPE_GENERAL,"genrsa",genrsa_main},
10555714Skris#endif
106109998Smarkm#ifndef OPENSSL_NO_DSA
10755714Skris	{FUNC_TYPE_GENERAL,"gendsa",gendsa_main},
10855714Skris#endif
109238405Sjkim	{FUNC_TYPE_GENERAL,"genpkey",genpkey_main},
110279264Sdelphij#if !defined(OPENSSL_NO_SOCK)
11155714Skris	{FUNC_TYPE_GENERAL,"s_server",s_server_main},
11255714Skris#endif
113279264Sdelphij#if !defined(OPENSSL_NO_SOCK)
11455714Skris	{FUNC_TYPE_GENERAL,"s_client",s_client_main},
11555714Skris#endif
116111147Snectar#ifndef OPENSSL_NO_SPEED
11755714Skris	{FUNC_TYPE_GENERAL,"speed",speed_main},
118111147Snectar#endif
119279264Sdelphij#if !defined(OPENSSL_NO_SOCK)
12055714Skris	{FUNC_TYPE_GENERAL,"s_time",s_time_main},
12155714Skris#endif
12255714Skris	{FUNC_TYPE_GENERAL,"version",version_main},
12355714Skris	{FUNC_TYPE_GENERAL,"pkcs7",pkcs7_main},
124194206Ssimon#ifndef OPENSSL_NO_CMS
125194206Ssimon	{FUNC_TYPE_GENERAL,"cms",cms_main},
126194206Ssimon#endif
12755714Skris	{FUNC_TYPE_GENERAL,"crl2pkcs7",crl2pkcs7_main},
12855714Skris	{FUNC_TYPE_GENERAL,"sess_id",sess_id_main},
129279264Sdelphij#if !defined(OPENSSL_NO_SOCK)
13055714Skris	{FUNC_TYPE_GENERAL,"ciphers",ciphers_main},
13155714Skris#endif
13255714Skris	{FUNC_TYPE_GENERAL,"nseq",nseq_main},
133109998Smarkm#if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1)
13455714Skris	{FUNC_TYPE_GENERAL,"pkcs12",pkcs12_main},
13555714Skris#endif
13655714Skris	{FUNC_TYPE_GENERAL,"pkcs8",pkcs8_main},
137238405Sjkim	{FUNC_TYPE_GENERAL,"pkey",pkey_main},
138238405Sjkim	{FUNC_TYPE_GENERAL,"pkeyparam",pkeyparam_main},
139238405Sjkim	{FUNC_TYPE_GENERAL,"pkeyutl",pkeyutl_main},
14059191Skris	{FUNC_TYPE_GENERAL,"spkac",spkac_main},
14159191Skris	{FUNC_TYPE_GENERAL,"smime",smime_main},
14259191Skris	{FUNC_TYPE_GENERAL,"rand",rand_main},
143111147Snectar#ifndef OPENSSL_NO_ENGINE
144109998Smarkm	{FUNC_TYPE_GENERAL,"engine",engine_main},
145111147Snectar#endif
146238405Sjkim#ifndef OPENSSL_NO_OCSP
147109998Smarkm	{FUNC_TYPE_GENERAL,"ocsp",ocsp_main},
148238405Sjkim#endif
149160814Ssimon	{FUNC_TYPE_GENERAL,"prime",prime_main},
150238405Sjkim	{FUNC_TYPE_GENERAL,"ts",ts_main},
151238405Sjkim#ifndef OPENSSL_NO_SRP
152238405Sjkim	{FUNC_TYPE_GENERAL,"srp",srp_main},
153238405Sjkim#endif
154109998Smarkm#ifndef OPENSSL_NO_MD2
15555714Skris	{FUNC_TYPE_MD,"md2",dgst_main},
156109998Smarkm#endif
157109998Smarkm#ifndef OPENSSL_NO_MD4
15868651Skris	{FUNC_TYPE_MD,"md4",dgst_main},
159109998Smarkm#endif
160109998Smarkm#ifndef OPENSSL_NO_MD5
16155714Skris	{FUNC_TYPE_MD,"md5",dgst_main},
162109998Smarkm#endif
163109998Smarkm#ifndef OPENSSL_NO_SHA
16455714Skris	{FUNC_TYPE_MD,"sha",dgst_main},
165109998Smarkm#endif
166109998Smarkm#ifndef OPENSSL_NO_SHA1
16755714Skris	{FUNC_TYPE_MD,"sha1",dgst_main},
168109998Smarkm#endif
169109998Smarkm#ifndef OPENSSL_NO_MDC2
17055714Skris	{FUNC_TYPE_MD,"mdc2",dgst_main},
171109998Smarkm#endif
172109998Smarkm#ifndef OPENSSL_NO_RMD160
17355714Skris	{FUNC_TYPE_MD,"rmd160",dgst_main},
174109998Smarkm#endif
175109998Smarkm#ifndef OPENSSL_NO_AES
176109998Smarkm	{FUNC_TYPE_CIPHER,"aes-128-cbc",enc_main},
177109998Smarkm#endif
178109998Smarkm#ifndef OPENSSL_NO_AES
179109998Smarkm	{FUNC_TYPE_CIPHER,"aes-128-ecb",enc_main},
180109998Smarkm#endif
181109998Smarkm#ifndef OPENSSL_NO_AES
182109998Smarkm	{FUNC_TYPE_CIPHER,"aes-192-cbc",enc_main},
183109998Smarkm#endif
184109998Smarkm#ifndef OPENSSL_NO_AES
185109998Smarkm	{FUNC_TYPE_CIPHER,"aes-192-ecb",enc_main},
186109998Smarkm#endif
187109998Smarkm#ifndef OPENSSL_NO_AES
188109998Smarkm	{FUNC_TYPE_CIPHER,"aes-256-cbc",enc_main},
189109998Smarkm#endif
190109998Smarkm#ifndef OPENSSL_NO_AES
191109998Smarkm	{FUNC_TYPE_CIPHER,"aes-256-ecb",enc_main},
192109998Smarkm#endif
193162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
194162911Ssimon	{FUNC_TYPE_CIPHER,"camellia-128-cbc",enc_main},
195162911Ssimon#endif
196162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
197162911Ssimon	{FUNC_TYPE_CIPHER,"camellia-128-ecb",enc_main},
198162911Ssimon#endif
199162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
200162911Ssimon	{FUNC_TYPE_CIPHER,"camellia-192-cbc",enc_main},
201162911Ssimon#endif
202162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
203162911Ssimon	{FUNC_TYPE_CIPHER,"camellia-192-ecb",enc_main},
204162911Ssimon#endif
205162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
206162911Ssimon	{FUNC_TYPE_CIPHER,"camellia-256-cbc",enc_main},
207162911Ssimon#endif
208162911Ssimon#ifndef OPENSSL_NO_CAMELLIA
209162911Ssimon	{FUNC_TYPE_CIPHER,"camellia-256-ecb",enc_main},
210162911Ssimon#endif
21155714Skris	{FUNC_TYPE_CIPHER,"base64",enc_main},
212238405Sjkim#ifdef ZLIB
213238405Sjkim	{FUNC_TYPE_CIPHER,"zlib",enc_main},
214238405Sjkim#endif
215109998Smarkm#ifndef OPENSSL_NO_DES
21655714Skris	{FUNC_TYPE_CIPHER,"des",enc_main},
21755714Skris#endif
218109998Smarkm#ifndef OPENSSL_NO_DES
21955714Skris	{FUNC_TYPE_CIPHER,"des3",enc_main},
22055714Skris#endif
221109998Smarkm#ifndef OPENSSL_NO_DES
22255714Skris	{FUNC_TYPE_CIPHER,"desx",enc_main},
22355714Skris#endif
224109998Smarkm#ifndef OPENSSL_NO_IDEA
22555714Skris	{FUNC_TYPE_CIPHER,"idea",enc_main},
22655714Skris#endif
227194206Ssimon#ifndef OPENSSL_NO_SEED
228194206Ssimon	{FUNC_TYPE_CIPHER,"seed",enc_main},
229194206Ssimon#endif
230109998Smarkm#ifndef OPENSSL_NO_RC4
23155714Skris	{FUNC_TYPE_CIPHER,"rc4",enc_main},
23255714Skris#endif
233109998Smarkm#ifndef OPENSSL_NO_RC4
23459191Skris	{FUNC_TYPE_CIPHER,"rc4-40",enc_main},
23559191Skris#endif
236109998Smarkm#ifndef OPENSSL_NO_RC2
23755714Skris	{FUNC_TYPE_CIPHER,"rc2",enc_main},
23855714Skris#endif
239109998Smarkm#ifndef OPENSSL_NO_BF
24055714Skris	{FUNC_TYPE_CIPHER,"bf",enc_main},
24155714Skris#endif
242109998Smarkm#ifndef OPENSSL_NO_CAST
24355714Skris	{FUNC_TYPE_CIPHER,"cast",enc_main},
24455714Skris#endif
245109998Smarkm#ifndef OPENSSL_NO_RC5
24655714Skris	{FUNC_TYPE_CIPHER,"rc5",enc_main},
24755714Skris#endif
248109998Smarkm#ifndef OPENSSL_NO_DES
24955714Skris	{FUNC_TYPE_CIPHER,"des-ecb",enc_main},
25055714Skris#endif
251109998Smarkm#ifndef OPENSSL_NO_DES
25255714Skris	{FUNC_TYPE_CIPHER,"des-ede",enc_main},
25355714Skris#endif
254109998Smarkm#ifndef OPENSSL_NO_DES
25555714Skris	{FUNC_TYPE_CIPHER,"des-ede3",enc_main},
25655714Skris#endif
257109998Smarkm#ifndef OPENSSL_NO_DES
25855714Skris	{FUNC_TYPE_CIPHER,"des-cbc",enc_main},
25955714Skris#endif
260109998Smarkm#ifndef OPENSSL_NO_DES
26155714Skris	{FUNC_TYPE_CIPHER,"des-ede-cbc",enc_main},
26255714Skris#endif
263109998Smarkm#ifndef OPENSSL_NO_DES
26455714Skris	{FUNC_TYPE_CIPHER,"des-ede3-cbc",enc_main},
26555714Skris#endif
266109998Smarkm#ifndef OPENSSL_NO_DES
26755714Skris	{FUNC_TYPE_CIPHER,"des-cfb",enc_main},
26855714Skris#endif
269109998Smarkm#ifndef OPENSSL_NO_DES
27055714Skris	{FUNC_TYPE_CIPHER,"des-ede-cfb",enc_main},
27155714Skris#endif
272109998Smarkm#ifndef OPENSSL_NO_DES
27355714Skris	{FUNC_TYPE_CIPHER,"des-ede3-cfb",enc_main},
27455714Skris#endif
275109998Smarkm#ifndef OPENSSL_NO_DES
27655714Skris	{FUNC_TYPE_CIPHER,"des-ofb",enc_main},
27755714Skris#endif
278109998Smarkm#ifndef OPENSSL_NO_DES
27955714Skris	{FUNC_TYPE_CIPHER,"des-ede-ofb",enc_main},
28055714Skris#endif
281109998Smarkm#ifndef OPENSSL_NO_DES
28255714Skris	{FUNC_TYPE_CIPHER,"des-ede3-ofb",enc_main},
28355714Skris#endif
284109998Smarkm#ifndef OPENSSL_NO_IDEA
28555714Skris	{FUNC_TYPE_CIPHER,"idea-cbc",enc_main},
28655714Skris#endif
287109998Smarkm#ifndef OPENSSL_NO_IDEA
28855714Skris	{FUNC_TYPE_CIPHER,"idea-ecb",enc_main},
28955714Skris#endif
290109998Smarkm#ifndef OPENSSL_NO_IDEA
29155714Skris	{FUNC_TYPE_CIPHER,"idea-cfb",enc_main},
29255714Skris#endif
293109998Smarkm#ifndef OPENSSL_NO_IDEA
29455714Skris	{FUNC_TYPE_CIPHER,"idea-ofb",enc_main},
29555714Skris#endif
296194206Ssimon#ifndef OPENSSL_NO_SEED
297194206Ssimon	{FUNC_TYPE_CIPHER,"seed-cbc",enc_main},
298194206Ssimon#endif
299194206Ssimon#ifndef OPENSSL_NO_SEED
300194206Ssimon	{FUNC_TYPE_CIPHER,"seed-ecb",enc_main},
301194206Ssimon#endif
302194206Ssimon#ifndef OPENSSL_NO_SEED
303194206Ssimon	{FUNC_TYPE_CIPHER,"seed-cfb",enc_main},
304194206Ssimon#endif
305194206Ssimon#ifndef OPENSSL_NO_SEED
306194206Ssimon	{FUNC_TYPE_CIPHER,"seed-ofb",enc_main},
307194206Ssimon#endif
308109998Smarkm#ifndef OPENSSL_NO_RC2
30955714Skris	{FUNC_TYPE_CIPHER,"rc2-cbc",enc_main},
31055714Skris#endif
311109998Smarkm#ifndef OPENSSL_NO_RC2
31255714Skris	{FUNC_TYPE_CIPHER,"rc2-ecb",enc_main},
31355714Skris#endif
314109998Smarkm#ifndef OPENSSL_NO_RC2
31555714Skris	{FUNC_TYPE_CIPHER,"rc2-cfb",enc_main},
31655714Skris#endif
317109998Smarkm#ifndef OPENSSL_NO_RC2
31855714Skris	{FUNC_TYPE_CIPHER,"rc2-ofb",enc_main},
31955714Skris#endif
320109998Smarkm#ifndef OPENSSL_NO_RC2
32159191Skris	{FUNC_TYPE_CIPHER,"rc2-64-cbc",enc_main},
32259191Skris#endif
323109998Smarkm#ifndef OPENSSL_NO_RC2
32459191Skris	{FUNC_TYPE_CIPHER,"rc2-40-cbc",enc_main},
32559191Skris#endif
326109998Smarkm#ifndef OPENSSL_NO_BF
32755714Skris	{FUNC_TYPE_CIPHER,"bf-cbc",enc_main},
32855714Skris#endif
329109998Smarkm#ifndef OPENSSL_NO_BF
33055714Skris	{FUNC_TYPE_CIPHER,"bf-ecb",enc_main},
33155714Skris#endif
332109998Smarkm#ifndef OPENSSL_NO_BF
33355714Skris	{FUNC_TYPE_CIPHER,"bf-cfb",enc_main},
33455714Skris#endif
335109998Smarkm#ifndef OPENSSL_NO_BF
33655714Skris	{FUNC_TYPE_CIPHER,"bf-ofb",enc_main},
33755714Skris#endif
338109998Smarkm#ifndef OPENSSL_NO_CAST
33955714Skris	{FUNC_TYPE_CIPHER,"cast5-cbc",enc_main},
34055714Skris#endif
341109998Smarkm#ifndef OPENSSL_NO_CAST
34255714Skris	{FUNC_TYPE_CIPHER,"cast5-ecb",enc_main},
34355714Skris#endif
344109998Smarkm#ifndef OPENSSL_NO_CAST
34555714Skris	{FUNC_TYPE_CIPHER,"cast5-cfb",enc_main},
34655714Skris#endif
347109998Smarkm#ifndef OPENSSL_NO_CAST
34855714Skris	{FUNC_TYPE_CIPHER,"cast5-ofb",enc_main},
34955714Skris#endif
350109998Smarkm#ifndef OPENSSL_NO_CAST
35155714Skris	{FUNC_TYPE_CIPHER,"cast-cbc",enc_main},
35255714Skris#endif
353109998Smarkm#ifndef OPENSSL_NO_RC5
35455714Skris	{FUNC_TYPE_CIPHER,"rc5-cbc",enc_main},
35555714Skris#endif
356109998Smarkm#ifndef OPENSSL_NO_RC5
35755714Skris	{FUNC_TYPE_CIPHER,"rc5-ecb",enc_main},
35855714Skris#endif
359109998Smarkm#ifndef OPENSSL_NO_RC5
36055714Skris	{FUNC_TYPE_CIPHER,"rc5-cfb",enc_main},
36155714Skris#endif
362109998Smarkm#ifndef OPENSSL_NO_RC5
36355714Skris	{FUNC_TYPE_CIPHER,"rc5-ofb",enc_main},
36455714Skris#endif
36555714Skris	{0,NULL,NULL}
36655714Skris	};
367