亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? slipdev.c

?? MCS-51的一個(gè)Free小型操作系統(tǒng),在KeilC中下編譯工作
?? C
字號(hào):
/**
 * \addtogroup uip
 * @{
 */

/**
 * \defgroup slip Serial Line IP (SLIP) protocol
 * @{
 *
 * The SLIP protocol is a very simple way to transmit IP packets over
 * a serial line. It does not provide any framing or error control,
 * and is therefore not very widely used today.
 *
 * This SLIP implementation requires two functions for accessing the
 * serial device: slipdev_char_poll() and slipdev_char_put(). These
 * must be implemented specifically for the system on which the SLIP
 * protocol is to be run.
 */

/**
 * \file
 * SLIP protocol implementation
 * \author Adam Dunkels <adam@dunkels.com>
 */

/*
 * Copyright (c) 2001, Adam Dunkels.
 * All rights reserved. 
 *
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met: 
 * 1. Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer. 
 * 2. Redistributions in binary form must reproduce the above copyright 
 *    notice, this list of conditions and the following disclaimer in the 
 *    documentation and/or other materials provided with the distribution. 
 * 3. The name of the author may not be used to endorse or promote
 *    products derived from this software without specific prior
 *    written permission.  
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
 *
 * This file is part of the uIP TCP/IP stack.
 *
 * $Id: slipdev.c,v 1.1.2.3 2003/10/07 13:23:01 adam Exp $
 *
 */

/*
 * This is a generic implementation of the SLIP protocol over an RS232
 * (serial) device. 
 *
 * Huge thanks to Ullrich von Bassewitz <uz@cc65.org> of cc65 fame for
 * and endless supply of bugfixes, insightsful comments and
 * suggestions, and improvements to this code!
 */

#include "uip.h"

#define SLIP_END     0300
#define SLIP_ESC     0333
#define SLIP_ESC_END 0334
#define SLIP_ESC_ESC 0335

static u8_t slip_buf[UIP_BUFSIZE];

static u16_t len, tmplen;
static u8_t lastc;

/*-----------------------------------------------------------------------------------*/
/**
 * Send the packet in the uip_buf and uip_appdata buffers using the
 * SLIP protocol.
 *
 * The first 40 bytes of the packet (the IP and TCP headers) are read
 * from the uip_buf buffer, and the following bytes (the application
 * data) are read from the uip_appdata buffer.
 *
 */
/*-----------------------------------------------------------------------------------*/
void
slipdev_send(void)
{
  u16_t i;
  u8_t *ptr;
  u8_t c;

  slipdev_char_put(SLIP_END);

  ptr = uip_buf;
  for(i = 0; i < uip_len; ++i) {
    if(i == 40) {
      ptr = (u8_t *)uip_appdata;
    }
    c = *ptr++;
    switch(c) {
    case SLIP_END:
      slipdev_char_put(SLIP_ESC);
      slipdev_char_put(SLIP_ESC_END);
      break;
    case SLIP_ESC:
      slipdev_char_put(SLIP_ESC);
      slipdev_char_put(SLIP_ESC_ESC);
      break;
    default:
      slipdev_char_put(c);
      break;
    }
  }
  slipdev_char_put(SLIP_END);
}
/*-----------------------------------------------------------------------------------*/
/** 
 * Poll the SLIP device for an available packet.
 *
 * This function will poll the SLIP device to see if a packet is
 * available. It uses a buffer in which all avaliable bytes from the
 * RS232 interface are read into. When a full packet has been read
 * into the buffer, the packet is copied into the uip_buf buffer and
 * the length of the packet is returned.
 *
 * \return The length of the packet placed in the uip_buf buffer, or
 * zero if no packet is available.
 */
