| 438 | |
| 439 | #ifdef WIN32 |
| 440 | PIP_ADAPTER_ADDRESSES getAdapterAddresses() { |
| 441 | DWORD rv, size; |
| 442 | PIP_ADAPTER_ADDRESSES adapter_addresses; |
| 443 | |
| 444 | rv = GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_INCLUDE_PREFIX, NULL, NULL, &size); |
| 445 | if (rv != ERROR_BUFFER_OVERFLOW) { |
| 446 | fprintf(stderr, "GetAdaptersAddresses() failed..."); |
| 447 | return nullptr; |
| 448 | } |
| 449 | adapter_addresses = (PIP_ADAPTER_ADDRESSES)malloc(size); |
| 450 | |
| 451 | rv = GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_INCLUDE_PREFIX, NULL, adapter_addresses, &size); |
| 452 | if (rv != ERROR_SUCCESS) { |
| 453 | fprintf(stderr, "GetAdaptersAddresses() failed..."); |
| 454 | free(adapter_addresses); |
| 455 | return nullptr; |
| 456 | } |
| 457 | return adapter_addresses; |
| 458 | } |
| 459 | |
| 460 | PIP_ADAPTER_ADDRESSES getAdapterAddress(const BString& name) { |
| 461 | static PIP_ADAPTER_ADDRESSES addresses; |
no outgoing calls
no test coverage detected