00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef _TORTLS_STATES_H
00009 #define _TORTLS_STATES_H
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00030 static const struct { int state; const char *name; } state_map[] = {
00031 #define S(state) { state, #state }
00032 #ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A
00033   S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A),
00034 #endif
00035 #ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B
00036   S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B),
00037 #endif
00038 #ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A
00039   S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A),
00040 #endif
00041 #ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B
00042   S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B),
00043 #endif
00044 #ifdef SSL23_ST_CR_SRVR_HELLO_A
00045   S(SSL23_ST_CR_SRVR_HELLO_A),
00046 #endif
00047 #ifdef SSL23_ST_CR_SRVR_HELLO_B
00048   S(SSL23_ST_CR_SRVR_HELLO_B),
00049 #endif
00050 #ifdef SSL23_ST_CW_CLNT_HELLO_A
00051   S(SSL23_ST_CW_CLNT_HELLO_A),
00052 #endif
00053 #ifdef SSL23_ST_CW_CLNT_HELLO_B
00054   S(SSL23_ST_CW_CLNT_HELLO_B),
00055 #endif
00056 #ifdef SSL23_ST_SR_CLNT_HELLO_A
00057   S(SSL23_ST_SR_CLNT_HELLO_A),
00058 #endif
00059 #ifdef SSL23_ST_SR_CLNT_HELLO_B
00060   S(SSL23_ST_SR_CLNT_HELLO_B),
00061 #endif
00062 #ifdef SSL2_ST_CLIENT_START_ENCRYPTION
00063   S(SSL2_ST_CLIENT_START_ENCRYPTION),
00064 #endif
00065 #ifdef SSL2_ST_GET_CLIENT_FINISHED_A
00066   S(SSL2_ST_GET_CLIENT_FINISHED_A),
00067 #endif
00068 #ifdef SSL2_ST_GET_CLIENT_FINISHED_B
00069   S(SSL2_ST_GET_CLIENT_FINISHED_B),
00070 #endif
00071 #ifdef SSL2_ST_GET_CLIENT_HELLO_A
00072   S(SSL2_ST_GET_CLIENT_HELLO_A),
00073 #endif
00074 #ifdef SSL2_ST_GET_CLIENT_HELLO_B
00075   S(SSL2_ST_GET_CLIENT_HELLO_B),
00076 #endif
00077 #ifdef SSL2_ST_GET_CLIENT_HELLO_C
00078   S(SSL2_ST_GET_CLIENT_HELLO_C),
00079 #endif
00080 #ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_A
00081   S(SSL2_ST_GET_CLIENT_MASTER_KEY_A),
00082 #endif
00083 #ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_B
00084   S(SSL2_ST_GET_CLIENT_MASTER_KEY_B),
00085 #endif
00086 #ifdef SSL2_ST_GET_SERVER_FINISHED_A
00087   S(SSL2_ST_GET_SERVER_FINISHED_A),
00088 #endif
00089 #ifdef SSL2_ST_GET_SERVER_FINISHED_B
00090   S(SSL2_ST_GET_SERVER_FINISHED_B),
00091 #endif
00092 #ifdef SSL2_ST_GET_SERVER_HELLO_A
00093   S(SSL2_ST_GET_SERVER_HELLO_A),
00094 #endif
00095 #ifdef SSL2_ST_GET_SERVER_HELLO_B
00096   S(SSL2_ST_GET_SERVER_HELLO_B),
00097 #endif
00098 #ifdef SSL2_ST_GET_SERVER_VERIFY_A
00099   S(SSL2_ST_GET_SERVER_VERIFY_A),
00100 #endif
00101 #ifdef SSL2_ST_GET_SERVER_VERIFY_B
00102   S(SSL2_ST_GET_SERVER_VERIFY_B),
00103 #endif
00104 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_A
00105   S(SSL2_ST_SEND_CLIENT_CERTIFICATE_A),
00106 #endif
00107 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_B
00108   S(SSL2_ST_SEND_CLIENT_CERTIFICATE_B),
00109 #endif
00110 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_C
00111   S(SSL2_ST_SEND_CLIENT_CERTIFICATE_C),
00112 #endif
00113 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_D
00114   S(SSL2_ST_SEND_CLIENT_CERTIFICATE_D),
00115 #endif
00116 #ifdef SSL2_ST_SEND_CLIENT_FINISHED_A
00117   S(SSL2_ST_SEND_CLIENT_FINISHED_A),
00118 #endif
00119 #ifdef SSL2_ST_SEND_CLIENT_FINISHED_B
00120   S(SSL2_ST_SEND_CLIENT_FINISHED_B),
00121 #endif
00122 #ifdef SSL2_ST_SEND_CLIENT_HELLO_A
00123   S(SSL2_ST_SEND_CLIENT_HELLO_A),
00124 #endif
00125 #ifdef SSL2_ST_SEND_CLIENT_HELLO_B
00126   S(SSL2_ST_SEND_CLIENT_HELLO_B),
00127 #endif
00128 #ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_A
00129   S(SSL2_ST_SEND_CLIENT_MASTER_KEY_A),
00130 #endif
00131 #ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_B
00132   S(SSL2_ST_SEND_CLIENT_MASTER_KEY_B),
00133 #endif
00134 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_A
00135   S(SSL2_ST_SEND_REQUEST_CERTIFICATE_A),
00136 #endif
00137 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_B
00138   S(SSL2_ST_SEND_REQUEST_CERTIFICATE_B),
00139 #endif
00140 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_C
00141   S(SSL2_ST_SEND_REQUEST_CERTIFICATE_C),
00142 #endif
00143 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_D
00144   S(SSL2_ST_SEND_REQUEST_CERTIFICATE_D),
00145 #endif
00146 #ifdef SSL2_ST_SEND_SERVER_FINISHED_A
00147   S(SSL2_ST_SEND_SERVER_FINISHED_A),
00148 #endif
00149 #ifdef SSL2_ST_SEND_SERVER_FINISHED_B
00150   S(SSL2_ST_SEND_SERVER_FINISHED_B),
00151 #endif
00152 #ifdef SSL2_ST_SEND_SERVER_HELLO_A
00153   S(SSL2_ST_SEND_SERVER_HELLO_A),
00154 #endif
00155 #ifdef SSL2_ST_SEND_SERVER_HELLO_B
00156   S(SSL2_ST_SEND_SERVER_HELLO_B),
00157 #endif
00158 #ifdef SSL2_ST_SEND_SERVER_VERIFY_A
00159   S(SSL2_ST_SEND_SERVER_VERIFY_A),
00160 #endif
00161 #ifdef SSL2_ST_SEND_SERVER_VERIFY_B
00162   S(SSL2_ST_SEND_SERVER_VERIFY_B),
00163 #endif
00164 #ifdef SSL2_ST_SEND_SERVER_VERIFY_C
00165   S(SSL2_ST_SEND_SERVER_VERIFY_C),
00166 #endif
00167 #ifdef SSL2_ST_SERVER_START_ENCRYPTION
00168   S(SSL2_ST_SERVER_START_ENCRYPTION),
00169 #endif
00170 #ifdef SSL2_ST_X509_GET_CLIENT_CERTIFICATE
00171   S(SSL2_ST_X509_GET_CLIENT_CERTIFICATE),
00172 #endif
00173 #ifdef SSL2_ST_X509_GET_SERVER_CERTIFICATE
00174   S(SSL2_ST_X509_GET_SERVER_CERTIFICATE),
00175 #endif
00176 #ifdef SSL3_ST_CR_CERT_A
00177   S(SSL3_ST_CR_CERT_A),
00178 #endif
00179 #ifdef SSL3_ST_CR_CERT_B
00180   S(SSL3_ST_CR_CERT_B),
00181 #endif
00182 #ifdef SSL3_ST_CR_CERT_REQ_A
00183   S(SSL3_ST_CR_CERT_REQ_A),
00184 #endif
00185 #ifdef SSL3_ST_CR_CERT_REQ_B
00186   S(SSL3_ST_CR_CERT_REQ_B),
00187 #endif
00188 #ifdef SSL3_ST_CR_CERT_STATUS_A
00189   S(SSL3_ST_CR_CERT_STATUS_A),
00190 #endif
00191 #ifdef SSL3_ST_CR_CERT_STATUS_B
00192   S(SSL3_ST_CR_CERT_STATUS_B),
00193 #endif
00194 #ifdef SSL3_ST_CR_CHANGE_A
00195   S(SSL3_ST_CR_CHANGE_A),
00196 #endif
00197 #ifdef SSL3_ST_CR_CHANGE_B
00198   S(SSL3_ST_CR_CHANGE_B),
00199 #endif
00200 #ifdef SSL3_ST_CR_FINISHED_A
00201   S(SSL3_ST_CR_FINISHED_A),
00202 #endif
00203 #ifdef SSL3_ST_CR_FINISHED_B
00204   S(SSL3_ST_CR_FINISHED_B),
00205 #endif
00206 #ifdef SSL3_ST_CR_KEY_EXCH_A
00207   S(SSL3_ST_CR_KEY_EXCH_A),
00208 #endif
00209 #ifdef SSL3_ST_CR_KEY_EXCH_B
00210   S(SSL3_ST_CR_KEY_EXCH_B),
00211 #endif
00212 #ifdef SSL3_ST_CR_SESSION_TICKET_A
00213   S(SSL3_ST_CR_SESSION_TICKET_A),
00214 #endif
00215 #ifdef SSL3_ST_CR_SESSION_TICKET_B
00216   S(SSL3_ST_CR_SESSION_TICKET_B),
00217 #endif
00218 #ifdef SSL3_ST_CR_SRVR_DONE_A
00219   S(SSL3_ST_CR_SRVR_DONE_A),
00220 #endif
00221 #ifdef SSL3_ST_CR_SRVR_DONE_B
00222   S(SSL3_ST_CR_SRVR_DONE_B),
00223 #endif
00224 #ifdef SSL3_ST_CR_SRVR_HELLO_A
00225   S(SSL3_ST_CR_SRVR_HELLO_A),
00226 #endif
00227 #ifdef SSL3_ST_CR_SRVR_HELLO_B
00228   S(SSL3_ST_CR_SRVR_HELLO_B),
00229 #endif
00230 #ifdef SSL3_ST_CW_CERT_A
00231   S(SSL3_ST_CW_CERT_A),
00232 #endif
00233 #ifdef SSL3_ST_CW_CERT_B
00234   S(SSL3_ST_CW_CERT_B),
00235 #endif
00236 #ifdef SSL3_ST_CW_CERT_C
00237   S(SSL3_ST_CW_CERT_C),
00238 #endif
00239 #ifdef SSL3_ST_CW_CERT_D
00240   S(SSL3_ST_CW_CERT_D),
00241 #endif
00242 #ifdef SSL3_ST_CW_CERT_VRFY_A
00243   S(SSL3_ST_CW_CERT_VRFY_A),
00244 #endif
00245 #ifdef SSL3_ST_CW_CERT_VRFY_B
00246   S(SSL3_ST_CW_CERT_VRFY_B),
00247 #endif
00248 #ifdef SSL3_ST_CW_CHANGE_A
00249   S(SSL3_ST_CW_CHANGE_A),
00250 #endif
00251 #ifdef SSL3_ST_CW_CHANGE_B
00252   S(SSL3_ST_CW_CHANGE_B),
00253 #endif
00254 #ifdef SSL3_ST_CW_CLNT_HELLO_A
00255   S(SSL3_ST_CW_CLNT_HELLO_A),
00256 #endif
00257 #ifdef SSL3_ST_CW_CLNT_HELLO_B
00258   S(SSL3_ST_CW_CLNT_HELLO_B),
00259 #endif
00260 #ifdef SSL3_ST_CW_FINISHED_A
00261   S(SSL3_ST_CW_FINISHED_A),
00262 #endif
00263 #ifdef SSL3_ST_CW_FINISHED_B
00264   S(SSL3_ST_CW_FINISHED_B),
00265 #endif
00266 #ifdef SSL3_ST_CW_FLUSH
00267   S(SSL3_ST_CW_FLUSH),
00268 #endif
00269 #ifdef SSL3_ST_CW_KEY_EXCH_A
00270   S(SSL3_ST_CW_KEY_EXCH_A),
00271 #endif
00272 #ifdef SSL3_ST_CW_KEY_EXCH_B
00273   S(SSL3_ST_CW_KEY_EXCH_B),
00274 #endif
00275 #ifdef SSL3_ST_SR_CERT_A
00276   S(SSL3_ST_SR_CERT_A),
00277 #endif
00278 #ifdef SSL3_ST_SR_CERT_B
00279   S(SSL3_ST_SR_CERT_B),
00280 #endif
00281 #ifdef SSL3_ST_SR_CERT_VRFY_A
00282   S(SSL3_ST_SR_CERT_VRFY_A),
00283 #endif
00284 #ifdef SSL3_ST_SR_CERT_VRFY_B
00285   S(SSL3_ST_SR_CERT_VRFY_B),
00286 #endif
00287 #ifdef SSL3_ST_SR_CHANGE_A
00288   S(SSL3_ST_SR_CHANGE_A),
00289 #endif
00290 #ifdef SSL3_ST_SR_CHANGE_B
00291   S(SSL3_ST_SR_CHANGE_B),
00292 #endif
00293 #ifdef SSL3_ST_SR_CLNT_HELLO_A
00294   S(SSL3_ST_SR_CLNT_HELLO_A),
00295 #endif
00296 #ifdef SSL3_ST_SR_CLNT_HELLO_B
00297   S(SSL3_ST_SR_CLNT_HELLO_B),
00298 #endif
00299 #ifdef SSL3_ST_SR_CLNT_HELLO_C
00300   S(SSL3_ST_SR_CLNT_HELLO_C),
00301 #endif
00302 #ifdef SSL3_ST_SR_FINISHED_A
00303   S(SSL3_ST_SR_FINISHED_A),
00304 #endif
00305 #ifdef SSL3_ST_SR_FINISHED_B
00306   S(SSL3_ST_SR_FINISHED_B),
00307 #endif
00308 #ifdef SSL3_ST_SR_KEY_EXCH_A
00309   S(SSL3_ST_SR_KEY_EXCH_A),
00310 #endif
00311 #ifdef SSL3_ST_SR_KEY_EXCH_B
00312   S(SSL3_ST_SR_KEY_EXCH_B),
00313 #endif
00314 #ifdef SSL3_ST_SW_CERT_A
00315   S(SSL3_ST_SW_CERT_A),
00316 #endif
00317 #ifdef SSL3_ST_SW_CERT_B
00318   S(SSL3_ST_SW_CERT_B),
00319 #endif
00320 #ifdef SSL3_ST_SW_CERT_REQ_A
00321   S(SSL3_ST_SW_CERT_REQ_A),
00322 #endif
00323 #ifdef SSL3_ST_SW_CERT_REQ_B
00324   S(SSL3_ST_SW_CERT_REQ_B),
00325 #endif
00326 #ifdef SSL3_ST_SW_CERT_STATUS_A
00327   S(SSL3_ST_SW_CERT_STATUS_A),
00328 #endif
00329 #ifdef SSL3_ST_SW_CERT_STATUS_B
00330   S(SSL3_ST_SW_CERT_STATUS_B),
00331 #endif
00332 #ifdef SSL3_ST_SW_CHANGE_A
00333   S(SSL3_ST_SW_CHANGE_A),
00334 #endif
00335 #ifdef SSL3_ST_SW_CHANGE_B
00336   S(SSL3_ST_SW_CHANGE_B),
00337 #endif
00338 #ifdef SSL3_ST_SW_FINISHED_A
00339   S(SSL3_ST_SW_FINISHED_A),
00340 #endif
00341 #ifdef SSL3_ST_SW_FINISHED_B
00342   S(SSL3_ST_SW_FINISHED_B),
00343 #endif
00344 #ifdef SSL3_ST_SW_FLUSH
00345   S(SSL3_ST_SW_FLUSH),
00346 #endif
00347 #ifdef SSL3_ST_SW_HELLO_REQ_A
00348   S(SSL3_ST_SW_HELLO_REQ_A),
00349 #endif
00350 #ifdef SSL3_ST_SW_HELLO_REQ_B
00351   S(SSL3_ST_SW_HELLO_REQ_B),
00352 #endif
00353 #ifdef SSL3_ST_SW_HELLO_REQ_C
00354   S(SSL3_ST_SW_HELLO_REQ_C),
00355 #endif
00356 #ifdef SSL3_ST_SW_KEY_EXCH_A
00357   S(SSL3_ST_SW_KEY_EXCH_A),
00358 #endif
00359 #ifdef SSL3_ST_SW_KEY_EXCH_B
00360   S(SSL3_ST_SW_KEY_EXCH_B),
00361 #endif
00362 #ifdef SSL3_ST_SW_SESSION_TICKET_A
00363   S(SSL3_ST_SW_SESSION_TICKET_A),
00364 #endif
00365 #ifdef SSL3_ST_SW_SESSION_TICKET_B
00366   S(SSL3_ST_SW_SESSION_TICKET_B),
00367 #endif
00368 #ifdef SSL3_ST_SW_SRVR_DONE_A
00369   S(SSL3_ST_SW_SRVR_DONE_A),
00370 #endif
00371 #ifdef SSL3_ST_SW_SRVR_DONE_B
00372   S(SSL3_ST_SW_SRVR_DONE_B),
00373 #endif
00374 #ifdef SSL3_ST_SW_SRVR_HELLO_A
00375   S(SSL3_ST_SW_SRVR_HELLO_A),
00376 #endif
00377 #ifdef SSL3_ST_SW_SRVR_HELLO_B
00378   S(SSL3_ST_SW_SRVR_HELLO_B),
00379 #endif
00380 #ifdef SSL_ST_ACCEPT
00381   S(SSL_ST_ACCEPT),
00382 #endif
00383 #ifdef SSL_ST_BEFORE
00384   S(SSL_ST_BEFORE),
00385 #endif
00386 #ifdef SSL_ST_CONNECT
00387   S(SSL_ST_CONNECT),
00388 #endif
00389 #ifdef SSL_ST_INIT
00390   S(SSL_ST_INIT),
00391 #endif
00392 #ifdef SSL_ST_MASK
00393   S(SSL_ST_MASK),
00394 #endif
00395 #ifdef SSL_ST_OK
00396   S(SSL_ST_OK),
00397 #endif
00398 #ifdef SSL_ST_READ_BODY
00399   S(SSL_ST_READ_BODY),
00400 #endif
00401 #ifdef SSL_ST_READ_DONE
00402   S(SSL_ST_READ_DONE),
00403 #endif
00404 #ifdef SSL_ST_READ_HEADER
00405   S(SSL_ST_READ_HEADER),
00406 #endif
00407 #ifdef SSL_ST_RENEGOTIATE
00408   S(SSL_ST_RENEGOTIATE),
00409 #endif
00410   { 0, NULL }
00411 };
00412 
00413 #endif
00414