您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ uip_acked函数代码示例

51自学网 2021-06-03 09:07:50
  C++
这篇教程C++ uip_acked函数代码示例写得很实用,希望能帮到您。

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

在下文中一共展示了uip_acked函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: smtp_appcall

/*DISPATCHER_UIPCALL(smtp_appcall, state)*/voidsmtp_appcall(void *state){  if(uip_connected()) {    /*    senddata();*/    return;  }  if(uip_acked()) {    acked();  }  if(uip_newdata()) {    newdata();  }  if(uip_rexmit() ||     uip_newdata() ||     uip_acked()) {    senddata();  } else if(uip_poll()) {        senddata();  }  /*  if(uip_closed()) {    printf("Dnoe/n");    }*/}
开发者ID:ZhepingYang,项目名称:contiki-1.x,代码行数:27,


示例2: telnetd_appcall

/*---------------------------------------------------------------------------*/voidtelnetd_appcall(void *ts){  if(uip_connected()) {    tcp_markconn(uip_conn, &s);    buf_init(&buf);    s.bufptr = 0;    s.state = STATE_NORMAL;    shell_start();  }  if(s.state == STATE_CLOSE) {    s.state = STATE_NORMAL;    uip_close();    return;  }  if(uip_closed() ||     uip_aborted() ||     uip_timedout()) {    closed();  }  if(uip_acked()) {    acked();  }  if(uip_newdata()) {    newdata();  }  if(uip_rexmit() ||     uip_newdata() ||     uip_acked() ||     uip_connected() ||     uip_poll()) {    senddata();  }}
开发者ID:EDAyele,项目名称:ptunes,代码行数:36,


示例3: tty_vt100_main

static voidtty_vt100_main (void){  if (uip_connected())    STATE->send_all = 1;  if (uip_acked())    {      if (STATE->send_all)	STATE->send_all = 0;      STATE->acked = STATE->sent;    }  if (uip_newdata ())    {      uint8_t len = uip_len;      for (uint8_t i = 0; i < len; i ++)	{	  int8_t ch = ((char *) uip_appdata)[i];	  if (ch == 12)		/* C-l, retransmit everything. */	    {	      STATE->send_all = 1;	      continue;	    }	  _getch_queue (ch);	}    }  if (uip_rexmit() || uip_newdata() || uip_acked() || uip_connected()      || uip_poll())    {      /* Send new data, if any. */      if (STATE->send_all)	tty_vt100_send_all ();      else	{	  /* we're just sending an update, ... */	  if (vt100_head > STATE->acked)	    {	      uint8_t len = vt100_head - STATE->acked;	      memcpy (uip_sappdata, STATE->acked, len);	      uip_send (uip_sappdata, len);	    }	  else if (vt100_head < STATE->acked)	    {	      /* vt100_head wrapped around, let's be careful. */	      uint8_t len = vt100_end - STATE->acked;	      memcpy (uip_sappdata, STATE->acked, len);	      uint8_t len2 = vt100_head - vt100_buf;	      memcpy (uip_sappdata + len, vt100_buf, len2);	      uip_send (uip_sappdata, len + len2);	    }	  STATE->sent = vt100_head;	}    }}
开发者ID:simeonfelis,项目名称:ethersex,代码行数:60,


示例4: tcp_server_demo_appcall

