这篇教程C++ uip_datalen函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中uip_datalen函数的典型用法代码示例。如果您正苦于以下问题:C++ uip_datalen函数的具体用法?C++ uip_datalen怎么用?C++ uip_datalen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了uip_datalen函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ char *str; if(uip_newdata()) { str = uip_appdata; str[uip_datalen()] = '/0'; printf("Response from the server: '%s'/n", str); }}
开发者ID:EmuxEvans,项目名称:Thingsquare-Contiki-O.S-Porting-STM32F4-Discovery,代码行数:12,
示例2: _demo_udp_callback/*----------------------------------------------------------------------------*/static void _demo_udp_callback(c_event_t c_event, p_data_t p_data) { char *pc_str; if(c_event == EVENT_TYPE_TCPIP) { if(uip_newdata()) { pc_str = uip_appdata; pc_str[uip_datalen()] = '/0'; LOG_INFO("Packet from a client: '%s'/n/r", pc_str); _demo_udp_sendMsg(_demo_extractSeq(pc_str) + 1); } }}
开发者ID:kamejoko80,项目名称:emb6,代码行数:12,
示例3: dtls_handle_read/*---------------------------------------------------------------------------*/static voiddtls_handle_read(dtls_context_t *ctx) { session_t session; if(uip_newdata()) { dtls_session_init(&session); uip_ipaddr_copy(&session.addr, &UIP_IP_BUF->srcipaddr); session.port = UIP_UDP_BUF->srcport; dtls_handle_message(ctx, &session, uip_appdata, uip_datalen()); }}
开发者ID:kamejoko80,项目名称:6lbr,代码行数:12,
示例4: handle_tcp_srv_app1void handle_tcp_srv_app1(void){ static struct timer user_timer; //create a timer; static bool app_init = FALSE; if (uip_newdata()) { printf_high("Server RX [%d] bytes/n", uip_datalen()); iot_uart_output(uip_appdata, uip_datalen()); } if (uip_poll()) { /* below codes shows how to send data to client */ if ((app_init == FALSE) || timer_expired(&user_timer)) { printf_high("TCP SERVER APP1 uip_poll_timer_expired/n"); uip_send("hello,this is tcp srv...", 24); timer_set(&user_timer, 5*CLOCK_SECOND); app_init = TRUE; } }}
开发者ID:CrippledBytes,项目名称:CentralHeater,代码行数:20,
示例5: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ char *str; if(uip_newdata()) { str = uip_appdata; str[uip_datalen()] = '/0'; printf("DATA recv '%s'/n", str); }}
开发者ID:e2rezaei,项目名称:RPL-EE,代码行数:12,
示例6: man_udp_handler/*---------------------------------------------------------------------------*/static void man_udp_handler(void) { if(uip_newdata()) {/* ((char *)uip_appdata)[uip_datalen()] = 0; printf("New uIP data: '%s'/n", uip_appdata); PRINT6ADDR(&man_conf->mnaddr); printf("port = %u/n", man_conf->mnrport);*/ char rst; rst = man_processing((uint8_t*)uip_appdata, uip_datalen(), &man_conf, client_conn); PRINTF("ManUDP handler return with %d/n", rst); }}
开发者ID:anhquang,项目名称:contiki,代码行数:13,
示例7: parse_msgstatic u8_t parse_msg (void){ dhcpMsg_t *m = (dhcpMsg_t *) uip_appdata; if ((m->op == DHCP_REPLY) && !memcmp (m->xid, xid, sizeof (xid)) && !memcmp (m->chaddr, dhcpcState->mac_addr, dhcpcState->mac_len)) { memcpy (dhcpcState->ipaddr, m->yiaddr, 4); return parse_options (&m->options [4], uip_datalen ()); } return 0;}
开发者ID:afrendybayu,项目名称:tampilan_lipi,代码行数:12,
示例8: parse_msg/*---------------------------------------------------------------------------*/static u8_t parse_msg(void){ struct dhcp_msg *m = (struct dhcp_msg *)uip_appdata; if(m->op == DHCP_REPLY && memcmp(m->xid, xid, sizeof(xid)) == 0 && memcmp(m->chaddr, s.mac_addr, s.mac_len) == 0) { memcpy(s.ipaddr, m->yiaddr, 4); return parse_options(&m->options[4], uip_datalen()); } return 0;}
开发者ID:hokim72,项目名称:AVR-Common,代码行数:13,
示例9: parse_msgstatic uint8_tparse_msg(void){ struct dhcp_msg *m = (struct dhcp_msg *)uip_appdata; if(m->op == DHCP_BOOTREPLY && memcmp(m->xid, &xid, sizeof(xid)) == 0 && memcmp(m->chaddr, dhcpc_state.mac_addr, dhcpc_state.mac_len) == 0) { memcpy(dhcpc_state.ipaddr.u16, m->yiaddr, 4); return parse_options(&m->options[4], uip_datalen()); } return 0;}
开发者ID:Faeriol,项目名称:SEG4545,代码行数:13,
示例10: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ char *appdata; if(uip_newdata()) { appdata = (char *)uip_appdata; appdata[uip_datalen()] = 0; PRINTF("DATA recv '%s' from ", appdata); PRINTF("%d", UDP_IP_BUF->srcipaddr.u8[sizeof(UDP_IP_BUF->srcipaddr.u8) - 1]); PRINTF("/n");#if SERVER_REPLY PRINTF("DATA sending reply/n"); //uip_ipaddr_copy(&server_conn->ripaddr, &UDP_IP_BUF->srcipaddr); //server_conn->rport = UDP_IP_BUF->srcport; //uip_udp_packet_send(server_conn, appdata,uip_datalen() ); uip_udp_packet_sendto(server_conn, appdata,uip_datalen(),&UDP_IP_BUF->srcipaddr, UDP_IP_BUF->srcport); //uip_create_unspecified(&server_conn->ripaddr);#endif }}
开发者ID:xeonqq,项目名称:network,代码行数:23,
示例11: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ char *ptr; char *str; if(uip_newdata()) { leds_on(LEDS_BLUE); str = uip_appdata; str[uip_datalen()] = '/0'; printf("DATA recv %s/n", str); } }
开发者ID:jiangxianliang,项目名称:smart-HOP,代码行数:14,
示例12: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(tcp_server, ev, data){ PROCESS_BEGIN(); tcp_listen(UIP_HTONS(8080)); while(1) { PROCESS_WAIT_EVENT_UNTIL(ev == tcpip_event); printf("TCP server: receive TCP event/n"); if(uip_closed() || uip_aborted() || uip_timedout()) { printf("TCP server: connection closed/n"); } else if(uip_connected()) { printf("TCP server: connected/n"); } if(uip_newdata()) { printf("TCP server: receive new data/n"); uint16_t len = uip_datalen(); uint8_t *ptr = uip_appdata; while(len--){ printf("%c", *ptr++); } printf("/n"); printf("TCP server: send echo message/n"); uip_send(uip_appdata, uip_datalen()); } if(uip_rexmit() || uip_newdata() || uip_acked() || uip_connected() || uip_poll()) { //senddata(); } } PROCESS_END();}
开发者ID:ShidoShinji,项目名称:uipv6-6lowpan,代码行数:40,
示例13: _udp_sock_callback/*---------------------------------------------------------------------------*/void _udp_sock_callback(c_event_t c_event, p_data_t p_data){ struct udp_socket *c; if(c_event == EVENT_TYPE_TCPIP) { /* An appstate pointer is passed to use from the IP stack through the 'data' pointer. We registered this appstate when we did the udp_new() call in udp_socket_register() as the struct udp_socket pointer. So we extract this pointer and use it when calling the reception callback. */ c = (struct udp_socket *)p_data; /* Defensive coding: although the appstate *should* be non-null here, we make sure to avoid the program crashing on us. */ if(c != NULL) { LOG_INFO("socket ptr from callback = %p:%p", c, c->input_callback); /* If we were called because of incoming data, we should call the reception callback. */ if(uip_newdata()) { /* Copy the data from the uIP data buffer into our own buffer to avoid the uIP buffer being messed with by the callee. */ memcpy(buf, uip_appdata, uip_datalen()); /* Call the client process. We use the PROCESS_CONTEXT mechanism to temporarily switch process context to the client process. */ if(c->input_callback != NULL) { c->input_callback(c, c->ptr, &(UIP_IP_BUF->srcipaddr), UIP_HTONS(UIP_IP_BUF->srcport), &(UIP_IP_BUF->destipaddr), UIP_HTONS(UIP_IP_BUF->destport), buf, uip_datalen()); } } } }}
开发者ID:lucasmarwagner,项目名称:emb-6_dtls,代码行数:40,
示例14: parse_msg/*---------------------------------------------------------------------------*/static uint8_tparse_msg(void){ struct dhcp_msg *m = (struct dhcp_msg *)uip_appdata; if(m->op == DHCP_REPLY && memcmp(m->xid, xid, sizeof(xid)) == 0 && memcmp(m->chaddr, uip_ethaddr.addr, sizeof(struct uip_eth_addr)) == 0) { memcpy(uip_udp_conn->appstate.dhcp.ipaddr, m->yiaddr, 4); return parse_options(&m->options[4], uip_datalen()); } return 0;}
开发者ID:EtherGraf,项目名称:ethersex,代码行数:14,
示例15: _demo_udp_callback/*----------------------------------------------------------------------------*/static void _demo_udp_callback(c_event_t c_event, p_data_t p_data) { char *pc_str; if (etimer_expired(&st_et)) { _demo_udp_sendMsg(l_lastSeqId); etimer_restart(&st_et); } else if (c_event == EVENT_TYPE_TCPIP) { if (uip_newdata()) { pc_str = uip_appdata; pc_str[uip_datalen()] = '/0'; LOG_INFO("Packet from a server: '%s'/n/r", pc_str); l_lastSeqId = _demo_extractSeq(pc_str); } }}
开发者ID:kamejoko80,项目名称:emb6,代码行数:15,
示例16: net_input/*---------------------------------------------------------------------------*/static voidnet_input(void){ if(uip_newdata()) { memset(buffer, 0, MAX_MSG_SIZE); msg_len = MIN(uip_datalen(), MAX_MSG_SIZE - 1); /* Copy data */ memcpy(buffer, uip_appdata, msg_len); printf("%s", (char *)buffer); } return;}
开发者ID:birdmanhoo,项目名称:contiki,代码行数:15,
示例17: readUDPbool readUDP(NetworkSocket * networkSocket, uint8_t * buffer, int bufferLength, NetworkAddress ** sourceAddress, int *readLength){ bool result = true; *readLength = 0; //if (uip_newdata() && (UIP_IP_BUF->destport == networkSocket->Port) ) if (uip_newdata()) { Lwm2m_Debug("Packet from: %d %d/n", uip_htons(UIP_IP_BUF->destport), networkSocket->Port); if (uip_datalen() > bufferLength) *readLength = bufferLength; else *readLength = uip_datalen(); } if (*readLength > 0) { uip_ipaddr_t * address = &UIP_IP_BUF->srcipaddr; uint16_t port = uip_htons(UIP_IP_BUF->srcport); bool secure = (networkSocket->SocketType & NetworkSocketType_Secure) == NetworkSocketType_Secure; memcpy(buffer, uip_appdata, *readLength); NetworkAddress * networkAddress = getCachedAddress(address, port); if (networkAddress == NULL) { networkAddress = addCachedAddress(address, port, secure); if (networkAddress) { networkAddress->useCount++; // TODO - ensure addresses are freed? (after t/o or transaction or DTLS session closed) } } if (networkAddress) { *sourceAddress = networkAddress; } } return result;}
开发者ID:FlowM2M,项目名称:AwaLWM2M,代码行数:37,
示例18: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ char *appdata; unsigned char i; blink_event = process_alloc_event(); if(uip_newdata()) { appdata = (char *)uip_appdata; appdata[uip_datalen()] = 0; for(i = 0; i < 4; i++){ dht11data[i] = *(appdata + i); } PRINTF("DATA recv '%s' from ", appdata); PRINTF("%d", UIP_IP_BUF->srcipaddr.u8[sizeof(UIP_IP_BUF->srcipaddr.u8) - 1]); PRINTF("/n"); PRINTF("wendu is %c%c, shidu is %c%c /n", *appdata,*(appdata+1),*(appdata+2),*(appdata+3)); // PRINTF("DATA sending reply/n");// uip_ipaddr_copy(&server_conn->ripaddr, &UIP_IP_BUF->srcipaddr); /* if(strncmp(appdata, "RED", 3) == 0) { leds_on(LEDS_RED); leds_off(LEDS_GREEN); sta = 0; } if(strncmp(appdata, "GREEN", 5) == 0) { leds_on(LEDS_GREEN); leds_off(LEDS_RED); sta = 0; } if(strncmp(appdata,"BLINK",5) == 0) { process_post(&udp_server_process, blink_event, NULL); sta = 1; } if(strncmp(appdata,"OFF",3) == 0) { leds_off(LEDS_RED | LEDS_GREEN); sta = 0; }#if SERVER_REPLY PRINTF("DATA sending reply/n"); uip_ipaddr_copy(&server_conn->ripaddr, &UIP_IP_BUF->srcipaddr); uip_udp_packet_send(server_conn, "Reply", sizeof("Reply")); uip_create_unspecified(&server_conn->ripaddr);#endif */ }}
开发者ID:ChenZJgor,项目名称:contiki,代码行数:50,
示例19: parse_msg/*---------------------------------------------------------------------------*/static uint8_tparse_msg(struct ntp_time *time){ struct ntp_msg *m = (struct ntp_msg *)uip_appdata; // check correct time len if(uip_datalen() != sizeof(struct ntp_msg)) return 0; // adjust endianess time->seconds = ntp_read_u32(m->transmit_timestamp[0]); time->fraction = ntp_read_u32(m->transmit_timestamp[1]) >> 16; return 1;}
开发者ID:AntmanLFE,项目名称:hetnet_avr-uip,代码行数:16,
示例20: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ leds_on(LEDS_GREEN); if(uip_newdata()) { putstring("0x"); puthex(uip_datalen()); putstring(" bytes response=0x"); puthex((*(uint16_t *) uip_appdata) >> 8); puthex((*(uint16_t *) uip_appdata) & 0xFF); putchar('/n'); } leds_off(LEDS_GREEN); return;}
开发者ID:1847123212,项目名称:ampm_contiki_wisun,代码行数:16,
示例21: tcpip_handler/*--------------------------------------------------------------------------------------------*/ void tcpip_handler(struct udp_tx *udp_tx_info){ if(uip_newdata()){ ((char *)uip_appdata)[uip_datalen()] = 0; PRINTF("Server received: '%s' from [", (char *)uip_appdata); PRINT6ADDR(&UIP_IP_BUF->srcipaddr); PRINTF("]:%u",UIP_HTONS(UIP_UDP_BUF->srcport)); PRINTF("/n"); uip_ipaddr_copy(&server_conn->ripaddr, &UIP_IP_BUF->srcipaddr); server_conn->rport=uip_htons(3007); PRINTF("Responding with message: "); udp_data_handler(uip_appdata,udp_tx_info); } }
开发者ID:notank,项目名称:contiki,代码行数:16,
示例22: _demo_extractSequint64_t _demo_extractSeq(char * str){ char temp[20]; uint8_t i = 0; //uint8_t j = 0; for (i=uip_datalen();i>0;i--) { if (str[i] == '|' ) { i--; memcpy(temp,str,i); temp[i] = '/0'; break; } } return atol(temp);}
开发者ID:kamejoko80,项目名称:emb6,代码行数:16,
示例23: uecmd_net_mainvoid uecmd_net_main() { if (!uip_newdata ()) return; char *p = (char *)uip_appdata; /* Add /0 to the data and remove /n from the data */ do { if (*p == '/r' || *p == '/n') { break; } } while ( ++p <= ((char *)uip_appdata + uip_datalen())); /* Parse the Data */ *p = 0; char cmd[p - (char *)uip_appdata]; strncpy(cmd, uip_appdata, p - (char *)uip_appdata + 1); uip_slen = 0; while (uip_slen < UIP_BUFSIZE - UIP_IPUDPH_LEN) { int16_t len = ecmd_parse_command(cmd, ((char *)uip_appdata) + uip_slen, (UIP_BUFSIZE - UIP_IPUDPH_LEN) - uip_slen); uint8_t real_len = len; if (!is_ECMD_FINAL(len)) { /* what about the errors ? */ /* convert ECMD_AGAIN back to ECMD_FINAL */ real_len = (uint8_t) ECMD_AGAIN(len); } uip_slen += real_len + 1; ((char *)uip_appdata)[uip_slen - 1] = '/n'; if (real_len == len || len == 0) break; } /* Sent data out */ uip_udp_conn_t echo_conn; uip_ipaddr_copy(echo_conn.ripaddr, BUF->srcipaddr); echo_conn.rport = BUF->srcport; echo_conn.lport = HTONS(ECMD_UDP_PORT); uip_udp_conn = &echo_conn; uip_process(UIP_UDP_SEND_CONN); router_output(); uip_slen = 0;}
开发者ID:EtherGraf,项目名称:ethersex,代码行数:47,
示例24: parse_msgstatic unsigned char parse_msg(void){ int result = 0; int bytes_available = uip_datalen(); unsigned char* pData = uip_appdata; result = 1; lo_message message = lo_message_deserialise(pData, bytes_available, &result); if (result == 0) { //char* path = lo_url_get_path(lo_address_get_url(lo_message_get_source(message))); lo_arg** argv = lo_message_get_argv(message); //if (!strcmp(path,'/set/rgb')) { lo_arg* red = argv[0]; lo_arg* green = argv[1]; lo_arg* blue = argv[2]; float fRed = red->f; float fGreen = green->f; float fBlue = blue->f; analogWrite(redPin, (unsigned char)(fRed * 0xFF)); analogWrite(greenPin, (unsigned char)(fGreen * 0xFF)); analogWrite(bluePin, (unsigned char)(fBlue * 0xFF)); /*} else if (!strcmp(path, '/set/hsi')) { lo_arg* H = argv[0]; lo_arg* S = argv[1]; lo_arg* I = argv[2]; unsigned char rgb[3]; hsi2rgb(H, S, I, rgb); analogWrite(redPin, rgb[0]); analogWrite(greenPin, rgb[1]); analogWrite(bluePin, rgb[2]); }*/ } lo_message_free(message); s.state = STATE_QUIT; return 1;}
开发者ID:jeremywrnr,项目名称:life-of-the-party,代码行数:47,
示例25: PROCESS_THREAD/*---------------------------------------------------------------------*/PROCESS_THREAD(test_uaodv_process, ev, data){ static uip_ipaddr_t addr; PROCESS_BEGIN(); printf("uIP uAODV test process started/n"); uip_ipaddr(&addr, 0,0,0,0); in_conn = udp_new(&addr, UIP_HTONS(0), NULL); uip_udp_bind(in_conn, UIP_HTONS(COOJA_PORT)); uip_ipaddr(&addr, 10,10,10,4); out_conn = udp_new(&addr, UIP_HTONS(COOJA_PORT), NULL); button_sensor.configure(SENSORS_ACTIVE, 1); while(1) { PROCESS_WAIT_EVENT(); if(ev == sensors_event && data == &button_sensor) { struct uaodv_rt_entry *route; uip_ipaddr(&addr, 10,10,10,4); route = uaodv_rt_lookup_any(&addr); if (route == NULL || route->is_bad) { printf("%d.%d.%d.%d: lookup %d.%d.%d.%d/n", uip_ipaddr_to_quad(&uip_hostaddr), uip_ipaddr_to_quad(&addr)); uaodv_request_route_to(&addr); } else { printf("%d.%d.%d.%d: send to %d.%d.%d.%d/n", uip_ipaddr_to_quad(&uip_hostaddr), uip_ipaddr_to_quad(&addr)); tcpip_poll_udp(out_conn); PROCESS_WAIT_UNTIL(ev == tcpip_event && uip_poll()); uip_send("cooyah COOJA", 12); } } if(ev == tcpip_event && uip_newdata()) { ((char*) uip_appdata)[uip_datalen()] = 0; printf("data received from %d.%d.%d.%d: %s/n", uip_ipaddr_to_quad(&((struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])->srcipaddr), (char *)uip_appdata); leds_toggle(LEDS_ALL); } } PROCESS_END();}
开发者ID:Ammar-85,项目名称:contiki-arduino,代码行数:48,
示例26: newdatastatic voidnewdata(void){ u16_t len; len = uip_datalen(); if (s.state == WEBCLIENT_STATE_STATUSLINE) len = parse_statusline(len); if (s.state == WEBCLIENT_STATE_HEADERS && len > 0) len = parse_headers(len); if (len > 0 && s.state == WEBCLIENT_STATE_DATA && s.httpflag != HTTPFLAG_MOVED) webclient_datahandler((char *)uip_appdata, len);}
开发者ID:atalax,项目名称:avr-uip-2,代码行数:17,
示例27: process1_appvoid process1_app(void){ u16_t len; /*if(uip_connected() && uip_conn->lport == HTONS(55555)) { ser_print("1. Accepted connection on port 55555/n"); }*/ if(uip_newdata()) { len = uip_datalen(); memcpy(incoming, uip_appdata, len); incoming[len] = '/0'; } if(sendData != 0 && uip_conn->lport == HTONS(55555)){ //ser_print("Sending status.../n"); sprintf(temp, "%d", doorStatus); uip_send(temp, 1); sendData = 0; }}
开发者ID:altran-git,项目名称:Garage-App-Wifi-Arduino,代码行数:17,
示例28: socket_app_appcall/* * In socketapp.h we have defined the UIP_APPCALL macro to * socket_app_appcall so that this function is uIP's application * function. This function is called whenever an uIP event occurs * (e.g. when a new connection is established, new data arrives, sent * data is acknowledged, data needs to be retransmitted, etc.). */void socket_app_appcall( void ){ /* * The uip_conn structure has a field called "appstate" that holds * the application state of the connection. We make a pointer to * this to access it easier. */ struct socket_app_state *s = &(uip_conn->appstate); /* * If a new connection was just established, we should initialize * the protosocket in our applications' state structure. */ if ( uip_connected() ) { s->no = counter++; memset( buffer, 0, sizeof(buffer)); WiFi_connected( s->no ); } /** * Neue Daten anstehend */ else if ( uip_newdata() ) { memset( buffer, 0, sizeof(buffer) ); int length = uip_datalen(); int i = 0; while ( i < length && i < sizeof(buffer) ) { if ( ((char *) uip_appdata)[i] == '/r' ) continue; if ( ((char *) uip_appdata)[i] == '/n' ) break; buffer[i] = ((char *) uip_appdata)[i]; i++; } WiFi_newData( s->no, buffer, length ); } /** * Verbindung wird geschlossen */ else if ( uip_aborted() || uip_closed() ) { WiFi_closed( s->no ); }}
开发者ID:BackupTheBerlios,项目名称:microsrcp,代码行数:53,
示例29: tcpip_handler/*---------------------------------------------------------------------------*/static voidtcpip_handler(void){ uint8_t *appdata; linkaddr_t sender; uint8_t seqno; uint8_t hops; if(uip_newdata()) { appdata = (uint8_t *)uip_appdata; sender.u8[0] = UIP_IP_BUF->srcipaddr.u8[15]; sender.u8[1] = UIP_IP_BUF->srcipaddr.u8[14]; seqno = *appdata; hops = uip_ds6_if.cur_hop_limit - UIP_IP_BUF->ttl + 1; collect_common_recv(&sender, seqno, hops, appdata + 2, uip_datalen() - 2); }}
开发者ID:mlwymore,项目名称:contiki,代码行数:18,
示例30: telnet_app/*-----------------------------------------------------------------------------------*/voidtelnet_app(void *ts){ struct telnet_state *s = (struct telnet_state *)ts; if(uip_connected()) { s->flags = 0; telnet_connected(s); senddata(s); return; } if(uip_closed()) { telnet_closed(s); } if(uip_aborted()) { telnet_aborted(s); } if(uip_timedout()) { telnet_timedout(s); } if(s->flags & FLAG_CLOSE) { uip_close(); return; } if(s->flags & FLAG_ABORT) { uip_abort(); return; } if(uip_acked()) { acked(s); } if(uip_newdata()) { telnet_newdata(s, (char *)uip_appdata, uip_datalen()); } if(uip_rexmit() || uip_newdata() || uip_acked()) { senddata(s); } else if(uip_poll()) { senddata(s); }}
开发者ID:Asterios,项目名称:contiki-econotag,代码行数:46,
注:本文中的uip_datalen函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ uip_ds6_addr_add函数代码示例 C++ uip_create_linklocal_allnodes_mcast函数代码示例 |