static void convert_ns_addr_to_mbed(SocketAddress *s_addr, const ns_address_t *ns_addr) { char str[40]; ip6tos(ns_addr->address, str); s_addr->set_port(ns_addr->identifier); s_addr->set_ip_address(str); }
void CDeviceDlg::OnLbnSelchangeListDevice() { // TODO: 在此添加控件通知处理程序代码 pcap_if_t* alldevs=finddevs(); pcap_if_t* d=NULL; CString nicDes,strInfo; int index=m_lstDev.GetCurSel(); if (index>=0) { m_lstDev.GetText(index,nicDes); } for(d = alldevs; d != NULL; d = d->next) { if (nicDes==CString(d->description)) { m_curNIC=CString(d->name); strInfo=CString(d->name); strInfo+=CString(L"\r\n\r\nDescription: ")+CString(d->description); strInfo+=CString(L"\r\nLoopback: ")+CString((d->flags & PCAP_IF_LOOPBACK)?"yes":"no"); for(pcap_addr_t *a=d->addresses;a;a=a->next) { char ip6str[128]; CString temp; temp.Format(L"\r\nAddress Family: #%d",a->addr->sa_family); strInfo+=temp; switch(a->addr->sa_family) { case AF_INET: strInfo+=CString(L"\r\nAddress Family Name: AF_INET"); if (a->addr) strInfo+=CString(L"\r\nAddress: ")+CString(iptos(((struct sockaddr_in *)a->addr)->sin_addr.s_addr)); if (a->netmask) strInfo+=CString(L"\r\nNetmask: ")+CString(iptos(((struct sockaddr_in *)a->netmask)->sin_addr.s_addr)); if (a->broadaddr) strInfo+=CString(L"\r\nBroadcast Address: ")+CString(iptos(((struct sockaddr_in *)a->broadaddr)->sin_addr.s_addr)); if (a->dstaddr) strInfo+=CString(L"\r\nDestination Address: ")+CString(iptos(((struct sockaddr_in *)a->dstaddr)->sin_addr.s_addr)); break; case AF_INET6: strInfo+=CString(L"\r\nAddress Family Name: AF_INET6"); if (a->addr) strInfo+=CString(L"\r\nAddress: ")+CString(ip6tos(a->addr, ip6str, sizeof(ip6str))); break; default: strInfo+=CString(L"\r\nAddress Family Name: Unknown"); break; } } m_txtDevInfo.SetWindowText(strInfo); break; } } if (alldevs) { pcap_freealldevs(alldevs); } }
char *Nanostack::Interface::get_ip_address(char *buf, nsapi_size_t buflen) { NanostackLockGuard lock; uint8_t binary_ipv6[16]; if (buflen >= 40 && arm_net_address_get(interface_id, ADDR_IPV6_GP, binary_ipv6) == 0) { ip6tos(binary_ipv6, buf); return buf; } else { return NULL; } }
/* Public functions */ int8_t nd_tasklet_get_router_ip_address(char *address, int8_t len) { network_layer_address_s nd_address; if ((len >= 40) && (0 == arm_nwk_nd_address_read( tasklet_data_ptr->network_interface_id, &nd_address))) { ip6tos(nd_address.border_router, address); //tr_debug("Router IP address: %s", address); return 0; } else { return -1; } }
int8_t thread_tasklet_get_ip_address(char *address, int8_t len) { uint8_t binary_ipv6[16]; if ((len >= 40) && (0 == arm_net_address_get( thread_tasklet_data_ptr->nwk_if_id, ADDR_IPV6_GP, binary_ipv6))) { ip6tos(binary_ipv6, address); //tr_debug("IP address: %s", address); return 0; } else { return -1; } }
/* Print all the available information on the given interface */ void ifprint(pcap_if_t *d) { pcap_addr_t *a; char ip6str[128]; /* Name */ printf("%s\n",d->name); /* Description */ if (d->description) printf("\tDescription: %s\n",d->description); /* Loopback Address*/ printf("\tLoopback: %s\n",(d->flags & PCAP_IF_LOOPBACK)?"yes":"no"); /* IP addresses */ for(a=d->addresses;a;a=a->next) { printf("\tAddress Family: #%d\n",a->addr->sa_family); switch(a->addr->sa_family) { case AF_INET: printf("\tAddress Family Name: AF_INET\n"); if (a->addr) printf("\tAddress: %s\n",iptos(((struct sockaddr_in *)a->addr)->sin_addr.s_addr)); if (a->netmask) printf("\tNetmask: %s\n",iptos(((struct sockaddr_in *)a->netmask)->sin_addr.s_addr)); if (a->broadaddr) printf("\tBroadcast Address: %s\n",iptos(((struct sockaddr_in *)a->broadaddr)->sin_addr.s_addr)); if (a->dstaddr) printf("\tDestination Address: %s\n",iptos(((struct sockaddr_in *)a->dstaddr)->sin_addr.s_addr)); break; case AF_INET6: printf("\tAddress Family Name: AF_INET6\n"); #ifndef __MINGW32__ /* Cygnus doesn't have IPv6 */ if (a->addr) printf("\tAddress: %s\n", ip6tos(a->addr, ip6str, sizeof(ip6str))); #endif break; default: printf("\tAddress Family Name: Unknown\n"); break; } } printf("\n"); }
const char * NanostackInterface::get_ip_address() { NanostackLockGuard lock; for (int if_id = 1; if_id <= 127; if_id++) { uint8_t address[16]; int ret = arm_net_address_get(if_id, ADDR_IPV6_GP, address); if (ret == 0) { ip6tos(address, text_ip_address); return text_ip_address; } } // Must result a valid IPv6 address // For gethostbyname() to detect IP version. return "::"; }