//这是一个TCP 服务器应用回调函数。//该函数通过UIP_APPCALL(tcp_demo_appcall)调用,实现Web Server的功能.//当uip事件发生时,UIP_APPCALL函数会被调用,根据所属端口(1200),确定是否执行该函数。//例如 : 当一个TCP连接被创建时、有新的数据到达、数据已经被应答、数据需要重发等事件void tcp_server_demo_appcall(void){ 	struct tcp_demo_appstate *s = (struct tcp_demo_appstate *)&uip_conn->appstate;	if(uip_aborted())tcp_server_aborted();		//连接终止 	if(uip_timedout())tcp_server_timedout();	//连接超时   	if(uip_closed())tcp_server_closed();		//连接关闭	    	if(uip_connected())tcp_server_connected();	//连接成功	    	if(uip_acked())tcp_server_acked();			//发送的数据成功送达 	//接收到一个新的TCP数据包 	if (uip_newdata())//收到客户端发过来的数据	{		if((tcp_server_sta&(1<<6))==0)//还未收到数据		{			if(uip_len>199)			{		   				((uint8_t*)uip_appdata)[199]=0;			}		    	    	strcpy((char*)tcp_server_databuf,uip_appdata);				   	  		  			tcp_server_sta|=1<<6;//表示收到客户端数据		}	}else if(tcp_server_sta&(1<<5))//有数据需要发送	{		s->textptr=tcp_server_databuf;		s->textlen=strlen((const char*)tcp_server_databuf);		tcp_server_sta&=~(1<<5);//清除标记	}   	//当需要重发、新数据到达、数据包送达、连接建立时,通知uip发送数据 	if(uip_rexmit()||uip_newdata()||uip_acked()||uip_connected()||uip_poll())	{		tcp_server_senddata();	}}	  
开发者ID:RdMaxes,项目名称:stm32f103_uIP_ENC28J60,代码行数:36,


示例5: webclient_appcall

/*-----------------------------------------------------------------------------------*/voidwebclient_appcall(void){  if(uip_connected()) {    s.timer = 0;    s.state = WEBCLIENT_STATE_STATUSLINE;    senddata();    webclient_connected();    return;  }  if(s.state == WEBCLIENT_STATE_CLOSE) {    webclient_closed();    uip_abort();    return;  }  if(uip_aborted()) {    webclient_aborted();  }  if(uip_timedout()) {    webclient_timedout();  }    if(uip_acked()) {    s.timer = 0;    acked();  }  if(uip_newdata()) {    s.timer = 0;    newdata();  }  if(uip_rexmit() ||     uip_newdata() ||     uip_acked()) {    senddata();  } else if(uip_poll()) {    ++s.timer;    if(s.timer == WEBCLIENT_TIMEOUT) {      webclient_timedout();      uip_abort();      return;    }        /*    senddata();*/  }  if(uip_closed()) {    if(s.httpflag != HTTPFLAG_MOVED) {      /* Send NULL data to signal EOF. */      webclient_datahandler(NULL, 0);    } else {      if(resolv_lookup(s.host) == NULL) {	resolv_query(s.host);      }      webclient_get(s.host, s.port, s.file);    }  }}
开发者ID:ichpuchtli,项目名称:freeburn,代码行数:60,


示例6: irc_main