/*-----------------------------------------------------------------------------------*/
u16_t
slipdev_poll(void)
{
  u8_t c;
  
  while(slipdev_char_poll(c)) {
    switch(c) {
    case SLIP_ESC:
      lastc = c;
      break;
      
    case SLIP_END:
      lastc = c;
      /* End marker found, we copy our input buffer to the uip_buf
	 buffer and return the size of the packet we copied. */
      memcpy(uip_buf, slip_buf, len);
      tmplen = len;
      len = 0;
      return tmplen;
      
    default:     
      if(lastc == SLIP_ESC) {
	lastc = c;
	/* Previous read byte was an escape byte, so this byte will be
	   interpreted differently from others. */
	switch(c) {
	case SLIP_ESC_END:
	  c = SLIP_END;
	  break;
	case SLIP_ESC_ESC:
	  c = SLIP_ESC;
	  break;
	}
      } else {
	lastc = c;
      }
      
      slip_buf[len] = c;
      ++len;
      
      if(len > UIP_BUFSIZE) {
	len = 0;
      }
    
      break;
    }
  }
  return 0;
}
/*-----------------------------------------------------------------------------------*/
/**
 * Initialize the SLIP module.
 *
 * This function does not initialize the underlying RS232 device, but
 * only the SLIP part.
 */ 
/*-----------------------------------------------------------------------------------*/
void
slipdev_init(void)
{
  lastc = len = 0;
}
/*-----------------------------------------------------------------------------------*/

