• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ print_ip函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ print_key函数代码示例发布时间:2022-05-30
下一篇:
C++ print_int函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap