Commit d58165ff939d2add1d8a435e52948a97273c102c

Authored by Perry Werneck
1 parent 8321dde6

Fixing windows build.

Showing 2 changed files with 16 additions and 30 deletions   Show diff stats
src/core/iocalls.c
@@ -531,7 +531,7 @@ int non_blocking(H3270 *hSession, Boolean on) @@ -531,7 +531,7 @@ int non_blocking(H3270 *hSession, Boolean on)
531 WSASetLastError(0); 531 WSASetLastError(0);
532 u_long iMode= on ? 1 : 0; 532 u_long iMode= on ? 1 : 0;
533 533
534 - if(ioctlsocket(hSession->sock,FIONBIO,&iMode)) 534 + if(ioctlsocket(hSession->connection.sock,FIONBIO,&iMode))
535 { 535 {
536 lib3270_popup_dialog( hSession, 536 lib3270_popup_dialog( hSession,
537 LIB3270_NOTIFY_ERROR, 537 LIB3270_NOTIFY_ERROR,
src/core/windows/connect.c
@@ -47,7 +47,7 @@ @@ -47,7 +47,7 @@
47 #include <iconv.h> 47 #include <iconv.h>
48 #endif // HAVE_ICONV 48 #endif // HAVE_ICONV
49 49
50 -#define SOCK_CLOSE(s) closesocket(s->sock); s->sock = -1; 50 +#define SOCK_CLOSE(s) closesocket(s->connection.sock); s->connection.sock = -1;
51 51
52 #include "hostc.h" 52 #include "hostc.h"
53 #include "trace_dsc.h" 53 #include "trace_dsc.h"
@@ -70,7 +70,7 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG @@ -70,7 +70,7 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG
70 hSession->xio.write = NULL; 70 hSession->xio.write = NULL;
71 } 71 }
72 72
73 - if(getsockopt(hSession->sock, SOL_SOCKET, SO_ERROR, (char *) &err, &len) < 0) 73 + if(getsockopt(hSession->connection.sock, SOL_SOCKET, SO_ERROR, (char *) &err, &len) < 0)
74 { 74 {
75 lib3270_disconnect(hSession); 75 lib3270_disconnect(hSession);
76 lib3270_popup_dialog( hSession, 76 lib3270_popup_dialog( hSession,
@@ -97,8 +97,8 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG @@ -97,8 +97,8 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG
97 return; 97 return;
98 } 98 }
99 99
100 - hSession->xio.except = lib3270_add_poll_fd(hSession,hSession->sock,LIB3270_IO_FLAG_EXCEPTION,net_exception,0);  
101 - hSession->xio.read = lib3270_add_poll_fd(hSession,hSession->sock,LIB3270_IO_FLAG_READ,net_input,0); 100 + hSession->xio.except = lib3270_add_poll_fd(hSession,hSession->connection.sock,LIB3270_IO_FLAG_EXCEPTION,net_exception,0);
  101 + hSession->xio.read = lib3270_add_poll_fd(hSession,hSession->connection.sock,LIB3270_IO_FLAG_READ,net_input,0);
102 102
103 #if defined(HAVE_LIBSSL) 103 #if defined(HAVE_LIBSSL)
104 if(hSession->ssl.con && hSession->ssl.state == LIB3270_SSL_UNDEFINED) 104 if(hSession->ssl.con && hSession->ssl.state == LIB3270_SSL_UNDEFINED)
@@ -187,10 +187,10 @@ static void sockstart(H3270 *session) @@ -187,10 +187,10 @@ static void sockstart(H3270 *session)
187 187
188 status_connecting(hSession); 188 status_connecting(hSession);
189 189
190 - for(rp = result; hSession->sock < 0 && rp != NULL; rp = rp->ai_next) 190 + for(rp = result; hSession->connection.sock < 0 && rp != NULL; rp = rp->ai_next)
191 { 191 {
192 - hSession->sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);  
193 - if(hSession->sock < 0) 192 + hSession->connection.sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
  193 + if(hSession->connection.sock < 0)
194 { 194 {
195 ((struct resolver *) host)->rc = errno; 195 ((struct resolver *) host)->rc = errno;
196 ((struct resolver *) host)->message = strerror(errno); 196 ((struct resolver *) host)->message = strerror(errno);
@@ -198,7 +198,7 @@ static void sockstart(H3270 *session) @@ -198,7 +198,7 @@ static void sockstart(H3270 *session)
198 } 198 }
199 199
200 // Connected! 200 // Connected!
201 - if(connect(hSession->sock, rp->ai_addr, rp->ai_addrlen)) 201 + if(connect(hSession->connection.sock, rp->ai_addr, rp->ai_addrlen))
202 { 202 {
203 SOCK_CLOSE(hSession); 203 SOCK_CLOSE(hSession);
204 ((struct resolver *) host)->rc = errno; 204 ((struct resolver *) host)->rc = errno;
@@ -222,7 +222,7 @@ int net_reconnect(H3270 *hSession, int seconds) @@ -222,7 +222,7 @@ int net_reconnect(H3270 *hSession, int seconds)
222 222
223 sockstart(hSession); 223 sockstart(hSession);
224 224
225 - if(lib3270_run_task(hSession, background_connect, &host) || hSession->sock < 0) 225 + if(lib3270_run_task(hSession, background_connect, &host) || hSession->connection.sock < 0)
226 { 226 {
227 lib3270_autoptr(char) message = lib3270_strdup_printf(_( "Can't connect to %s"), lib3270_get_url(hSession)); 227 lib3270_autoptr(char) message = lib3270_strdup_printf(_( "Can't connect to %s"), lib3270_get_url(hSession));
228 228
@@ -326,7 +326,7 @@ int net_reconnect(H3270 *hSession, int seconds) @@ -326,7 +326,7 @@ int net_reconnect(H3270 *hSession, int seconds)
326 WSASetLastError(0); 326 WSASetLastError(0);
327 327
328 int optval = lib3270_get_toggle(hSession,LIB3270_TOGGLE_KEEP_ALIVE) ? 1 : 0; 328 int optval = lib3270_get_toggle(hSession,LIB3270_TOGGLE_KEEP_ALIVE) ? 1 : 0;
329 - if (setsockopt(hSession->sock, SOL_SOCKET, SO_KEEPALIVE, (char *)&optval, sizeof(optval)) < 0) 329 + if (setsockopt(hSession->connection.sock, SOL_SOCKET, SO_KEEPALIVE, (char *)&optval, sizeof(optval)) < 0)
330 { 330 {
331 char buffer[4096]; 331 char buffer[4096];
332 snprintf(buffer,4095,N_( "Can't %s network keep-alive" ), optval ? _( "enable" ) : _( "disable" )); 332 snprintf(buffer,4095,N_( "Can't %s network keep-alive" ), optval ? _( "enable" ) : _( "disable" ));
@@ -345,7 +345,7 @@ int net_reconnect(H3270 *hSession, int seconds) @@ -345,7 +345,7 @@ int net_reconnect(H3270 *hSession, int seconds)
345 } 345 }
346 346
347 optval = 1; 347 optval = 1;
348 - if (setsockopt(hSession->sock, SOL_SOCKET, SO_OOBINLINE, (char *)&optval,sizeof(optval)) < 0) 348 + if (setsockopt(hSession->connection.sock, SOL_SOCKET, SO_OOBINLINE, (char *)&optval,sizeof(optval)) < 0)
349 { 349 {
350 lib3270_popup_dialog( hSession, 350 lib3270_popup_dialog( hSession,
351 LIB3270_NOTIFY_ERROR, 351 LIB3270_NOTIFY_ERROR,
@@ -356,25 +356,11 @@ int net_reconnect(H3270 *hSession, int seconds) @@ -356,25 +356,11 @@ int net_reconnect(H3270 *hSession, int seconds)
356 return errno = ENOTCONN; 356 return errno = ENOTCONN;
357 } 357 }
358 358
359 - // set options for inline out-of-band data and keepalives  
360 -  
361 - /*  
362 -#if defined(OMTU)  
363 - else if (setsockopt(hSession->sock, SOL_SOCKET, SO_SNDBUF, (char *)&mtu,sizeof(mtu)) < 0)  
364 - {  
365 - popup_a_sockerr(hSession, N_( "setsockopt(%s)" ), "SO_SNDBUF");  
366 - SOCK_CLOSE(hSession);  
367 - }  
368 -#endif  
369 -  
370 - */  
371 -  
372 // Connecting, set callbacks, wait for connection 359 // Connecting, set callbacks, wait for connection
373 - hSession->cstate = LIB3270_PENDING; 360 + lib3270_set_cstate(hSession, LIB3270_PENDING);
374 lib3270_st_changed(hSession, LIB3270_STATE_HALF_CONNECT, True); 361 lib3270_st_changed(hSession, LIB3270_STATE_HALF_CONNECT, True);
375 362
376 - hSession->xio.write = lib3270_add_poll_fd(hSession,hSession->sock,LIB3270_IO_FLAG_WRITE,net_connected,0);  
377 - // hSession->ns_write_id = AddOutput(hSession->sock, hSession, net_connected); 363 + hSession->xio.write = lib3270_add_poll_fd(hSession,hSession->connection.sock,LIB3270_IO_FLAG_WRITE,net_connected,0);
378 364
379 trace("%s: Connection in progress",__FUNCTION__); 365 trace("%s: Connection in progress",__FUNCTION__);
380 366
@@ -386,7 +372,7 @@ int net_reconnect(H3270 *hSession, int seconds) @@ -386,7 +372,7 @@ int net_reconnect(H3270 *hSession, int seconds)
386 { 372 {
387 lib3270_main_iterate(hSession,1); 373 lib3270_main_iterate(hSession,1);
388 374
389 - switch(hSession->cstate) 375 + switch(hSession->connection.state)
390 { 376 {
391 case LIB3270_PENDING: 377 case LIB3270_PENDING:
392 case LIB3270_CONNECTED_INITIAL: 378 case LIB3270_CONNECTED_INITIAL:
@@ -405,7 +391,7 @@ int net_reconnect(H3270 *hSession, int seconds) @@ -405,7 +391,7 @@ int net_reconnect(H3270 *hSession, int seconds)
405 return 0; 391 return 0;
406 392
407 default: 393 default:
408 - lib3270_write_log(hSession,"connect", "%s: State changed to unexpected state %d",__FUNCTION__,hSession->cstate); 394 + lib3270_write_log(hSession,"connect", "%s: State changed to unexpected state %d",__FUNCTION__,hSession->connection.state);
409 return -1; 395 return -1;
410 } 396 }
411 397