static voidirc_main(void){    if (uip_aborted() || uip_timedout()) {	IRCDEBUG ("connection aborted/n");	irc_conn = NULL;    }    if (uip_closed()) {	IRCDEBUG ("connection closed/n");	irc_conn = NULL;    }    if (uip_connected()) {	IRCDEBUG ("new connection/n");	STATE->stage = IRC_SEND_USERNICK;	STATE->sent = IRC_SEND_INIT;#ifdef ECMD_IRC_SUPPORT	STATE->reparse = 0;#endif	*STATE->outbuf = 0;    }    if (STATE->stage == IRC_SEND_JOIN	&& uip_acked ())	STATE->stage ++;    else if (STATE->stage == IRC_CONNECTED	     && uip_acked ()) {	*STATE->outbuf = 0;#ifdef ECMD_IRC_SUPPORT	if (STATE->reparse)	    irc_handle_ecmd ();#endif    }    else if (uip_newdata() && uip_len) {	((char *) uip_appdata)[uip_len] = 0;	IRCDEBUG ("received data: %s/n", uip_appdata);	if (irc_parse ()) {	    uip_close ();	/* Parse error */	    return;	}    }    if (uip_rexmit ())	irc_send_data (STATE->sent);    else if ((STATE->stage > STATE->sent || STATE->stage == IRC_CONNECTED)	     && (uip_newdata()		 || uip_acked()		 || uip_connected()))	irc_send_data (STATE->stage);    else if (STATE->stage == IRC_CONNECTED && uip_poll() && *STATE->outbuf)	irc_send_data (STATE->stage);}
开发者ID:HansBaechle,项目名称:ethersex,代码行数:59,


示例7: yport_net_main

void yport_net_main(void){  if(uip_connected()) {    if (yport_conn == NULL) {      yport_conn = uip_conn;      uip_conn->wnd = YPORT_BUFFER_LEN - 1;    }    else       /* if we have already an connection, send an error */      uip_send("ERROR: Connection blocked/n", 27);  } else if (uip_acked()) {    /* If the peer is not our connection, close it */    if (yport_conn != uip_conn)       uip_close();    else {      /* Some data we have sent was acked, jipphie */      /* disable interrupts */      uint8_t sreg = SREG; cli();      yport_recv_buffer.len -= yport_recv_buffer.sent;      /* We should use memmove, because the data may overlap */      memmove(yport_recv_buffer.data,               yport_recv_buffer.data + yport_recv_buffer.sent,              yport_recv_buffer.len);      /* enable interrupts again */      SREG = sreg;    }  } else if (uip_closed() || uip_aborted() || uip_timedout()) {    /* if the closed connection was our connection, clean yport_conn */    if (yport_conn == uip_conn)      yport_conn = NULL;  } else if (uip_newdata()) {    if (uip_len <= YPORT_BUFFER_LEN && yport_rxstart(uip_appdata, uip_len) != 0) {      /* Prevent the other side from sending more data */      uip_stop();    }  }   if (uip_poll()       && uip_conn == yport_conn       && uip_stopped(yport_conn)      && yport_send_buffer.sent == yport_send_buffer.len)    uip_restart();  /* Send data */  if ((uip_poll()        || uip_acked()       || uip_rexmit())      && yport_conn == uip_conn       && yport_recv_buffer.len > 0) {    /* We have recieved data, lets propagade it */    /* disable interrupts */    uint8_t sreg = SREG; cli();    /* Send the data */    uip_send(yport_recv_buffer.data, yport_recv_buffer.len);    /* so many data was send */    yport_recv_buffer.sent = yport_recv_buffer.len;    /* enable interrupts again */    SREG = sreg;  }}
开发者ID:muccc,项目名称:matemat,代码行数:58,


示例8: telnetd_appcall

/*---------------------------------------------------------------------------*/voidtelnetd_appcall(void *ts){  if(uip_connected()) {    if(!connected) {      buf_init(&buf);      s.bufptr = 0;      s.state = STATE_NORMAL;      connected = 1;      shell_start();      timer_set(&s.silence_timer, MAX_SILENCE_TIME);      ts = (char *)0;    } else {      uip_send(telnetd_reject_text, strlen(telnetd_reject_text));      ts = (char *)1;    }    tcp_markconn(uip_conn, ts);  }  if(!ts) {    if(s.state == STATE_CLOSE) {      s.state = STATE_NORMAL;      uip_close();      return;    }    if(uip_closed() ||       uip_aborted() ||       uip_timedout()) {      shell_stop();      connected = 0;    }    if(uip_acked()) {      timer_set(&s.silence_timer, MAX_SILENCE_TIME);      acked();    }    if(uip_newdata()) {      timer_set(&s.silence_timer, MAX_SILENCE_TIME);      newdata();    }    if(uip_rexmit() ||       uip_newdata() ||       uip_acked() ||       uip_connected() ||       uip_poll()) {      senddata();      if(s.numsent > 0) {	timer_set(&s.silence_timer, MAX_SILENCE_TIME);      }    }    if(uip_poll()) {      if(timer_expired(&s.silence_timer)) {        uip_close();        tcp_markconn(uip_conn, NULL);      }    }  }}
开发者ID:Abdellazizhammami,项目名称:contiki,代码行数:58,


示例9: jabber_main

static voidjabber_main(void){  if (uip_aborted() || uip_timedout())  {    JABDEBUG("connection aborted/n");    jabber_conn = NULL;  }  if (uip_closed())  {    JABDEBUG("connection closed/n");    jabber_conn = NULL;  }  if (uip_connected())  {    JABDEBUG("new connection/n");    STATE->stage = JABBER_OPEN_STREAM;    STATE->sent = JABBER_INIT;#ifdef JABBER_STARTUP_MESSAGE_SUPPORT    strncpy_P(STATE->target, PSTR(CONF_JABBER_BUDDY), sizeof(STATE->target));    strncpy_P(STATE->outbuf, jabber_startup_text, sizeof(STATE->outbuf));    STATE->action = JABBER_ACTION_MESSAGE;#endif /* JABBER_STARTUP_MESSAGE_SUPPORT */  }  if (uip_acked() && STATE->stage == JABBER_CONNECTED)  {    STATE->action = JABBER_ACTION_NONE;    *STATE->outbuf = 0;  }  if (uip_newdata() && uip_len)  {    /* Zero-terminate */    ((char *) uip_appdata)[uip_len] = 0;    JABDEBUG("received data: %s/n", uip_appdata);    if (jabber_parse())    {      uip_close();              /* Parse error */      return;    }  }  if (uip_rexmit())    jabber_send_data(STATE->stage, STATE->action);  else if ((STATE->stage > STATE->sent || STATE->stage == JABBER_CONNECTED)           && (uip_newdata() || uip_acked() || uip_connected()))    jabber_send_data(STATE->stage, STATE->action);  else if (STATE->stage == JABBER_CONNECTED && uip_poll() && STATE->action)    jabber_send_data(STATE->stage, STATE->action);}
开发者ID:AnDann,项目名称:ethersex,代码行数:57,


示例10: exosite_appcall

/******************************************************************************* void exosite_appcall(void)** This function is uIP's application function.  It is called whenever a 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 exosite_appcall(void){  if(uip_connected()) {    s.timer = 0;    senddata();    return;  }  if(s.state == EXO_STATE_CLOSE) {    uip_abort();    return;  }    if(uip_aborted()) {  }  if(uip_timedout()) {  }  if(uip_acked()) {    s.timer = 0;    acked();  }  if(uip_newdata()) {    s.timer = 0;    newdata();  }   if(uip_rexmit() || uip_newdata() || uip_acked()) {    senddata();  } else if(uip_poll()) {    ++s.timer;    if(s.timer == EXO_TIMEOUT) {      uip_abort();      return;    }  }#if 0    if(uip_closed()) {    if(s.httpflag != HTTPFLAG_MOVED) {      memset(s.rxdata,0,sizeof(s.rxdata));    } else {      if(resolv_lookup(s.host) == NULL) {	      resolv_query(s.host);      }    }  }#endif}
开发者ID:exosite-garage,项目名称:rx62n_pmod_cloud,代码行数:58,


示例11: processes

/*-----------------------------------------------------------------------------------*/static u8_tprocesses(void){  u8_t i;  struct dispatcher_proc *p;  p = DISPATCHER_PROCS();  for(i = 0; i < hs->count; ++i) {    if(p != NULL) {      p = p->next;    }  }  if(uip_acked()) {    /* If the previously sent data has been acknowledged, we move       forward one connection. */    ++hs->count;    if(p != NULL) {      p = p->next;    }    if(p == NULL) {      /* If all processes have been printed out, we are done and	 return 1. */      return 1;    }  }  sprintf((char *)uip_appdata,	  "<tr align=/"center/"><td>%3d</td><td>%s</td><td>0x%04x</td><td>0x%04x</td><td>0x%04x</td></tr>/r/n",	  p->id, p->name,	  p->idle, p->signalhandler, p->uiphandler);  uip_send(uip_appdata, strlen((char *)uip_appdata));  return 0;}
开发者ID:ZhepingYang,项目名称:contiki-1.x,代码行数:36,


示例12: data_is_sent_and_acked

/*---------------------------------------------------------------------------*/static chardata_is_sent_and_acked(CC_REGISTER_ARG struct psock *s){  /* If data has previously been sent, and the data has been acked, we     increase the send pointer and call send_data() to send more     data. */  if(s->state != STATE_DATA_SENT || uip_rexmit()) {    if(s->sendlen > uip_mss()) {      uip_send(s->sendptr, uip_mss());    } else {      uip_send(s->sendptr, s->sendlen);    }    s->state = STATE_DATA_SENT;    return 0;  } else if(s->state == STATE_DATA_SENT && uip_acked()) {    if(s->sendlen > uip_mss()) {      s->sendlen -= uip_mss();      s->sendptr += uip_mss();    } else {      s->sendptr += s->sendlen;      s->sendlen = 0;    }    s->state = STATE_ACKED;    return 1;  }  return 0;}
开发者ID:DIYzzuzpb,项目名称:contiki-mplabx,代码行数:28,


示例13: example2_app

/***************************************************************************** 函 数 名  : example2_app 功能描述  : just a example function for tcp connect 输入参数  : void   输出参数  : 无 返 回 值  :  调用函数  :  被调函数  :   修改历史      :  1.日    期   : 2017年4月17日    作    者   : QSWWD    修改内容   : 新生成函数*****************************************************************************/static void example2_app(void) {	struct example2_state *s;	s = (struct example2_state *)uip_conn->appstate;	if(uip_connected()) {		s->state = WELCOME_SENT;		uip_send("Welcome!/n/r", 10);		return;	}	if(uip_acked() && s->state == WELCOME_SENT) {		s->state = WELCOME_ACKED;	}	if(uip_newdata()) { 		uip_send("ok!You are trying to connect to UIP./n/r", 43);	}	if(uip_rexmit()) {		switch(s->state) {		case WELCOME_SENT:			uip_send("Welcome,the rexmit!/n/r", 20);			break;		case WELCOME_ACKED:			uip_send("ok!this is retransmit./n/r",30);			break;		default:			uip_send("the rexmit ,Your's command is something error./n/r", 50);			break;		}	}}
开发者ID:haikong,项目名称:haikong.github.io,代码行数:44,


示例14: uip_task_appcall

void uip_task_appcall(){  	if(uip_connected()) 	{		socket_process_new_connect_();	}else	if(uip_poll())	{		if(uip_stopped(uip_conn))		{			socket_process_try_restart_();		}				socket_process_write_();	}else	if(uip_newdata())	{		socket_process_new_data_();		socket_process_write_();	}else	if(uip_aborted() || uip_closed())	{		socket_process_close_();	}else	if(uip_timedout())	{		socket_process_timeout_();		uip_close();	}else	if(uip_acked() || uip_rexmit())	{		socket_process_write_();	}}
开发者ID:jayaraj-poroor,项目名称:freertos-uip-kernel,代码行数:34,


示例15: lp_tcp_appcall

void lp_tcp_appcall(void) {	struct lp_tcp_state *s;	s = &(uip_conn->appstate);	if (uip_connected()) {		s->state = WELCOME_SENT;		uip_send("Handshake complete!/n", 20);		return;	}	if (uip_acked() && s->state == WELCOME_SENT) {		s->state = WELCOME_ACKED;	}	if (uip_newdata()) {		P1OUT ^= BIT0;		uip_send("Received packet/n", 16);	}	if (uip_rexmit()) {		switch(s->state) {		case WELCOME_SENT:			uip_send("Handshake complete!/n", 20);			break;		case WELCOME_ACKED:			uip_send("Received packet/n", 16);			break;		}	}}
开发者ID:YuchenJ,项目名称:lp-tcp,代码行数:31,


示例16: example2_app

void example2_app(void) {struct  example2_state *s;	s = (struct  example2_state *)uip_conn->appstate;	if(uip_connected()) {	s->state = WELCOME_SENT;	uip_send("Welcome!/n", 9);return;}	if(uip_acked() && s->state == WELCOME_SENT) {	s->state = WELCOME_ACKED;	}	if(uip_newdata()) {	uip_send("ok1/n", 4);	led_on();//	while(1);	led_off();	}	if(uip_rexmit()) {		switch(s->state) {			case WELCOME_SENT:				uip_send("Welcome!/n", 9);				break;			case WELCOME_ACKED:				uip_send("ok2/n", 4);				break;		}	}}
开发者ID:tuteng,项目名称:uip,代码行数:28,


示例17: vnc_server_appcall

/*-----------------------------------------------------------------------------------*/voidvnc_server_appcall(struct vnc_server_state *vs){    vs->type = uip_htons(uip_conn->lport) - 5900;    if(uip_connected()) {        vnc_new(vs);        vs->state = VNC_VERSION;        vnc_server_send_data(vs);        return;    }    if(uip_acked()) {        PRINTF(("Acked/n"));        vnc_acked(vs);    }    if(uip_newdata()) {        PRINTF(("Newdata/n"));        vs->counter = 0;        if(vnc_read_data(vs) == 0) {            uip_abort();            return;        }    }    if(uip_rexmit()) {        PRINTF(("Rexmit/n"));    }    if(uip_newdata() ||            uip_rexmit() ||            uip_acked()) {        vnc_server_send_data(vs);    } else if(uip_poll()) {        ++vs->counter;        /* Abort connection after about 20 seconds of inactivity. */        if(vs->counter >= 40) {            uip_abort();            return;        }        vnc_out_poll(vs);    }}
开发者ID:bearxiong99,项目名称:lamp_project_master,代码行数:48,


示例18: httpd_main

voidhttpd_main(void){  if (uip_aborted() || uip_timedout())  {    printf("httpd: connection aborted/n");    httpd_cleanup();    return;  }  if (uip_closed())  {    printf("httpd: connection closed/n");    httpd_cleanup();    return;  }  if (uip_connected())  {    printf("httpd: new connection/n");    /* initialize struct */    STATE->handler = NULL;    STATE->header_acked = 0;    STATE->eof = 0;    STATE->header_reparse = 0;#ifdef HTTPD_AUTH_SUPPORT    STATE->auth_state = PAM_UNKOWN;#endif  }  if (uip_newdata() && (!STATE->handler || STATE->header_reparse))  {    printf("httpd: new data/n");    httpd_handle_input();  }#ifdef HTTPD_AUTH_SUPPORT  if (STATE->auth_state == PAM_DENIED && STATE->handler != httpd_handle_401)  {    httpd_cleanup();    STATE->handler = httpd_handle_401;    STATE->header_reparse = 0;    printf("httpd: auth failed/n");  }  else if (STATE->auth_state == PAM_PENDING)    return;                     /* Waiting for the PAM Layer */#endif  if (uip_rexmit() ||      uip_newdata() || uip_acked() || uip_poll() || uip_connected())  {    /* Call associated handler, if set already. */    if (STATE->handler && (!STATE->header_reparse))      STATE->handler();  }}
开发者ID:AnDann,项目名称:ethersex,代码行数:59,


示例19: 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,


示例20: PT_THREAD

/*---------------------------------------------------------------------*/staticPT_THREAD(recv_tcpthread(struct pt *pt)){  PT_BEGIN(pt);  /* Read the header. */  PT_WAIT_UNTIL(pt, uip_newdata() && uip_datalen() > 0);  if(uip_datalen() < sizeof(struct codeprop_tcphdr)) {    PRINTF(("codeprop: header not found in first tcp segment/n"));    uip_abort();    goto thread_done;  }  s.len = uip_htons(((struct codeprop_tcphdr *)uip_appdata)->len);  s.addr = 0;  uip_appdata += sizeof(struct codeprop_tcphdr);  uip_len -= sizeof(struct codeprop_tcphdr);  xmem_erase(XMEM_ERASE_UNIT_SIZE, EEPROMFS_ADDR_CODEPROP);  /* Read the rest of the data. */  do {          if(uip_len > 0) {      xmem_pwrite(uip_appdata, uip_len, EEPROMFS_ADDR_CODEPROP + s.addr);      s.addr += uip_len;    }    if(s.addr < s.len) {      PT_YIELD_UNTIL(pt, uip_newdata());    }	  } while(s.addr < s.len);  /* Kill old program. */  elfloader_unload();  /* Link, load, and start new program. */  int s;  static char msg[30 + 10];  s = elfloader_load(EEPROMFS_ADDR_CODEPROP);  if (s == ELFLOADER_OK)    sprintf(msg, "ok/n");  else    sprintf(msg, "err %d %s/n", s, elfloader_unknown);      /* Return "ok" message. */  do {    s = strlen(msg);    uip_send(msg, s);    PT_WAIT_UNTIL(pt, uip_acked() || uip_rexmit() || uip_closed());  } while(uip_rexmit());  /* Close the connection. */  uip_close();     thread_done:;  PT_END(pt);}
开发者ID:1uk3,项目名称:contiki,代码行数:58,


示例21: telnetd_appcall

/*---------------------------------------------------------------------------*/voidtelnetd_appcall(void){  static unsigned int i;  if(uip_connected()) {    /*    tcp_markconn(uip_conn, &s);*/    for(i = 0; i < TELNETD_CONF_NUMLINES; ++i) {      s.lines[i] = NULL;    }    s.bufptr = 0;    s.state = STATE_NORMAL;    shell_start();  }  if(s.state == STATE_CLOSE) {    s.state = STATE_NORMAL;    uip_close();    return;  }    if(uip_closed() ||     uip_aborted() ||     uip_timedout()) {    closed();  }    if(uip_acked()) {    acked();  }    if(uip_newdata()) {    newdata();  }    if(uip_rexmit() ||     uip_newdata() ||     uip_acked() ||     uip_connected() ||     uip_poll()) {    senddata();  }}
开发者ID:JKcompute,项目名称:395_midi_controller,代码行数:44,


示例22: file_stats

static u8_tfile_stats(void){  /* We use sprintf() to print the number of file accesses to a     particular file (given as an argument to the function in the     script). We then use uip_send() to actually send the data. */  if(uip_acked()) {    return 1;  }  uip_send(uip_appdata, sprintf((char *)uip_appdata, "%5u", httpd_fs_count(&hs->script[4])));  return 0;}
开发者ID:ZhepingYang,项目名称:contiki-1.x,代码行数:12,


示例23: sensors

/*-----------------------------------------------------------------------------------*/static u8_tsensors(void){  if(uip_acked()) {    return 1;  }  sprintf((char *)uip_appdata,	  "<li>Microphone 0x%x<br><li>Battery 0x%x<br><li>Temp %d<br><li>Extern 0x%x<br>",	  sensors_mic, sensors_battery, sensors_temp, sensors_extern);  uip_send(uip_appdata, strlen((char *)uip_appdata));  return 0;}
开发者ID:ZhepingYang,项目名称:contiki-1.x,代码行数:13,


示例24: specserver_appcall

/*-----------------------------------------------------------------------------------*/voidspecserver_appcall(void){	static uint8_t reqs = 0; static char *data;	if( uip_conn->lport != HTONS( SPECIAL_SERVER_PORT ) ) return; 	specserver_stats.frames++;	if( uip_connected() ) {		reqs = 0;	}	if( uip_newdata() ) {		specserver_stats.recv++;		char *p;		// Process response		data = (char*)uip_appdata;		p = strchr( data, '/r' ); if( p != NULL ) *p = 0;		p = strchr( data, '/n' ); if( p != NULL ) *p = 0;		data[50] = 0;	// Limit max size to one line or 50 char, whicever is smaller		reqs++;	}	if( uip_acked() ) {	}	if( uip_rexmit() ||		uip_newdata() ||		uip_acked()) {		// Send response		if( reqs > 0 ) {			reqs--;			uip_send( specserver_resp_data, specserver_resp_data_len );		}else{			uip_close();		}	} else if(uip_poll()) {		uip_close();	}}
开发者ID:GaizkaBellido,项目名称:origin_stellaris,代码行数:37,


示例25: mysql_main

static voidmysql_main(void){    if (uip_aborted() || uip_timedout()) {	MYDEBUG ("connection aborted/n");	mysql_conn = NULL;    }    if (uip_closed()) {	MYDEBUG ("connection closed/n");	mysql_conn = NULL;    }    if (uip_connected()) {	MYDEBUG ("new connection/n");	STATE->stage = MYSQL_WAIT_GREETING;	STATE->sent = MYSQL_WAIT_GREETING;	STATE->packetid = 0;    }    if (uip_newdata() && uip_len) {#ifdef DEBUG_MYSQL	MYDEBUG ("received data: %s/n", uip_appdata);	for (uint16_t i = 0; i < uip_len; i ++)	    debug_putchar (((unsigned char *) uip_appdata)[i]);	debug_putchar (10);#endif	if (mysql_parse ()) {	    uip_close ();		/* Parse error */	    return;	}    }    if (uip_rexmit()) {	STATE->packetid --;	mysql_send_data (STATE->sent);    }    else if ((STATE->stage > STATE->sent || STATE->stage == MYSQL_CONNECTED)	     && (uip_newdata()		 || uip_acked()		 || uip_connected()))	mysql_send_data (STATE->stage);    else if (STATE->stage == MYSQL_CONNECTED	     && uip_poll() && *STATE->u.stmtbuf)	mysql_send_data(STATE->stage);}
开发者ID:simeonfelis,项目名称:ethersex,代码行数:48,


示例26: data_acked

/*---------------------------------------------------------------------------*/static chardata_acked(register struct psock *s){  if(s->state == STATE_DATA_SENT && uip_acked()) {    if(s->sendlen > uip_mss()) {      s->sendlen -= uip_mss();      s->sendptr += uip_mss();    } else {      s->sendptr += s->sendlen;      s->sendlen = 0;    }    s->state = STATE_ACKED;    return 1;  }  return 0;}
开发者ID:BashfulBladder,项目名称:gargoyle,代码行数:17,


示例27: httpd_handle_404

voidhttpd_handle_404 (void){    if (uip_acked ()) {	uip_close ();	return;    }    PASTE_RESET ();    PASTE_P (httpd_header_404);    PASTE_P (httpd_header_length);    PASTE_LEN_P (httpd_body_404);    PASTE_P (httpd_header_end);    PASTE_P (httpd_body_404);    PASTE_SEND ();}
开发者ID:1234tester,项目名称:ethersex,代码行数:16,


示例28: httpd_handle_websocket

voidhttpd_handle_websocket (void){    if (uip_acked ()) {	uip_close ();	return;    }    PASTE_RESET ();    PASTE_P (httpd_header_opt);    //PASTE_P (httpd_header_length);    //PASTE_LEN_P (httpd_body_opt);    PASTE_P (httpd_header_end);    //PASTE_P (httpd_body_opt);    PASTE_SEND ();}
开发者ID:picohari,项目名称:intewa_firmware,代码行数:16,


示例29: mqttclient_appcall

void mqttclient_appcall(void) {    if (uip_poll()) {        _mqttclient_transfer_buffer();    } else if (uip_connected()) {        update_state(MQTTCLIENT_BROKER_CONNECTION_ESTABLISHED);        umqtt_connect(&_mqtt, &_connection_config);        _mqttclient_transfer_buffer();    } else if (uip_aborted() || uip_timedout() || uip_closed()) {        _mqttclient_handle_communication_error();    } else  if (uip_newdata()) {        _mqttclient_handle_new_data();    } else if (uip_acked()) {        _is_sending = false;    } else if (uip_rexmit()) {        _mqttclient_send();    }}
开发者ID:mcmatrix,项目名称:avr-dht22-node,代码行数:17,


示例30: httplog_net_main

static voidhttplog_net_main(void){  if (uip_aborted() || uip_timedout())  {    HTTPLOG_DEBUG("connection aborted/n");    goto end;  }  if (uip_closed())  {    HTTPLOG_DEBUG("connection closed/n");    goto end;  }  if (uip_connected() || uip_rexmit())  {    HTTPLOG_DEBUG("new connection or rexmit, sending message/n");    char *p = uip_appdata;    p += sprintf_P(p, get_string_head);#ifdef CONF_HTTPLOG_INCLUDE_UUID    p += sprintf_P(p, uuid_string);#endif#ifdef CONF_HTTPLOG_INCLUDE_TIMESTAMP    p += sprintf_P(p, time_string);    p += sprintf(p, "%lu&", clock_get_time());#endif    p += sprintf(p, httplog_tmp_buf);    p += sprintf_P(p, get_string_foot);    uip_udp_send(p - (char *) uip_appdata);    HTTPLOG_DEBUG("send %d bytes/n", p - (char *) uip_appdata);  }  if (uip_acked())  {    uip_close();  end:    if (httplog_tmp_buf)    {      free(httplog_tmp_buf);      httplog_tmp_buf = NULL;    }  }}
开发者ID:picohari,项目名称:intewa_firmware,代码行数:45,



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


C++ uip_arp_arpin函数代码示例
C++ uip_aborted函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。