/** @} */
/** @} */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩av一区二区三区粉嫩| xnxx国产精品| 亚洲永久精品国产| 色综合天天狠狠| 亚洲人成小说网站色在线| 国产成人精品免费网站| 久久久www成人免费无遮挡大片| 日韩va欧美va亚洲va久久| 欧美日韩成人综合在线一区二区| 亚洲综合免费观看高清完整版在线| 99久久精品免费看国产免费软件| 国产精品三级视频| 99精品久久久久久| 一区二区不卡在线视频 午夜欧美不卡在| 99re亚洲国产精品| 亚洲婷婷综合色高清在线| 99九九99九九九视频精品| 亚洲高清视频在线| 精品国产污污免费网站入口| 国产麻豆午夜三级精品| 18涩涩午夜精品.www| 欧美日韩在线三级| 国产毛片精品视频| 夜夜精品视频一区二区| 91精品国产一区二区三区| 国内精品免费**视频| 1000精品久久久久久久久| 欧洲亚洲国产日韩| 国产精品一二一区| 丝袜诱惑亚洲看片| 国产欧美日韩另类视频免费观看| 91一区二区三区在线观看| 久久99久久精品欧美| 中文字幕一区二区三区色视频 | 国内久久精品视频| 一二三区精品视频| 国产精品少妇自拍| 欧美videos中文字幕| 欧美三级欧美一级| 91在线视频在线| 国产一区二区在线看| 亚洲成av人片在线观看无码| 欧美经典一区二区| 精品日韩在线观看| 欧美日韩一区国产| 91在线观看一区二区| 粉嫩av一区二区三区粉嫩 | 亚洲高清三级视频| 一区二区在线观看免费| 中文字幕一区二区三区四区| 国产欧美一区二区三区鸳鸯浴| 欧美图片一区二区三区| 色呦呦一区二区三区| 色综合久久中文综合久久97| 懂色av一区二区在线播放| 国产成a人无v码亚洲福利| 韩国理伦片一区二区三区在线播放| 青娱乐精品视频在线| 免费高清视频精品| 国内精品国产成人国产三级粉色| 久久国产精品第一页| 国产成人精品午夜视频免费| 国产精品 日产精品 欧美精品| 国产一区三区三区| 成人aa视频在线观看| 欧美性猛片aaaaaaa做受| 欧美无人高清视频在线观看| 欧美日韩一区二区三区在线看| 日韩视频免费观看高清完整版在线观看| 欧美日韩黄色一区二区| 日韩视频免费观看高清完整版 | 91浏览器打开| 3atv一区二区三区| 欧美国产乱子伦 | 色婷婷久久99综合精品jk白丝| 欧美日韩激情一区二区三区| 欧美一区二区美女| 亚洲人成精品久久久久久 | 亚洲综合精品久久| 国产精品456露脸| 欧美精品v国产精品v日韩精品| 国产午夜亚洲精品羞羞网站| 亚洲午夜国产一区99re久久| 国产一区美女在线| 欧美午夜精品理论片a级按摩| 久久精品网站免费观看| 成人禁用看黄a在线| 欧美色图天堂网| 中文久久乱码一区二区| 国产在线视频一区二区| 欧美日韩卡一卡二| 一级特黄大欧美久久久| 成人综合在线视频| 国产日韩欧美一区二区三区乱码| 亚洲国产日韩一级| 日韩亚洲欧美在线观看| 一区二区三区欧美日| 亚洲精品在线观看视频| 美女网站视频久久| 日韩女优电影在线观看| 日韩成人午夜电影| 日韩一区二区三区精品视频| 天天操天天色综合| 欧美精品一级二级三级| 日日夜夜一区二区| 91精品国产综合久久久蜜臀图片| 日韩av成人高清| 日韩午夜三级在线| 国产精品自拍av| 成人免费在线播放视频| 色av成人天堂桃色av| 一区二区三区视频在线看| 欧美喷水一区二区| 国产一区在线观看麻豆| 国产精品福利一区| 欧美人牲a欧美精品| 国产在线观看一区二区| 中文字幕亚洲精品在线观看| 色先锋aa成人| 免费久久精品视频| 国产精品毛片大码女人| 欧美在线999| 国产麻豆欧美日韩一区| 日韩伦理电影网| 日韩欧美一级二级三级| 99久久国产免费看| 极品尤物av久久免费看| 亚洲激情自拍视频| 国产日韩欧美综合一区| 欧美精品视频www在线观看| 国产成人精品网址| 老色鬼精品视频在线观看播放| 日本一区二区成人| 日韩欧美中文字幕公布| 欧美在线短视频| va亚洲va日韩不卡在线观看| 美女视频黄a大片欧美| 亚洲综合丝袜美腿| 一区二区三区国产豹纹内裤在线| 日韩视频免费观看高清完整版在线观看| 波多野结衣在线一区| 极品美女销魂一区二区三区| 亚洲成人777| 亚洲午夜私人影院| 香蕉加勒比综合久久| 亚洲最大色网站| 一区二区三区四区五区视频在线观看| 久久久欧美精品sm网站| 欧美精品一区二区久久久| 欧美一区二区三区视频在线观看| 欧美三级资源在线| 欧美人与禽zozo性伦| 欧美日韩日本视频| 91精品国产91久久综合桃花| 精品视频色一区| 欧美大尺度电影在线| 日韩欧美在线影院| 26uuu精品一区二区| 久久影音资源网| 国产日韩精品久久久| 国产精品欧美一区二区三区| 亚洲老妇xxxxxx| 午夜不卡av免费| 国产一区二区三区精品欧美日韩一区二区三区 | 在线观看视频一区二区 | 欧美成人性福生活免费看| 精品国产在天天线2019| 久久精品视频免费| 夜夜嗨av一区二区三区四季av | 欧美性色黄大片| 精品少妇一区二区三区视频免付费| 久久久99精品久久| 一区二区成人在线观看| 国产一区二区三区久久久| 色综合一个色综合| 欧美videos中文字幕| 一区二区免费看| 成人av小说网| 精品日产卡一卡二卡麻豆| 亚洲免费观看高清| 丁香天五香天堂综合| 在线播放视频一区| 亚洲欧美日韩人成在线播放| 麻豆中文一区二区| 欧美视频在线一区| 亚洲精品欧美在线| 成熟亚洲日本毛茸茸凸凹| 久久综合九色欧美综合狠狠| 亚洲成年人网站在线观看| 色综合亚洲欧洲| √…a在线天堂一区| 大尺度一区二区| 国产欧美日本一区视频| 国产一区二区三区久久久| 日韩写真欧美这视频| 日韩不卡一二三区| 这里是久久伊人| 日韩电影网1区2区| 欧美大片在线观看一区| 国产风韵犹存在线视精品|