本文整理汇总了C++中print_ip函数的典型用法代码示例。如果您正苦于以下问题:C++ print_ip函数的具体用法?C++ print_ip怎么用?C++ print_ip使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了print_ip函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: get_route_entry
bool get_route_entry(uint32_t network, uint32_t dest_ip,
char *interface, uint32_t *mask, uint32_t *next_hop,
uint32_t *metric) {
router_entry *rentry = (router_entry*)find_entry(network);
if (rentry == NULL) {
printf("ROUTER: This should never happen\n");
exit(1);
}
if ( (dest_ip & rentry->mask) != rentry->network ) {
return false;
}
if (DEBUG) {
uint32_t result_and = dest_ip & rentry->mask;
printf("\n ANDED = ");
print_ip(result_and);
printf("\n Debug route: Dest ip: ");
print_ip(dest_ip);
printf(" Network ip : ");
print_ip(network);
printf("\n");
}
*mask = rentry->mask;
*next_hop = rentry->next_hop;
*metric = rentry->metric;
strcpy(interface, rentry->interface);
return true;
}
开发者ID:BisariaLove,项目名称:CROUTER,代码行数:33,代码来源:route_table.c
示例2: parse_arp
static void parse_arp(arp_hdr *a)
{
char mac1[macbuf_size];
char mac2[macbuf_size];
char ip1[ipbuf_size];
char ip2[ipbuf_size];
print_mac(mac1, &a->snd_hw_addr);
print_mac(mac2, &a->target_hw_addr);
print_ip(ip1, &a->snd_prot_addr);
print_ip(ip2, &a->target_prot_addr);
if (PA_ARP) {
switch(ntohs(a->op))
{
case arp_op_request:
printf(" REQ from %s (%s) for %s\n", mac1, ip1, ip2);
break;
case arp_op_reply:
printf(" REPLY from %s (%s), target = %s (%s)\n",
mac1, ip1, mac2, ip2);
break;
case arp_op_rarp_request:
printf(" RARP REQ from %s (%s) for %s\n", mac1, ip1, ip2);
break;
case arp_op_rarp_reply:
printf(" RARP REPLY from %s (%s), target = %s (%s)\n",
mac1, ip1, mac2, ip2);
break;
}
}
}
开发者ID:duli2888,项目名称:company_testwork,代码行数:32,代码来源:analyze.c
示例3: packet_in
void packet_in(uint8_t *data, uint16_t size)
{
FullPacket p;
/* print_packet(data, size);*/
proto_eth_demangle(&p.eth, data);
printf("Eth received\r\n");
if (!MAC_ADDR_EQUAL(p.eth.dst.addr, _bmac) && !MAC_ADDR_EQUAL(p.eth.dst.addr, simple_net_get_mac()))
return;
if (p.eth.type != PROTO_IP)
return;
proto_ip_demangle(&p.ip, data + IP_OFFSET);
printf("IP received\r\n");
printf("Src: ");
print_ip(p.ip.src_addr);
printf("\r\nDst: ");
print_ip(p.ip.dst_addr);
printf("\r\n");
if (p.ip.protocol != PROTO_UDP)
return;
proto_udp_demangle(&p.udp, data + UDP_OFFSET);
printf("UDP received %d %d\r\n", p.udp.src_port, p.udp.dst_port);
if (p.udp.dst_port != DHCP_CLIENT_PORT || p.udp.src_port != DHCP_SERVER_PORT)
return;
printf("Received DHCP packet\r\n");
proto_dhcp_demangle(&p.dhcp, data + DHCP_OFFSET);
dhcp_process_packet(&p);
}
开发者ID:Tikiwinkie,项目名称:PJE,代码行数:35,代码来源:main.c
示例4: dsr_ack_opt_recv
int NSCLASS dsr_ack_opt_recv(struct dsr_ack_opt *ack)
{
unsigned short id;
struct in_addr dst, src, myaddr;
int n;
if (!ack)
return DSR_PKT_ERROR;
myaddr = my_addr();
dst.s_addr = ack->dst;
src.s_addr = ack->src;
id = ntohs(ack->id);
LOG_DBG("ACK dst=%s src=%s id=%u\n", print_ip(dst), print_ip(src), id);
if (dst.s_addr != myaddr.s_addr)
return DSR_PKT_ERROR;
/* Purge packets buffered for this next hop */
n = maint_buf_del_all_id(src, id);
LOG_DBG("Removed %d packets from maint buf\n", n);
return DSR_PKT_NONE;
}
开发者ID:TRDHung,项目名称:dsr-uu,代码行数:27,代码来源:dsr-ack.c
示例5: print_ip_settings
void
print_ip_settings(struct ip_addr *ip, struct ip_addr *mask, struct ip_addr *gw)
{
print_ip("Board IP: ", ip);
print_ip("Netmask : ", mask);
print_ip("Gateway : ", gw);
}
开发者ID:Malutan,项目名称:TE060X-GigaBee-Reference-Designs,代码行数:7,代码来源:main.c
示例6: mk_new_net
struct net* mk_new_net(struct ip_addr* ip, struct ip_addr* mask)
{
struct net* n;
int warning;
int r;
warning=0;
if ((ip->af != mask->af) || (ip->len != mask->len)){
LM_CRIT("trying to use a different mask family"
" (eg. ipv4/ipv6mask or ipv6/ipv4mask)\n");
goto error;
}
n=(struct net*)pkg_malloc(sizeof(struct net));
if (n==0){
LM_CRIT("memory allocation failure\n");
goto error;
}
n->ip=*ip;
n->mask=*mask;
for (r=0; r<n->ip.len/4; r++) { /*ipv4 & ipv6 addresses are multiple of 4*/
n->ip.u.addr32[r] &= n->mask.u.addr32[r];
if (n->ip.u.addr32[r]!=ip->u.addr32[r]) warning=1;
};
if (warning){
LM_WARN("invalid network address/netmask "
"combination fixed...\n");
print_ip("original network address:", ip, "/");
print_ip("", mask, "\n");
print_ip("fixed network address:", &(n->ip), "/");
print_ip("", &(n->mask), "\n");
};
return n;
error:
return 0;
}
开发者ID:alezzandro,项目名称:kamailio,代码行数:35,代码来源:ip_addr.c
示例7: print_net
void print_net(struct net* net)
{
if (net==0){
LOG(L_WARN, "ERROR: print net: null pointer\n");
return;
}
print_ip("", &net->ip, "/"); print_ip("", &net->mask, "");
}
开发者ID:BackupTheBerlios,项目名称:ser,代码行数:8,代码来源:ip_addr.c
示例8: print_net
void print_net(struct net* net)
{
if (net==0){
LM_WARN("null pointer\n");
return;
}
print_ip("", &net->ip, "/"); print_ip("", &net->mask, "");
}
开发者ID:alezzandro,项目名称:kamailio,代码行数:8,代码来源:ip_addr.c
示例9: __forwarding_table_show_a
void __forwarding_table_show_a(uint32_t subnet, uint32_t mask, uint32_t next_hop,
char * interface, void * userdata, int * finished)
{
print_t print = (print_t)userdata;
print_ip(subnet,print);print("\t");
print_ip(mask,print);print("\t");
print_ip(next_hop,print);print("\t");
print("%s\n",interface);
}
开发者ID:alexanderkatovsky,项目名称:bir,代码行数:10,代码来源:forwarding_table.c
示例10: border_printNodes
void border_printNodes(struct ip_list *list) {
printf("Im Netz verfügbare Knoten:\n");
int i;
for (i = 0; i < size_ip(list); i++) {
printf("%d: ", i);
print_ip(get_ip(list, i));
uint8_t *tmp = get_via(list, i);
if (tmp != NULL) {
printf(" via ");
print_ip(tmp);
}
printf("\n");
}
}
开发者ID:SmallLars,项目名称:ba-codtls,代码行数:14,代码来源:border_com.c
示例11: standby_display
//*******************************************************************************************
//
// Function : standby_display
// Description : display board status such as AVR ip, server ip, countdown time, temparature
//
//*******************************************************************************************
void standby_display ( void )
{
BYTE generic_buf[64];
// update lcd display flag not set, exit from function
if ( flag1.bits.update_display == 0 )
return;
flag1.bits.update_display = 0;
// lcd display is displaying other information, wait until busy flag clear
if ( flag1.bits.lcd_busy )
return;
// now displaying menu information, wait until exit from menu
if ( menu_index )
return;
// display status on lcd line 1
lcd_putc ( '\f' );
lcd_print ( (BYTE*)standby_list[ standby_cursor - 1 ] );
// display status devices on lcd line 2
lcd_putc ( '\n' );
if ( standby_cursor == 1 )
{
print_devices (generic_buf,ind_device_cur);
}
// display avr ip
if ( standby_cursor == 2 )
{
print_ip ( generic_buf, (BYTE*)&avr_ip, 0 );
}
// display server ip
else if ( standby_cursor == 3 )
{
print_ip ( generic_buf, (BYTE*)&server_ip, 0 );
}
// display countdown timer
else if ( standby_cursor == 4 )
{
print_time ( generic_buf, count_time, 0 );
}
// display current temparature
else if ( standby_cursor == 5 )
{
print_temp ( generic_buf );
}
lcd_print ( generic_buf );
}
开发者ID:quahansudung,项目名称:AVRnet_RF_Smarthome,代码行数:54,代码来源:menu.c
示例12: display_menu
//*******************************************************************************************
//
// Function : display_menu
// Description : display LCD user interface menu on LCD
//
//*******************************************************************************************
void display_menu(void)
{
BYTE generic_buf[64];
if( menu_index == 0)
return;
// display menu title on lcd first line
lcd_putc( '\f' );
lcd_print ( (BYTE *)menu_list[ menu_index - 1 ] );
// display menu detail on lcd second line
lcd_putc( '\n' );
if( menu_index == 1 )//MENU_MAIN)
{
lcd_print( (BYTE *)menu_list[ submenu_index ] );
}
// setup avr ip address
else if( menu_index == 2 )
{
print_ip ( generic_buf, (BYTE*)&avr_ip, setting_cursor+1 );
lcd_print ( generic_buf );
}
// setup server ip address
else if(menu_index == 3 )
{
print_ip ( generic_buf, (BYTE*)&server_ip, setting_cursor+1 );
lcd_print ( generic_buf );
}
// setup countdown timer for send temparature
else if ( menu_index == 4 )
{
print_time ( generic_buf, count_time, setting_cursor+1 );
lcd_print ( generic_buf );
}
// ping server
else if ( menu_index == 5 )
{
print_ip ( generic_buf, (BYTE*)&server_ip, 1 );
lcd_print ( generic_buf );
}
// send temparature now
//else if ( menu_index == 6 )
//{
// lcd_put ( ASCII_CURSOR );
// lcd_print_p ( PSTR ( "OK" ) );
//}
}
开发者ID:freecores,项目名称:turbo8051,代码行数:54,代码来源:menu.c
示例13: kaodv_netlink_receive_peer
static int kaodv_netlink_receive_peer(unsigned char type, void *msg,
unsigned int len)
{
int ret = 0;
struct kaodv_rt_msg *m;
struct kaodv_conf_msg *cm;
struct expl_entry e;
KAODV_DEBUG("Received msg: %s", kaodv_msg_type_to_str(type));
switch (type) {
case KAODVM_ADDROUTE:
if (len < sizeof(struct kaodv_rt_msg))
return -EINVAL;
m = (struct kaodv_rt_msg *)msg;
ret = kaodv_expl_get(m->dst, &e);
if (ret > 0) {
ret = kaodv_expl_update(m->dst, m->nhop, m->time,
m->flags, m->ifindex);
} else {
ret = kaodv_expl_add(m->dst, m->nhop, m->time,
m->flags, m->ifindex);
}
printk(KERN_DEBUG "kaodv: KAODVM_ADDROUTE!\n");
kaodv_queue_set_verdict(KAODV_QUEUE_SEND, m->dst);
break;
case KAODVM_DELROUTE:
if (len < sizeof(struct kaodv_rt_msg))
return -EINVAL;
m = (struct kaodv_rt_msg *)msg;
kaodv_expl_del(m->dst);
kaodv_queue_set_verdict(KAODV_QUEUE_DROP, m->dst);
break;
case KAODVM_NOROUTE_FOUND:
if (len < sizeof(struct kaodv_rt_msg))
return -EINVAL;
m = (struct kaodv_rt_msg *)msg;
KAODV_DEBUG("No route found for %s", print_ip(m->dst));
kaodv_queue_set_verdict(KAODV_QUEUE_DROP, m->dst);
break;
case KAODVM_CONFIG:
if (len < sizeof(struct kaodv_conf_msg))
return -EINVAL;
cm = (struct kaodv_conf_msg *)msg;
active_route_timeout = cm->active_route_timeout;
qual_th = cm->qual_th;
is_gateway = cm->is_gateway;
break;
default:
printk("kaodv-netlink: Unknown message type\n");
ret = -EINVAL;
}
return ret;
}
开发者ID:azhgul,项目名称:AODV-1,代码行数:60,代码来源:kaodv-netlink.c
示例14: add_route
void add_route(device *dev, int family, unsigned char *ip)
{
unsigned int i, len = (family == AF_INET ? IP_ADDR_LEN : IP6_ADDR_LEN);
for (i = 0; i < dev->route_cnt; i++)
if ((dev->route[i].family == family) &&
!memcmp(dev->route[i].peer, ip, len)) {
dev->route[i].peer_time = time(NULL);
return; /* already added */
}
if (i == MAX_ADDRESSES) {
print_dbg(1, "Too many peer IP addresses on device %s\n",
dev->name);
return;
}
printf("Device %s peer IP is ", dev->name);
print_ip(family, ip);
putchar('\n');
dev->route[dev->route_cnt].family = family;
memcpy(dev->route[dev->route_cnt].peer, ip, len);
dev->route[dev->route_cnt++].peer_time = time(NULL);
}
开发者ID:ago,项目名称:inarp,代码行数:25,代码来源:inarpd.c
示例15: dsr_hw_header_create
int dsr_hw_header_create(struct dsr_pkt *dp, struct sk_buff *skb)
{
struct sockaddr broadcast =
{ AF_UNSPEC, {0xff, 0xff, 0xff, 0xff, 0xff, 0xff} };
struct neighbor_info neigh_info;
if (dp->dst.s_addr == DSR_BROADCAST)
memcpy(neigh_info.hw_addr.sa_data, broadcast.sa_data, ETH_ALEN);
else {
/* Get hardware destination address */
if (neigh_tbl_query(dp->nxt_hop, &neigh_info) < 0) {
DEBUG
("Could not get hardware address for next hop %s\n",
print_ip(dp->nxt_hop));
return -1;
}
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
if (skb->dev->hard_header) {
skb->dev->hard_header(skb, skb->dev, ETH_P_IP,
neigh_info.hw_addr.sa_data, 0, skb->len);
} else {
DEBUG("Missing hard_header\n");
return -1;
}
#else
dev_hard_header(skb, skb->dev, ETH_P_IP,
neigh_info.hw_addr.sa_data, 0, skb->len);
#endif
return 0;
}
开发者ID:chyileon,项目名称:iie_leon,代码行数:33,代码来源:dsr-dev.c
示例16: expire_routes
void expire_routes(void)
{
device *dev = first;
while (dev) {
if (dev->active && dev->add_route) {
unsigned int i = 0;
while (i < dev->route_cnt) {
if (time(NULL) - dev->route[i].peer_time >
INARP_TIMEOUT) {
printf("Device %s peer ", dev->name);
print_ip(dev->route[i].family,
dev->route[i].peer);
printf(" is no longer active\n");
dev->route_cnt--;
memcpy(&dev->route[i],
&dev->route[i + 1],
(MAX_ADDRESSES - i - 1) *
sizeof(route_t));
continue;
}
i++;
}
}
dev = dev->next;
}
}
开发者ID:ago,项目名称:inarp,代码行数:26,代码来源:inarpd.c
示例17: cmd_ping
static void cmd_ping(BaseSequentialStream *chp, int argc, char *argv[])
{
uint32_t remoteHostIp;
(void)argv;
if (argc != 1)
{
chprintf(chp, "Usage:\r\n");
chprintf(chp, "ping <hostname>\r\n");
return;
}
chprintf(chp,"Looking up IP of %s...\r\n", argv[0]);
gethostbyname(argv[0], strlen(argv[0]), &remoteHostIp);
chprintf(chp,"Pinging...", NULL); print_ip(chp, (const char *) &remoteHostIp);
remoteHostIp = htonl(remoteHostIp);
memset((void *)&cc3000AsyncData.ping, 0, sizeof(cc3000AsyncData.ping));
netapp_ping_send(&remoteHostIp, 3, 10, 3000);
while (cc3000AsyncData.ping.present != TRUE)
{
chThdSleep(MS2ST(100));
}
chprintf(chp,"--Ping Results--:\r\n", NULL);
chprintf(chp,"Number of Packets Sent: %u\r\n", cc3000AsyncData.ping.report.packets_sent);
chprintf(chp,"Number of Packet Received: %u\r\n", cc3000AsyncData.ping.report.packets_received);
chprintf(chp,"Min Round Time: %u\r\n", cc3000AsyncData.ping.report.min_round_time);
chprintf(chp,"Max Round Time: %u\r\n", cc3000AsyncData.ping.report.max_round_time);
chprintf(chp,"Avg Round Time: %u\r\n", cc3000AsyncData.ping.report.avg_round_time);
chprintf(chp,"--End of Ping Results--\r\n", NULL);
}
开发者ID:vpcola,项目名称:NucleoCC3K,代码行数:33,代码来源:main.cpp
示例18: dhcp_process_packet
void dhcp_process_packet(FullPacket *p)
{
DhcpHead *dhcp = &p->dhcp;
uint8_t *current = dhcp->options + 4;
for ( ; current <= dhcp->options + 64 && *current != OPTION_END; current += current[1]+2 /* 2 == size of code + len */)
{
if (*current != OPTION_DHCP_MESSAGE_TYPE)
continue;
switch(current[2])
{
case DHCPOFFER:
printf("DHCPOFFER ip: ");
print_ip(dhcp->yiaddr);
printf("\r\n");
dhcp_request(p);
return;
case DHCPACK:
printf("ACK Received\r\n");
dhcp_handle_ack(p);
return;
default:
break;
}
}
}
开发者ID:Tikiwinkie,项目名称:PJE,代码行数:26,代码来源:main.c
示例19: parse_dhcp_clnt
static void parse_dhcp_clnt(dhcp *d)
{
char ip1[ipbuf_size];
char ip2[ipbuf_size];
char ip3[ipbuf_size];
char ip4[ipbuf_size];
print_ip(ip1, &d->clnt_addr);
print_ip(ip2, &d->your_addr);
print_ip(ip3, &d->server_addr);
print_ip(ip4, &d->gateway_addr);
printf(" [DHCP/Clnt] op %x ", d->op);
printf("CLNT %s YOUR %s\n", ip1, ip2);
printf(" SRV %s GW %s\n", ip3, ip4);
}
开发者ID:duli2888,项目名称:company_testwork,代码行数:16,代码来源:analyze.c
示例20: do_ip
void do_ip( char * data )
{
global.packet_ip ++;
struct iphdr *pip;
pip = ( struct iphdr * ) data; /* pip = point to ip layer */
if( global.print_flag_ip )
print_ip( pip );
char * pdata = data + pip->ihl * 4;
switch( pip->protocol ){
case IPPROTO_ICMP:
do_icmp( pdata );
break;
case IPPROTO_IGMP:
do_igmp( pdata );
break;
case IPPROTO_TCP:
do_tcp( pdata );
break;
case IPPROTO_UDP:
do_udp( pdata );
break;
default:
printf("IP: 未知其上层协议.\n");
break;
}
}
开发者ID:kellyhou,项目名称:ClientServer,代码行数:29,代码来源:capture_packet.c
注:本文中的print_ip函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论