当前位置: 首页>>代码示例>>C++>>正文


C++ print_ip函数代码示例

本文整理汇总了C++中print_ip函数的典型用法代码示例。如果您正苦于以下问题:C++ print_ip函数的具体用法?C++ print_ip怎么用?C++ print_ip使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了print_ip函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的print_ip函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。