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

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

?? sys.h

?? 一個單片機實現(xiàn)以太網(wǎng)通信的程序
?? H
字號:
/*
 * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
 * 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 lwIP TCP/IP stack.
 * 
 * Author: Adam Dunkels <adam@sics.se>
 *
 */
#ifndef __LWIP_SYS_H__
#define __LWIP_SYS_H__

#include "cc.h"

#include "lwip/opt.h"


#if NO_SYS

/* For a totally minimal and standalone system, we provide null
   definitions of the sys_ functions. */
typedef u8_t sys_sem_t;
typedef u8_t sys_mbox_t;
struct sys_timeout {u8_t dummy;};

#define sys_init()
#define sys_timeout(m,h,a)
#define sys_untimeout(m,a)
#define sys_sem_new(c) c
#define sys_sem_signal(s)
#define sys_sem_wait(s)
#define sys_sem_free(s)
#define sys_mbox_new() 0
#define sys_mbox_fetch(m,d)
#define sys_mbox_post(m,d)
#define sys_mbox_free(m)

#define sys_thread_new(t,a,p)

#else /* NO_SYS */

//#include "arch/sys_arch.h"

/** Return code for timeouts from sys_arch_mbox_fetch and sys_arch_sem_wait */
#define SYS_ARCH_TIMEOUT 0xffffffff

typedef void (* sys_timeout_handler)(void *arg);

struct sys_timeout {
  struct sys_timeout *next;
  u32_t time;
  sys_timeout_handler h;
  void *arg;
};

struct sys_timeouts {
  struct sys_timeout *next;
};

/* sys_init() must be called before anthing else. */
void sys_init(void);

/*
 * sys_timeout():
 *
 * Schedule a timeout a specified amount of milliseconds in the
 * future. When the timeout occurs, the specified timeout handler will
 * be called. The handler will be passed the "arg" argument when
 * called.
 *
 */
void sys_timeout(u32_t msecs, sys_timeout_handler h, void *arg);
void sys_untimeout(sys_timeout_handler h, void *arg);
struct sys_timeouts *sys_arch_timeouts(void);

/* Semaphore functions. */
sys_sem_t sys_sem_new(u8_t count);
void sys_sem_signal(sys_sem_t sem);
u32_t sys_arch_sem_wait(sys_sem_t sem, u32_t timeout);
void sys_sem_free(sys_sem_t sem);
void sys_sem_wait(sys_sem_t sem);
int sys_sem_wait_timeout(sys_sem_t sem, u32_t timeout);

/* Time functions. */
#ifndef sys_msleep
void sys_msleep(u32_t ms); /* only has a (close to) 1 jiffy resolution. */
#endif
#ifndef sys_jiffies
u32_t sys_jiffies(void); /* since power up. */
#endif

/* Mailbox functions. */
sys_mbox_t sys_mbox_new(void);
void sys_mbox_post(sys_mbox_t mbox, void *msg);
u32_t sys_arch_mbox_fetch(sys_mbox_t mbox, void **msg, u32_t timeout);
void sys_mbox_free(sys_mbox_t mbox);
void sys_mbox_fetch(sys_mbox_t mbox, void **msg);


/* Thread functions. */
sys_thread_t sys_thread_new(void (* thread)(void *arg), void *arg, int prio);


/* The following functions are used only in Unix code, and
   can be omitted when porting the stack. */
/* Returns the current time in microseconds. */
unsigned long sys_now(void);

#endif /* NO_SYS */

/* Critical Region Protection */
/* These functions must be implemented in the sys_arch.c file.
   In some implementations they can provide a more light-weight protection
   mechanism than using semaphores. Otherwise semaphores can be used for
   implementation */
#ifndef SYS_ARCH_PROTECT
/** SYS_LIGHTWEIGHT_PROT
 * define SYS_LIGHTWEIGHT_PROT in lwipopts.h if you want inter-task protection
 * for certain critical regions during buffer allocation, deallocation and memory
 * allocation and deallocation.
 */
#if SYS_LIGHTWEIGHT_PROT

/** SYS_ARCH_DECL_PROTECT
 * declare a protection variable. This macro will default to defining a variable of
 * type sys_prot_t. If a particular port needs a different implementation, then
 * this macro may be defined in sys_arch.h.
 */
#define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t lev
/** SYS_ARCH_PROTECT
 * Perform a "fast" protect. This could be implemented by
 * disabling interrupts for an embedded system or by using a semaphore or
 * mutex. The implementation should allow calling SYS_ARCH_PROTECT when
 * already protected. The old protection level is returned in the variable
 * "lev". This macro will default to calling the sys_arch_protect() function
 * which should be implemented in sys_arch.c. If a particular port needs a
 * different implementation, then this macro may be defined in sys_arch.h
 */
#define SYS_ARCH_PROTECT(lev) lev = sys_arch_protect()
/** SYS_ARCH_UNPROTECT
 * Perform a "fast" set of the protection level to "lev". This could be
 * implemented by setting the interrupt level to "lev" within the MACRO or by
 * using a semaphore or mutex.  This macro will default to calling the
 * sys_arch_unprotect() function which should be implemented in
 * sys_arch.c. If a particular port needs a different implementation, then
 * this macro may be defined in sys_arch.h
 */
#define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(lev)
sys_prot_t sys_arch_protect(void);
void sys_arch_unprotect(sys_prot_t pval);

#else

#define SYS_ARCH_DECL_PROTECT(lev)
#define SYS_ARCH_PROTECT(lev)
#define SYS_ARCH_UNPROTECT(lev)

#endif /* SYS_LIGHTWEIGHT_PROT */

#endif /* SYS_ARCH_PROTECT */

