site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com + (NSArray *) currentIP4Addresses { // http://cocoa.mamasam.com/COCOADEV/2001/11/2/18325.php NSMutableArray * addresses; SCDynamicStoreRef dynRef=SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Whatever you want", NULL, NULL); // Get all available interfaces IPv4 addresses NSArray *interfaceList=(NSArray *) SCDynamicStoreCopyKeyList(dynRef,(CFStringRef)@"State:/Network/Service/..*/IPv4"); NSEnumerator *interfaceEnumerator=[interfaceList objectEnumerator]; addresses = [NSMutableArray arrayWithCapacity:[interfaceList count]]; NSString *interface; while(interface=[interfaceEnumerator nextObject]) { NSDictionary *interfaceEntry=(NSDictionary *)SCDynamicStoreCopyValue(dynRef,(CFStringRef)interface); NSString * interfaceName = [interfaceEntry objectForKey:kInterfaceNameKey]; NSArray *adList=[interfaceEntry objectForKey:kAddressesKey]; [addresses addObject: [NSDictionary dictionaryWithObjectsAndKeys: interfaceName, kInterfaceNameKey, adList, kAddressesKey, nil]]; NSLog(@"%@ -> addresses: %@",interfaceName, adList); [interfaceEntry release]; // must be released } [interfaceList release]; // must be released return [NSArray arrayWithArray:addresses]; }