static void netbios_ns_discover_on_entry_added( void *p_opaque, netbios_ns_entry *p_entry ) { services_discovery_t *p_sd = (services_discovery_t *)p_opaque; char type = netbios_ns_entry_type( p_entry ); if( type == NETBIOS_FILESERVER ) { input_item_t *p_item; char *psz_mrl; const char *name = netbios_ns_entry_name( p_entry ); if( asprintf(&psz_mrl, "smb://%s", name) < 0 ) return; p_item = input_item_NewWithTypeExt( psz_mrl, name, 0, NULL, 0, -1, ITEM_TYPE_DIRECTORY, 1 ); msg_Dbg( p_sd, "Adding item %s", psz_mrl ); free(psz_mrl); entry_item_append( p_sd, p_entry, p_item ); vlc_gc_decref( p_item ); } }
static void print_entry(const char *what, void *p_opaque, netbios_ns_entry *entry) { struct in_addr addr; addr.s_addr = netbios_ns_entry_ip(entry); printf("%s(%p): Ip: %s, name: %s/%s<%x>\n", what, p_opaque, inet_ntoa(addr), netbios_ns_entry_group(entry), netbios_ns_entry_name(entry), netbios_ns_entry_type(entry)); }