Ops, the logic of the second argument has to be coupled with the != test to
[openssl.git] / apps / progs.h
1 #ifndef NOPROTO
2 extern int verify_main(int argc,char *argv[]);
3 extern int asn1parse_main(int argc,char *argv[]);
4 extern int req_main(int argc,char *argv[]);
5 extern int dgst_main(int argc,char *argv[]);
6 extern int dh_main(int argc,char *argv[]);
7 extern int enc_main(int argc,char *argv[]);
8 extern int gendh_main(int argc,char *argv[]);
9 extern int errstr_main(int argc,char *argv[]);
10 extern int ca_main(int argc,char *argv[]);
11 extern int crl_main(int argc,char *argv[]);
12 extern int rsa_main(int argc,char *argv[]);
13 extern int dsa_main(int argc,char *argv[]);
14 extern int dsaparam_main(int argc,char *argv[]);
15 extern int x509_main(int argc,char *argv[]);
16 extern int genrsa_main(int argc,char *argv[]);
17 extern int gendsa_main(int argc,char *argv[]);
18 extern int s_server_main(int argc,char *argv[]);
19 extern int s_client_main(int argc,char *argv[]);
20 extern int speed_main(int argc,char *argv[]);
21 extern int s_time_main(int argc,char *argv[]);
22 extern int version_main(int argc,char *argv[]);
23 extern int pkcs7_main(int argc,char *argv[]);
24 extern int crl2pkcs7_main(int argc,char *argv[]);
25 extern int sess_id_main(int argc,char *argv[]);
26 extern int ciphers_main(int argc,char *argv[]);
27 extern int nseq_main(int argc,char *argv[]);
28 #else
29 extern int verify_main();
30 extern int asn1parse_main();
31 extern int req_main();
32 extern int dgst_main();
33 extern int dh_main();
34 extern int enc_main();
35 extern int gendh_main();
36 extern int errstr_main();
37 extern int ca_main();
38 extern int crl_main();
39 extern int rsa_main();
40 extern int dsa_main();
41 extern int dsaparam_main();
42 extern int x509_main();
43 extern int genrsa_main();
44 extern int gendsa_main();
45 extern int s_server_main();
46 extern int s_client_main();
47 extern int speed_main();
48 extern int s_time_main();
49 extern int version_main();
50 extern int pkcs7_main();
51 extern int crl2pkcs7_main();
52 extern int sess_id_main();
53 extern int ciphers_main();
54 extern int nseq_main();
55 #endif
56
57 #ifdef SSLEAY_SRC
58
59 #define FUNC_TYPE_GENERAL       1
60 #define FUNC_TYPE_MD            2
61 #define FUNC_TYPE_CIPHER        3
62
63 typedef struct {
64         int type;
65         char *name;
66         int (*func)();
67         } FUNCTION;
68
69 FUNCTION functions[] = {
70         {FUNC_TYPE_GENERAL,"verify",verify_main},
71         {FUNC_TYPE_GENERAL,"asn1parse",asn1parse_main},
72         {FUNC_TYPE_GENERAL,"req",req_main},
73         {FUNC_TYPE_GENERAL,"dgst",dgst_main},
74 #ifndef NO_DH
75         {FUNC_TYPE_GENERAL,"dh",dh_main},
76 #endif
77         {FUNC_TYPE_GENERAL,"enc",enc_main},
78 #ifndef NO_DH
79         {FUNC_TYPE_GENERAL,"gendh",gendh_main},
80 #endif
81         {FUNC_TYPE_GENERAL,"errstr",errstr_main},
82         {FUNC_TYPE_GENERAL,"ca",ca_main},
83         {FUNC_TYPE_GENERAL,"crl",crl_main},
84 #ifndef NO_RSA
85         {FUNC_TYPE_GENERAL,"rsa",rsa_main},
86 #endif
87 #ifndef NO_DSA
88         {FUNC_TYPE_GENERAL,"dsa",dsa_main},
89 #endif
90 #ifndef NO_DSA
91         {FUNC_TYPE_GENERAL,"dsaparam",dsaparam_main},
92 #endif
93         {FUNC_TYPE_GENERAL,"x509",x509_main},
94 #ifndef NO_RSA
95         {FUNC_TYPE_GENERAL,"genrsa",genrsa_main},
96 #endif
97 #ifndef NO_DSA
98         {FUNC_TYPE_GENERAL,"gendsa",gendsa_main},
99 #endif
100 #if !defined(NO_SOCK) && !(defined(NO_SSL2) && defined(O_SSL3))
101         {FUNC_TYPE_GENERAL,"s_server",s_server_main},
102 #endif
103 #if !defined(NO_SOCK) && !(defined(NO_SSL2) && defined(O_SSL3))
104         {FUNC_TYPE_GENERAL,"s_client",s_client_main},
105 #endif
106         {FUNC_TYPE_GENERAL,"speed",speed_main},
107 #if !defined(NO_SOCK) && !(defined(NO_SSL2) && defined(O_SSL3))
108         {FUNC_TYPE_GENERAL,"s_time",s_time_main},
109 #endif
110         {FUNC_TYPE_GENERAL,"version",version_main},
111         {FUNC_TYPE_GENERAL,"pkcs7",pkcs7_main},
112         {FUNC_TYPE_GENERAL,"crl2pkcs7",crl2pkcs7_main},
113         {FUNC_TYPE_GENERAL,"sess_id",sess_id_main},
114 #if !defined(NO_SOCK) && !(defined(NO_SSL2) && defined(O_SSL3))
115         {FUNC_TYPE_GENERAL,"ciphers",ciphers_main},
116 #endif
117         {FUNC_TYPE_GENERAL,"nseq",nseq_main},
118         {FUNC_TYPE_MD,"md2",dgst_main},
119         {FUNC_TYPE_MD,"md5",dgst_main},
120         {FUNC_TYPE_MD,"sha",dgst_main},
121         {FUNC_TYPE_MD,"sha1",dgst_main},
122         {FUNC_TYPE_MD,"mdc2",dgst_main},
123         {FUNC_TYPE_MD,"rmd160",dgst_main},
124         {FUNC_TYPE_CIPHER,"base64",enc_main},
125 #ifndef NO_DES
126         {FUNC_TYPE_CIPHER,"des",enc_main},
127 #endif
128 #ifndef NO_DES
129         {FUNC_TYPE_CIPHER,"des3",enc_main},
130 #endif
131 #ifndef NO_DES
132         {FUNC_TYPE_CIPHER,"desx",enc_main},
133 #endif
134 #ifndef NO_IDEA
135         {FUNC_TYPE_CIPHER,"idea",enc_main},
136 #endif
137 #ifndef NO_RC4
138         {FUNC_TYPE_CIPHER,"rc4",enc_main},
139 #endif
140 #ifndef NO_RC2
141         {FUNC_TYPE_CIPHER,"rc2",enc_main},
142 #endif
143 #ifndef NO_BLOWFISH
144         {FUNC_TYPE_CIPHER,"bf",enc_main},
145 #endif
146 #ifndef NO_CAST
147         {FUNC_TYPE_CIPHER,"cast",enc_main},
148 #endif
149 #ifndef NO_RC5
150         {FUNC_TYPE_CIPHER,"rc5",enc_main},
151 #endif
152 #ifndef NO_DES
153         {FUNC_TYPE_CIPHER,"des-ecb",enc_main},
154 #endif
155 #ifndef NO_DES
156         {FUNC_TYPE_CIPHER,"des-ede",enc_main},
157 #endif
158 #ifndef NO_DES
159         {FUNC_TYPE_CIPHER,"des-ede3",enc_main},
160 #endif
161 #ifndef NO_DES
162         {FUNC_TYPE_CIPHER,"des-cbc",enc_main},
163 #endif
164 #ifndef NO_DES
165         {FUNC_TYPE_CIPHER,"des-ede-cbc",enc_main},
166 #endif
167 #ifndef NO_DES
168         {FUNC_TYPE_CIPHER,"des-ede3-cbc",enc_main},
169 #endif
170 #ifndef NO_DES
171         {FUNC_TYPE_CIPHER,"des-cfb",enc_main},
172 #endif
173 #ifndef NO_DES
174         {FUNC_TYPE_CIPHER,"des-ede-cfb",enc_main},
175 #endif
176 #ifndef NO_DES
177         {FUNC_TYPE_CIPHER,"des-ede3-cfb",enc_main},
178 #endif
179 #ifndef NO_DES
180         {FUNC_TYPE_CIPHER,"des-ofb",enc_main},
181 #endif
182 #ifndef NO_DES
183         {FUNC_TYPE_CIPHER,"des-ede-ofb",enc_main},
184 #endif
185 #ifndef NO_DES
186         {FUNC_TYPE_CIPHER,"des-ede3-ofb",enc_main},
187 #endif
188 #ifndef NO_IDEA
189         {FUNC_TYPE_CIPHER,"idea-cbc",enc_main},
190 #endif
191 #ifndef NO_IDEA
192         {FUNC_TYPE_CIPHER,"idea-ecb",enc_main},
193 #endif
194 #ifndef NO_IDEA
195         {FUNC_TYPE_CIPHER,"idea-cfb",enc_main},
196 #endif
197 #ifndef NO_IDEA
198         {FUNC_TYPE_CIPHER,"idea-ofb",enc_main},
199 #endif
200 #ifndef NO_RC2
201         {FUNC_TYPE_CIPHER,"rc2-cbc",enc_main},
202 #endif
203 #ifndef NO_RC2
204         {FUNC_TYPE_CIPHER,"rc2-ecb",enc_main},
205 #endif
206 #ifndef NO_RC2
207         {FUNC_TYPE_CIPHER,"rc2-cfb",enc_main},
208 #endif
209 #ifndef NO_RC2
210         {FUNC_TYPE_CIPHER,"rc2-ofb",enc_main},
211 #endif
212 #ifndef NO_BLOWFISH
213         {FUNC_TYPE_CIPHER,"bf-cbc",enc_main},
214 #endif
215 #ifndef NO_BLOWFISH
216         {FUNC_TYPE_CIPHER,"bf-ecb",enc_main},
217 #endif
218 #ifndef NO_BLOWFISH
219         {FUNC_TYPE_CIPHER,"bf-cfb",enc_main},
220 #endif
221 #ifndef NO_BLOWFISH
222         {FUNC_TYPE_CIPHER,"bf-ofb",enc_main},
223 #endif
224 #ifndef NO_CAST
225         {FUNC_TYPE_CIPHER,"cast5-cbc",enc_main},
226 #endif
227 #ifndef NO_CAST
228         {FUNC_TYPE_CIPHER,"cast5-ecb",enc_main},
229 #endif
230 #ifndef NO_CAST
231         {FUNC_TYPE_CIPHER,"cast5-cfb",enc_main},
232 #endif
233 #ifndef NO_CAST
234         {FUNC_TYPE_CIPHER,"cast5-ofb",enc_main},
235 #endif
236 #ifndef NO_CAST
237         {FUNC_TYPE_CIPHER,"cast-cbc",enc_main},
238 #endif
239 #ifndef NO_RC5
240         {FUNC_TYPE_CIPHER,"rc5-cbc",enc_main},
241 #endif
242 #ifndef NO_RC5
243         {FUNC_TYPE_CIPHER,"rc5-ecb",enc_main},
244 #endif
245 #ifndef NO_RC5
246         {FUNC_TYPE_CIPHER,"rc5-cfb",enc_main},
247 #endif
248 #ifndef NO_RC5
249         {FUNC_TYPE_CIPHER,"rc5-ofb",enc_main},
250 #endif
251         {0,NULL,NULL}
252         };
253 #endif
254