#endif /* __LWIP_SYS_H__ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品77777竹菊影视小说| 99精品欧美一区二区三区小说| 国产精品综合网| 欧美性猛交xxxx乱大交退制版| 欧美一区二区三区在线电影 | 在线观看网站黄不卡| 欧美成人a∨高清免费观看| 亚洲欧美色图小说| 裸体健美xxxx欧美裸体表演| 91看片淫黄大片一级在线观看| 欧美大片顶级少妇| 亚洲午夜久久久| 成人免费va视频| 精品剧情在线观看| 亚洲第四色夜色| 91丨porny丨最新| 久久久不卡影院| 久久99精品久久久久久| 欧美三级三级三级| 一区二区三区小说| 成人黄色一级视频| 久久久久久97三级| 日韩电影免费在线看| 91国模大尺度私拍在线视频| 中文字幕制服丝袜成人av| 国产在线一区二区| 欧美成人乱码一区二区三区| 午夜电影一区二区| 欧美日韩在线播| 一区二区三区欧美久久| 91麻豆精品在线观看| 国产精品精品国产色婷婷| 国产电影一区在线| 久久久久久久久99精品| 韩国视频一区二区| 久久只精品国产| 九九九久久久精品| 欧美变态口味重另类| 国内成+人亚洲+欧美+综合在线| 日韩小视频在线观看专区| 日韩激情一二三区| 欧美一区二区在线视频| 奇米影视在线99精品| 日韩欧美专区在线| 精品一区二区三区免费视频| xnxx国产精品| 国产精品香蕉一区二区三区| 欧美国产乱子伦 | 一本一本大道香蕉久在线精品 | 欧美在线不卡一区| 亚欧色一区w666天堂| 欧美乱妇一区二区三区不卡视频| 香蕉乱码成人久久天堂爱免费| 欧美日韩一卡二卡三卡 | 国内精品伊人久久久久av影院| 日韩精品最新网址| 国产精品综合视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 本田岬高潮一区二区三区| 亚洲人一二三区| 欧美精品日韩综合在线| 久久福利视频一区二区| 欧美激情一区二区| 色中色一区二区| 蜜臀a∨国产成人精品| 欧美国产成人精品| 欧美在线不卡视频| 国产乱子伦一区二区三区国色天香 | 亚洲免费观看在线观看| 欧美体内she精视频| 激情图片小说一区| 国产精品久久久久久久久免费相片| 色噜噜狠狠成人中文综合| 日韩精品乱码av一区二区| 国产午夜精品一区二区三区嫩草| 91麻豆swag| 精品系列免费在线观看| 自拍偷在线精品自拍偷无码专区 | 日韩精品五月天| 国产精品久久久久久亚洲毛片| 欧美另类久久久品| 国产福利视频一区二区三区| 亚洲成人av中文| 国产精品久久毛片av大全日韩| 欧美精品黑人性xxxx| 成人福利电影精品一区二区在线观看| 视频一区二区中文字幕| 国产精品久久久久9999吃药| 日韩欧美在线不卡| 欧美视频在线一区| 成人国产精品免费网站| 精品一区二区三区在线播放视频| 樱花草国产18久久久久| 中文字幕第一区第二区| 欧美一区二区三区四区在线观看| 91视频你懂的| 成人丝袜高跟foot| 国产在线播放一区二区三区| 三级亚洲高清视频| 亚洲一区二区三区不卡国产欧美| 国产三级精品三级在线专区| 日韩一区二区在线看| 在线视频国产一区| 石原莉奈在线亚洲二区| 亚洲主播在线观看| 中文一区在线播放| 精品国产一区二区三区久久影院 | 欧美高清在线一区| 这里只有精品99re| 91麻豆高清视频| 不卡一区在线观看| 国产一区二区三区不卡在线观看| 亚洲成av人片在线观看| 亚洲色图欧美在线| 亚洲天堂免费在线观看视频| 久久在线观看免费| 日韩欧美一级在线播放| 欧美日韩小视频| 色又黄又爽网站www久久| 99r国产精品| 99麻豆久久久国产精品免费| 国产夫妻精品视频| 国产自产高清不卡| 寂寞少妇一区二区三区| 激情六月婷婷久久| 久久精品免费观看| 蜜臀av性久久久久av蜜臀妖精 | 亚洲欧美自拍偷拍色图| 国产精品二区一区二区aⅴ污介绍| 久久综合狠狠综合久久综合88| 日韩一区二区中文字幕| 欧美一区二区三区免费| 777奇米成人网| 欧美大肚乱孕交hd孕妇| 日韩一二三区视频| 日韩精品一区二区三区在线 | 久久精品国产色蜜蜜麻豆| 天天影视涩香欲综合网| 日韩国产欧美在线播放| 日韩精品国产欧美| 日本免费在线视频不卡一不卡二| 狠狠久久亚洲欧美| 国产高清亚洲一区| av激情成人网| 色av一区二区| 欧美日韩黄视频| 欧美精三区欧美精三区| 91精品国产色综合久久不卡蜜臀| 日韩午夜三级在线| 国产夜色精品一区二区av| 中文字幕 久热精品 视频在线| 国产精品欧美综合在线| 亚洲丝袜精品丝袜在线| 一区二区不卡在线视频 午夜欧美不卡在| 玉足女爽爽91| 秋霞午夜av一区二区三区| 国产综合久久久久影院| 99精品视频免费在线观看| 欧美一级二级三级蜜桃| 久久综合国产精品| 一区二区欧美精品| 麻豆视频一区二区| 国产精品亚洲午夜一区二区三区| 欧美性高清videossexo| 日韩精品一区二区在线观看| 日本一区二区免费在线| 亚洲综合在线五月| 国产精品羞羞答答xxdd| 欧美午夜精品一区二区三区| 日韩欧美国产综合一区| 国产精品久久久久影院色老大| 亚洲午夜精品网| 99久久免费视频.com| 91麻豆精品久久久久蜜臀| 国产色爱av资源综合区| 亚洲永久免费av| 九九九久久久精品| 欧美一三区三区四区免费在线看| 国产日本亚洲高清| 天堂在线一区二区| 99久久精品免费| 国产三级精品三级在线专区| 视频一区视频二区中文字幕| 成人黄色av网站在线| 日韩免费观看高清完整版| 日韩精品电影一区亚洲| 99久久精品国产精品久久| 精品久久国产老人久久综合| 一区二区三区欧美视频| 波多野结衣在线一区| 精品入口麻豆88视频| 亚洲第一主播视频| 本田岬高潮一区二区三区| 日韩欧美电影在线| 日本视频一区二区| 欧美激情一区二区在线| 久久精品99国产国产精| 欧美精品在线一区二区三区| 亚洲aaa精品| 欧美在线你懂的|