Commit d58165ff939d2add1d8a435e52948a97273c102c
1 parent
8321dde6
Exists in
master
and in
3 other branches
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 | 531 | WSASetLastError(0); |
532 | 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 | 536 | lib3270_popup_dialog( hSession, |
537 | 537 | LIB3270_NOTIFY_ERROR, | ... | ... |
src/core/windows/connect.c
... | ... | @@ -47,7 +47,7 @@ |
47 | 47 | #include <iconv.h> |
48 | 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 | 52 | #include "hostc.h" |
53 | 53 | #include "trace_dsc.h" |
... | ... | @@ -70,7 +70,7 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG |
70 | 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 | 75 | lib3270_disconnect(hSession); |
76 | 76 | lib3270_popup_dialog( hSession, |
... | ... | @@ -97,8 +97,8 @@ static void net_connected(H3270 *hSession, int GNUC_UNUSED(fd), LIB3270_IO_FLAG |
97 | 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 | 103 | #if defined(HAVE_LIBSSL) |
104 | 104 | if(hSession->ssl.con && hSession->ssl.state == LIB3270_SSL_UNDEFINED) |
... | ... | @@ -187,10 +187,10 @@ static void sockstart(H3270 *session) |
187 | 187 | |
188 | 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 | 195 | ((struct resolver *) host)->rc = errno; |
196 | 196 | ((struct resolver *) host)->message = strerror(errno); |
... | ... | @@ -198,7 +198,7 @@ static void sockstart(H3270 *session) |
198 | 198 | } |
199 | 199 | |
200 | 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 | 203 | SOCK_CLOSE(hSession); |
204 | 204 | ((struct resolver *) host)->rc = errno; |
... | ... | @@ -222,7 +222,7 @@ int net_reconnect(H3270 *hSession, int seconds) |
222 | 222 | |
223 | 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 | 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 | 326 | WSASetLastError(0); |
327 | 327 | |
328 | 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 | 331 | char buffer[4096]; |
332 | 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 | 345 | } |
346 | 346 | |
347 | 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 | 350 | lib3270_popup_dialog( hSession, |
351 | 351 | LIB3270_NOTIFY_ERROR, |
... | ... | @@ -356,25 +356,11 @@ int net_reconnect(H3270 *hSession, int seconds) |
356 | 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 | 359 | // Connecting, set callbacks, wait for connection |
373 | - hSession->cstate = LIB3270_PENDING; | |
360 | + lib3270_set_cstate(hSession, LIB3270_PENDING); | |
374 | 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 | 365 | trace("%s: Connection in progress",__FUNCTION__); |
380 | 366 | |
... | ... | @@ -386,7 +372,7 @@ int net_reconnect(H3270 *hSession, int seconds) |
386 | 372 | { |
387 | 373 | lib3270_main_iterate(hSession,1); |
388 | 374 | |
389 | - switch(hSession->cstate) | |
375 | + switch(hSession->connection.state) | |
390 | 376 | { |
391 | 377 | case LIB3270_PENDING: |
392 | 378 | case LIB3270_CONNECTED_INITIAL: |
... | ... | @@ -405,7 +391,7 @@ int net_reconnect(H3270 *hSession, int seconds) |
405 | 391 | return 0; |
406 | 392 | |
407 | 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 | 395 | return -1; |
410 | 396 | } |
411 | 397 | ... | ... |