Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <dnsapi.h>
VOID PrintIpAddress ( IN DWORD dwIpAddress );
_cdecl main(int argc, char **argv) { DWORD iter; DWORD Count; PIP_ARRAY pIpAddresses = NULL;
printf( "Get the local IP address list\n" );
Count = DnsGetIpAddressList( &pIpAddresses );
if ( Count && pIpAddresses ) { printf( "\n Ip Addresses :\n" );
for ( iter = 0; iter < pIpAddresses->cAddrCount; iter++ ) { printf( " (%d) \t", iter+1 ); PrintIpAddress( pIpAddresses->aipAddrs[iter] ); }
LocalFree( pIpAddresses ); } else { printf( "\n No Ip Addresses found.\n" ); }
printf( "\n\nGet the local DNS server list\n" );
Count = DnsGetDnsServerList( &pIpAddresses );
if ( Count && pIpAddresses ) { printf( "\n Ip Addresses :\n" );
for ( iter = 0; iter < pIpAddresses->cAddrCount; iter++ ) { printf( " (%d) \t", iter+1 ); PrintIpAddress( pIpAddresses->aipAddrs[iter] ); }
LocalFree( pIpAddresses ); } else { printf( "\n No Ip Addresses found.\n" ); }
return(0); }
VOID PrintIpAddress ( IN DWORD dwIpAddress ) { printf( " %d.%d.%d.%d\n", ((BYTE *) &dwIpAddress)[0], ((BYTE *) &dwIpAddress)[1], ((BYTE *) &dwIpAddress)[2], ((BYTE *) &dwIpAddress)[3] ); }
|