-------------------------------------------------------------------------*\ * "Disconnects" a DGRAM socket \*-------------------------------------------------------------------------*/
| 363 | * "Disconnects" a DGRAM socket |
| 364 | \*-------------------------------------------------------------------------*/ |
| 365 | const char *inet_trydisconnect(p_socket ps, int family, p_timeout tm) |
| 366 | { |
| 367 | switch (family) { |
| 368 | case AF_INET: { |
| 369 | struct sockaddr_in sin; |
| 370 | memset((char *) &sin, 0, sizeof(sin)); |
| 371 | sin.sin_family = AF_UNSPEC; |
| 372 | sin.sin_addr.s_addr = INADDR_ANY; |
| 373 | return socket_strerror(socket_connect(ps, (SA *) &sin, |
| 374 | sizeof(sin), tm)); |
| 375 | } |
| 376 | case AF_INET6: { |
| 377 | struct sockaddr_in6 sin6; |
| 378 | struct in6_addr addrany = IN6ADDR_ANY_INIT; |
| 379 | memset((char *) &sin6, 0, sizeof(sin6)); |
| 380 | sin6.sin6_family = AF_UNSPEC; |
| 381 | sin6.sin6_addr = addrany; |
| 382 | return socket_strerror(socket_connect(ps, (SA *) &sin6, |
| 383 | sizeof(sin6), tm)); |
| 384 | } |
| 385 | } |
| 386 | return NULL; |
| 387 | } |
| 388 | |
| 389 | /*-------------------------------------------------------------------------*\ |
| 390 | * Tries to connect to remote address (address, port) |
no test coverage detected