这篇教程C++ uip_ds6_set_addr_iid函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中uip_ds6_set_addr_iid函数的典型用法代码示例。如果您正苦于以下问题:C++ uip_ds6_set_addr_iid函数的具体用法?C++ uip_ds6_set_addr_iid怎么用?C++ uip_ds6_set_addr_iid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了uip_ds6_set_addr_iid函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: set_global_address/*---------------------------------------------------------------------------*/static uip_ipaddr_t *set_global_address(void){ static uip_ipaddr_t ipaddr; int i; uint8_t state; /* Assign a unique local address (RFC4193, http://tools.ietf.org/html/rfc4193). */ uip_ip6addr(&ipaddr, 0xfc00, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); printf("/n"); } } return &ipaddr;}
开发者ID:ADVANSEE,项目名称:mist,代码行数:26,
示例2: set_own_addresses/*---------------------------------------------------------------------------*/static voidset_own_addresses(){ int i; uint8_t state; rpl_dag_t *dag; uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); PRINTF("Our IPv6 addresses:/n"); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { PRINTF(" "); PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr); PRINTF("/n"); if (state == ADDR_TENTATIVE) { uip_ds6_if.addr_list[i].state = ADDR_PREFERRED; } } } /* Become root of a new DODAG with ID our global v6 address */ dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &ipaddr); if(dag != NULL) { rpl_set_prefix(dag, &ipaddr, 64); PRINTF("Created a new RPL dag with ID: "); PRINT6ADDR(&dag->dag_id); PRINTF("/n"); }}
开发者ID:kfathallah,项目名称:contiki-mcast,代码行数:36,
示例3: set_ip_from_prefix/*---------------------------------------------------------------------------*/static voidset_ip_from_prefix(uip_ipaddr_t *ipaddr, rpl_prefix_t *prefix){ memset(ipaddr, 0, sizeof(uip_ipaddr_t)); memcpy(ipaddr, &prefix->prefix, (prefix->length + 7) / 8); uip_ds6_set_addr_iid(ipaddr, &uip_lladdr);}
开发者ID:jschandy,项目名称:contiki,代码行数:8,
示例4: set_global_address/*---------------------------------------------------------------------------*/static voidset_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);/* The choice of server address determines its 6LoPAN header compression. * (Our address will be compressed Mode 3 since it is derived from our link-local address) * Obviously the choice made here must also be selected in udp-server.c. * * For correct Wireshark decoding using a sniffer, add the /64 prefix to the 6LowPAN protocol preferences, * e.g. set Context 0 to aaaa::. At present Wireshark copies Context/128 and then overwrites it. * (Setting Context 0 to aaaa::1111:2222:3333:4444 will report a 16 bit compressed address of aaaa::1111:22ff:fe33:xxxx) * * Note the IPCMV6 checksum verification depends on the correct uncompressed addresses. */ #if 0/* Mode 1 - 64 bits inline */ uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1);#elif 1/* Mode 2 - 16 bits inline */ uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0, 0x00ff, 0xfe00, 1);#else/* Mode 3 - derived from server link-local (MAC) address */ uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0x0250, 0xc2ff, 0xfea8, 0xcd1a); //redbee-econotag#endif}
开发者ID:beshrns,项目名称:tsch-minimum,代码行数:32,
示例5: rpl_link_neighbor_callback/*---------------------------------------------------------------------------*/voidrpl_link_neighbor_callback(const rimeaddr_t *addr, int status, int numtx){ uip_ipaddr_t ipaddr; rpl_parent_t *parent; rpl_instance_t *instance; rpl_instance_t *end; uip_ip6addr(&ipaddr, 0xfe80, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, (uip_lladdr_t *)addr); for(instance = &instance_table[0], end = instance + RPL_MAX_INSTANCES; instance < end; ++instance) { if(instance->used == 1 ) { parent = rpl_find_parent_any_dag(instance, &ipaddr); if(parent != NULL) { /* Trigger DAG rank recalculation. */ PRINTF("RPL: rpl_link_neighbor_callback triggering update/n"); parent->updated = 1; if(instance->of->neighbor_link_callback != NULL) { instance->of->neighbor_link_callback(parent, status, numtx); } } } }}
开发者ID:1uk3,项目名称:contiki,代码行数:26,
示例6: set_global_address/*---------------------------------------------------------------------------*/static uip_ipaddr_t *set_global_address(void){ static uip_ipaddr_t ipaddr; int i; uint8_t state; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); printf("/n"); if(state == ADDR_TENTATIVE) { uip_ds6_if.addr_list[i].state = ADDR_PREFERRED; } } } return &ipaddr;}
开发者ID:lab-anaws,项目名称:lab2,代码行数:27,
示例7: set_global_addressstatic voidset_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xfd00, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);}
开发者ID:1847123212,项目名称:contiki,代码行数:8,
示例8: set_node_addressesvoidset_node_addresses(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa,0,0,0,0,0,0,0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);}
开发者ID:okoye,项目名称:Puppet-OS,代码行数:8,
示例9: set_global_address/*-----------------------------------------------------------------------*/static void set_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); /* set sink address */ uip_ip6addr(&sink_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1);}
开发者ID:RanHuang,项目名称:nick-project-contiki,代码行数:10,
示例10: set_global_addressstatic voidset_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);}
开发者ID:PureEngineering,项目名称:contiki,代码行数:9,
示例11: set_prefix_64/*---------------------------------------------------------------------------*/voidset_prefix_64(uip_ipaddr_t *prefix_64){ uip_ipaddr_t ipaddr; memcpy(&prefix, prefix_64, 16); memcpy(&ipaddr, prefix_64, 16); prefix_set = 1; uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);}
开发者ID:CaptFrank,项目名称:contiki-stm32w,代码行数:11,
示例12: uip_ds6_init/*---------------------------------------------------------------------------*/voiduip_ds6_init(void){ uip_ds6_route_init(); PRINTF("Init of IPv6 data structures/n"); PRINTF("%u neighbors/n%u default routers/n%u prefixes/n%u routes/n%u unicast addresses/n%u multicast addresses/n%u anycast addresses/n", UIP_DS6_NBR_NB, UIP_DS6_DEFRT_NB, UIP_DS6_PREFIX_NB, UIP_DS6_ROUTE_NB, UIP_DS6_ADDR_NB, UIP_DS6_MADDR_NB, UIP_DS6_AADDR_NB); memset(uip_ds6_nbr_cache, 0, sizeof(uip_ds6_nbr_cache)); // memset(uip_ds6_defrt_list, 0, sizeof(uip_ds6_defrt_list)); memset(uip_ds6_prefix_list, 0, sizeof(uip_ds6_prefix_list)); memset(&uip_ds6_if, 0, sizeof(uip_ds6_if)); // memset(uip_ds6_routing_table, 0, sizeof(uip_ds6_routing_table)); uip_ds6_addr_size = sizeof(struct uip_ds6_addr); uip_ds6_netif_addr_list_offset = offsetof(struct uip_ds6_netif, addr_list); /* Set interface parameters */ uip_ds6_if.link_mtu = UIP_LINK_MTU; uip_ds6_if.cur_hop_limit = UIP_TTL; uip_ds6_if.base_reachable_time = UIP_ND6_REACHABLE_TIME; uip_ds6_if.reachable_time = uip_ds6_compute_reachable_time(); uip_ds6_if.retrans_timer = UIP_ND6_RETRANS_TIMER; uip_ds6_if.maxdadns = UIP_ND6_DEF_MAXDADNS; /* Create link local address, prefix, multicast addresses, anycast addresses */ uip_create_linklocal_prefix(&loc_fipaddr);#if UIP_CONF_ROUTER uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0, 0, 0, 0);#else /* UIP_CONF_ROUTER */ uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0);#endif /* UIP_CONF_ROUTER */ uip_ds6_set_addr_iid(&loc_fipaddr, &uip_lladdr); uip_ds6_addr_add(&loc_fipaddr, 0, ADDR_AUTOCONF); uip_create_linklocal_allnodes_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr);#if UIP_CONF_ROUTER uip_create_linklocal_allrouters_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr);#if UIP_ND6_SEND_RA stimer_set(&uip_ds6_timer_ra, 2); /* wait to have a link local IP address */#endif /* UIP_ND6_SEND_RA */#else /* UIP_CONF_ROUTER */ etimer_set(&uip_ds6_timer_rs, random_rand() % (UIP_ND6_MAX_RTR_SOLICITATION_DELAY * CLOCK_SECOND));#endif /* UIP_CONF_ROUTER */ etimer_set(&uip_ds6_timer_periodic, UIP_DS6_PERIOD); return;}
开发者ID:chanderbgoel,项目名称:contiki,代码行数:54,
示例13: set_global_addressstatic void set_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); /*where is the uip_lladdr defined?*/ uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); /* Mode 2 - 16 bits inline */ /* Set sink address. What if more than one sink? */ uip_ip6addr(&sink_ipaddr, 0xaaaa, 0, 0, 0, 0, 0x00ff, 0xfe00, 1);}
开发者ID:RanHuang,项目名称:nick-project-contiki,代码行数:12,
示例14: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(example_servreg_server_process, ev, data){ uip_ipaddr_t ipaddr; PROCESS_BEGIN(); /* Set a global address. */ uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); servreg_hack_register(188, &ipaddr); PROCESS_END();}
开发者ID:13416795,项目名称:contiki,代码行数:15,
示例15: set_global_addressstatic voidset_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); /* set server address */ uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1); //uip_ip6addr(&server_ipaddr, 0xfe80, 0, 0, 0,0x0212, 0x7401, 1, 0x0101);}
开发者ID:alirezapourbahram,项目名称:IoT-Wormhole-IDS,代码行数:14,
示例16: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(unicast_sender_process, ev, data){ static struct etimer periodic_timer; static struct etimer send_timer; uip_ipaddr_t global_ipaddr; PROCESS_BEGIN(); printf("App: %u starting/n", node_id); uip_ip6addr(&root_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1); if(node_id == ROOT_ID) { memcpy(&global_ipaddr, &root_ipaddr, 16); uip_ds6_addr_add(&global_ipaddr, 0, ADDR_MANUAL); rpl_dag_t *dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &global_ipaddr); rpl_set_prefix(dag, &global_ipaddr, 64); } else { uip_ip6addr(&global_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&global_ipaddr, &uip_lladdr); uip_ds6_addr_add(&global_ipaddr, 0, ADDR_AUTOCONF); } orpl_init(&global_ipaddr, node_id == ROOT_ID, 1); simple_udp_register(&unicast_connection, UDP_PORT, NULL, UDP_PORT, receiver); if(node_id == ROOT_ID) { NETSTACK_RDC.off(1); } else { etimer_set(&periodic_timer, SEND_INTERVAL); while(1) { etimer_set(&send_timer, random_rand() % (SEND_INTERVAL)); PROCESS_WAIT_UNTIL(etimer_expired(&send_timer)); if(orpl_current_edc() != 0xffff) { app_send_to(ROOT_ID); } else { printf("App: not in DODAG/n"); } PROCESS_WAIT_UNTIL(etimer_expired(&periodic_timer)); etimer_reset(&periodic_timer); } } PROCESS_END();}
开发者ID:Johnyren,项目名称:orpl,代码行数:49,
示例17: net_init/*---------------------------------------------------------------------------*/static voidnet_init(uip_ipaddr_t *br_prefix){ uip_ipaddr_t global_ipaddr; if(br_prefix) { /* We are RPL root. Will be set automatically as TSCH pan coordinator via the tsch-rpl module */ memcpy(&global_ipaddr, br_prefix, 16); uip_ds6_set_addr_iid(&global_ipaddr, &uip_lladdr); uip_ds6_addr_add(&global_ipaddr, 0, ADDR_AUTOCONF); rpl_set_root(RPL_DEFAULT_INSTANCE, &global_ipaddr); rpl_set_prefix(rpl_get_any_dag(), br_prefix, 64); rpl_repair_root(RPL_DEFAULT_INSTANCE); } NETSTACK_MAC.on();}
开发者ID:matzTada,项目名称:contiki,代码行数:18,
示例18: set_prefix_64/*---------------------------------------------------------------------------*/voidset_prefix_64(uip_ipaddr_t *prefix_64){ rpl_dag_t *dag; uip_ipaddr_t ipaddr; memcpy(&prefix, prefix_64, 16); memcpy(&ipaddr, prefix_64, 16); prefix_set = 1; uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &ipaddr); if(dag != NULL) { rpl_set_prefix(dag, &prefix, 64); PRINTF("created a new RPL dag/n"); }}
开发者ID:jamella,项目名称:MyRepository,代码行数:18,
示例19: rpl_link_neighbor_callbackstatic voidrpl_link_neighbor_callback(const rimeaddr_t *addr, int known, int etx){ uip_ipaddr_t ipaddr; rpl_dag_t *dag; rpl_parent_t *parent; uip_ip6addr(&ipaddr, 0xfe80, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, (uip_lladdr_t *)addr); PRINTF("RPL: Neighbor "); PRINT6ADDR(&ipaddr); PRINTF(" is %sknown. ETX = %u/n", known ? "" : "no longer ", NEIGHBOR_INFO_FIX2ETX(etx)); dag = rpl_get_dag(RPL_DEFAULT_INSTANCE); if(dag == NULL) { return; } parent = rpl_find_parent(dag, &ipaddr); if(parent == NULL) { if(!known) { PRINTF("RPL: Deleting routes installed by DAOs received from "); PRINT6ADDR(&ipaddr); PRINTF("/n"); uip_ds6_route_rm_by_nexthop(&ipaddr); } return; } /* Trigger DAG rank recalculation. */ parent->updated = 1; parent->link_metric = etx; if(dag->of->parent_state_callback != NULL) { dag->of->parent_state_callback(parent, known, etx); } if(!known) { PRINTF("RPL: Removing parent "); PRINT6ADDR(&parent->addr); PRINTF(" because of bad connectivity (ETX %d)/n", etx); parent->rank = INFINITE_RANK; }}
开发者ID:lepton-distribution,项目名称:lepton,代码行数:45,
示例20: start_uip6static voidstart_uip6(void){ NETSTACK_NETWORK.init();#ifndef WITH_SLIP_RADIO process_start(&tcpip_process, NULL);#else#if WITH_SLIP_RADIO == 0 process_start(&tcpip_process, NULL);#endif#endif /* WITH_SLIP_RADIO */#if DEBUG PRINTF("Tentative link-local IPv6 address "); { uip_ds6_addr_t *lladdr; int i; lladdr = uip_ds6_get_link_local(-1); for(i = 0; i < 7; ++i) { PRINTF("%02x%02x:", lladdr->ipaddr.u8[i * 2], lladdr->ipaddr.u8[i * 2 + 1]); /* make it hardcoded... */ } lladdr->state = ADDR_AUTOCONF; PRINTF("%02x%02x/n", lladdr->ipaddr.u8[14], lladdr->ipaddr.u8[15]); }#endif /* DEBUG */ if(!UIP_CONF_IPV6_RPL) { uip_ipaddr_t ipaddr; int i; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_TENTATIVE); PRINTF("Tentative global IPv6 address "); for(i = 0; i < 7; ++i) { PRINTF("%02x%02x:", ipaddr.u8[i * 2], ipaddr.u8[i * 2 + 1]); } PRINTF("%02x%02x/n", ipaddr.u8[7 * 2], ipaddr.u8[7 * 2 + 1]); }}
开发者ID:rfuentess,项目名称:contiki,代码行数:45,
示例21: set_prefix_64/* Set our prefix when we receive one over SLIP */voidset_prefix_64(uip_ipaddr_t *prefix_64) { rpl_dag_t *dag; uip_ipaddr_t ipaddr; memcpy(&ipaddr, prefix_64, 16); prefix_set = 1; uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); /* Become root of a new DODAG with ID our global v6 address */ dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &ipaddr); if(dag != NULL) { rpl_set_prefix(dag, &ipaddr, 64); PRINTF("Created a new RPL dag with ID: "); PRINT6ADDR(&dag->dag_id); PRINTF("/n"); }}
开发者ID:GDanii,项目名称:contiki-mirror-MICAz-IPv6,代码行数:19,
示例22: set_global_address/*---------------------------------------------------------------------------*/static voidset_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); #if 0 uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1);#elif 1 uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0, 0x00ff, 0xfe00, 1);#else/* Mode 3 - derived from server link-local (MAC) address */ uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0x0250, 0xc2ff, 0xfea8, 0xcd1a); //redbee-econotag#endif}
开发者ID:PseudoAj,项目名称:IoTCodeRecipes,代码行数:19,
示例23: init_netvoidinit_net(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); /* load the mac address */ memcpy(uip_lladdr.addr, ieee_get_mac(), sizeof(uip_lladdr.addr));#if UIP_CONF_ROUTER uip_ds6_prefix_add(&ipaddr, UIP_DEFAULT_PREFIX_LEN, 0, 0, 0, 0);#else /* UIP_CONF_ROUTER */ uip_ds6_prefix_add(&ipaddr, UIP_DEFAULT_PREFIX_LEN, 0);#endif /* UIP_CONF_ROUTER */ uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); netstack_init();}
开发者ID:hopfgarten,项目名称:contiki-jn51xx,代码行数:19,
示例24: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(ipv6_process, ev, data){ PROCESS_BEGIN(); // Set the local address uip_ip6addr(&my_addr, 0, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&my_addr, &uip_lladdr); uip_ds6_addr_add(&my_addr, 0, ADDR_MANUAL); // Setup the destination address uiplib_ipaddrconv(RECEIVER_ADDR, &dest_addr); // Add a "neighbor" for our custom route // Setup the default broadcast route uiplib_ipaddrconv(ADDR_ALL_ROUTERS, &bcast_ipaddr); uip_ds6_nbr_add(&bcast_ipaddr, &bcast_lladdr, 0, NBR_REACHABLE); uip_ds6_route_add(&dest_addr, 128, &bcast_ipaddr); // Setup a udp "connection" client_conn = udp_new(&dest_addr, UIP_HTONS(RECEIVER_PORT), NULL); if (client_conn == NULL) { // Too many udp connections // not sure how to exit...stupid contiki } udp_bind(client_conn, UIP_HTONS(3001)); etimer_set(&periodic_timer, 10*CLOCK_SECOND); while(1) { PROCESS_YIELD(); if (etimer_expired(&periodic_timer)) { send_handler(ev, data); etimer_restart(&periodic_timer); } else if (ev == tcpip_event) { recv_handler(); } } PROCESS_END();}
开发者ID:kevinxusz,项目名称:monjolo,代码行数:44,
示例25: PROCESS_THREADPROCESS_THREAD(udp_server_process, ev, data){ PROCESS_BEGIN(); static uip_ipaddr_t ipaddr; rpl_dag_t *dag; int i; uint8_t state; static struct etimer timer; static struct simple_udp_connection connection; static int packet = 0; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); //uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); //dag = rpl_set_root(RPL_DEFAULT_INSTANCE, (uip_ip6addr_t*) &ipaddr); //rpl_set_prefix(dag, &ipaddr, 64); simple_udp_register(&connection, UDP_PORT-1, NULL, UDP_PORT, receiver); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print( &uip_ds6_if.addr_list[i].ipaddr); printf("/n"); } } printf("UDP server started/n"); etimer_set(&timer, CLOCK_SECOND >> 1); while(1) { PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer)); etimer_restart(&timer); leds_toggle(LEDS_GREEN); } PROCESS_END();}
开发者ID:Cremesis,项目名称:IoT,代码行数:42,
示例26: slip_input_callback/*---------------------------------------------------------------------------*/static voidslip_input_callback(void){ unsigned char i; unsigned short chek_summ,chek_summ_recv; if (strncmp(uip_buf, "AdressTarget", 12) == 0){ chek_summ =chksum(chek_summ,(uint8_t*)uip_buf,16); chek_summ_recv = uip_buf[16]; chek_summ_recv |= ((uint16_t)uip_buf[17])<<8; if (chek_summ_recv==chek_summ){ //set new IPv6 addres uip_ipaddr_t ipaddr; uip_lladdr_t lladdr; lladdr.addr[0] = 0x00; lladdr.addr[1] = 0x12; lladdr.addr[2] = 0x4b; lladdr.addr[3] = 0x00; lladdr.addr[4] = uip_buf[12]; lladdr.addr[5] = uip_buf[13]; lladdr.addr[6] = uip_buf[14]; lladdr.addr[7] = uip_buf[15]; for (i=0;i<4;i++){ if (uip_buf[12+i]!= uip_ds6_if.addr_list[0].ipaddr.u8[12+i]) break; } if (i<4){ uip_ds6_addr_rm(&uip_ds6_if.addr_list[0]); uip_ip6addr(&ipaddr, 0x2001, 0x0db8, 0, 0x0212, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); uip_buf[12] = uip_ds6_if.addr_list[0].ipaddr.u8[12]; uip_buf[13] = uip_ds6_if.addr_list[0].ipaddr.u8[13]; uip_buf[14] = uip_ds6_if.addr_list[0].ipaddr.u8[14]; uip_buf[15] = uip_ds6_if.addr_list[0].ipaddr.u8[15]; slip_write(uip_buf, 16); print_local_addresses(); } } } // PRINTF("SIN: %u/n", uip_len);}
开发者ID:shomagan,项目名称:contiki_6to4,代码行数:43,
示例27: create_dagvoidcreate_dag(){ rpl_dag_t *dag; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); print_local_addresses(); dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &uip_ds6_get_global(ADDR_PREFERRED)->ipaddr); if(dag != NULL) { uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); rpl_set_prefix(dag, &ipaddr, 64); PRINTF("Created a new RPL dag with ID: "); PRINT6ADDR(&dag->dag_id); PRINTF("/n"); }}
开发者ID:Ammar-85,项目名称:contiki-arduino,代码行数:20,
示例28: set_global_addressstatic voidset_global_address(void){ uip_ipaddr_t ipaddr; int i; uint8_t state; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); memcpy(((uint8_t *)&global_extndaddr),&(ipaddr.u8[8]),NATIVE_ADDR_SIZE); printf("/r/nIPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); printf("/n"); } }}
开发者ID:songjw0820,项目名称:contiki_atmel,代码行数:21,
示例29: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(sender_process, ev, data){ PROCESS_BEGIN(); static uip_ipaddr_t ipaddr, unicastaddr; int i; uint8_t state; static struct etimer timer; static struct simple_udp_connection connection; static char *packet = "Supertest"; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); uip_ip6addr(&unicastaddr, 0xfe80, 0, 0, 0, 0xc30c, 0, 0, 2); simple_udp_register(&connection, UDP_PORT, NULL, UDP_PORT, NULL); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print( &uip_ds6_if.addr_list[i].ipaddr); printf("/n"); } } etimer_set(&timer, CLOCK_SECOND); while(1) { printf("STO MANDANDO UNICAST/n"); simple_udp_sendto(&connection, packet, strlen(packet)+1, &unicastaddr); PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer)); etimer_restart(&timer); } PROCESS_END();}
开发者ID:Cremesis,项目名称:IoT,代码行数:40,
注:本文中的uip_ds6_set_addr_iid函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ uip_init函数代码示例 C++ uip_ds6_list_loop函数代码示例 |