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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sys.h

?? ucos+lwip在44b0+8019開發板上跑得比較穩定的程序。是ADS的工程
?? 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 "arch/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)


/* We don't need protection if there is no OS */
#define SYS_ARCH_DECL_PROTECT(lev)
#define SYS_ARCH_PROTECT(lev) 
#define SYS_ARCH_UNPROTECT(lev)

#else /* NO_SYS */

#include "arch/sys_arch.h"

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);
u16_t sys_arch_sem_wait(sys_sem_t sem, u16_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);

/* 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);
u16_t sys_arch_mbox_fetch(sys_mbox_t mbox, void **msg, u16_t timeout);

void sys_mbox_free(sys_mbox_t mbox);
void sys_mbox_fetch(sys_mbox_t mbox, void **msg);

/* 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);
#endif /* SYS_LIGHTWEIGHT_PROT */

#endif /* SYS_ARCH_PROTECT */

/* 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 */

#endif /* __LWIP_SYS_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人18毛片水真多成人如厕| 欧美日韩高清不卡| 国产在线视频精品一区| 亚洲成人免费视频| 日韩精品乱码免费| 免费观看在线色综合| 青青青爽久久午夜综合久久午夜| 日韩成人一区二区| 免费精品视频在线| 国产自产v一区二区三区c| 精品一区二区免费| 成人免费不卡视频| 91丨九色porny丨蝌蚪| 色综合久久综合网欧美综合网| 91麻豆精品秘密| 欧美日韩视频在线一区二区| 欧美美女一区二区在线观看| 日韩欧美一区二区免费| 精品精品国产高清一毛片一天堂| 久久久亚洲午夜电影| 国产精品理论片| 亚洲成av人综合在线观看| 五月激情综合网| 精品一区二区三区在线视频| 本田岬高潮一区二区三区| 色哟哟一区二区三区| 日韩一区二区电影在线| 国产欧美视频一区二区| 亚洲一区二区3| 黄页视频在线91| 色悠悠亚洲一区二区| 日韩一级欧美一级| 亚洲图片激情小说| 看片网站欧美日韩| 色婷婷亚洲综合| 精品区一区二区| 一区二区理论电影在线观看| 久久成人免费电影| 91国偷自产一区二区开放时间| 日韩一级免费一区| 亚洲女同ⅹxx女同tv| 精东粉嫩av免费一区二区三区| 成人动漫一区二区在线| 日韩欧美高清一区| 亚洲欧美激情插| 国产一区二区三区四| 欧美日韩久久久| 中文字幕亚洲电影| 黄色日韩网站视频| 91精品蜜臀在线一区尤物| 中文字幕五月欧美| 国产成人精品午夜视频免费| 欧美高清性hdvideosex| 一区二区视频免费在线观看| 国产在线精品视频| 日韩欧美国产一区二区三区 | 国产欧美日韩综合精品一区二区| 首页国产丝袜综合| 91成人看片片| 亚洲精品一卡二卡| 91在线观看污| 国产精品家庭影院| 成人av免费观看| 亚洲国产精品高清| 国产一区二区不卡在线| 精品日韩在线观看| 麻豆精品视频在线观看视频| 欧美精品一级二级| 午夜精品久久久| 欧美精品在线观看播放| 图片区小说区区亚洲影院| 色狠狠一区二区三区香蕉| 国产精品久久777777| 丁香六月久久综合狠狠色| 国产婷婷色一区二区三区四区| 久久激五月天综合精品| 日韩视频免费观看高清完整版 | 日韩一区二区影院| 日本成人在线一区| 日韩午夜在线观看| 精品一区二区日韩| 久久久久久一级片| xvideos.蜜桃一区二区| 日韩精品最新网址| 麻豆一区二区99久久久久| 91精品国产综合久久精品| 亚洲国产视频在线| 91精品久久久久久蜜臀| 麻豆91在线观看| 久久久久一区二区三区四区| 成人黄色小视频| 亚洲精品一二三四区| 欧美日韩免费高清一区色橹橹| 日韩高清在线一区| 久久久精品蜜桃| 色综合天天天天做夜夜夜夜做| 亚洲一区在线电影| 日韩精品一区二区三区老鸭窝| 毛片基地黄久久久久久天堂| 国产农村妇女精品| 91福利在线观看| 精品一区二区免费| 亚洲日本青草视频在线怡红院| 欧美性大战久久久久久久 | 欧美丰满美乳xxx高潮www| 久久国内精品视频| 日韩一区在线播放| 91超碰这里只有精品国产| 国产乱码字幕精品高清av| 日韩码欧中文字| 日韩欧美在线网站| 91一区二区三区在线观看| 婷婷久久综合九色综合绿巨人 | 粉嫩一区二区三区在线看| 亚洲同性同志一二三专区| 欧美精品电影在线播放| 国产成人午夜片在线观看高清观看| 亚洲天堂a在线| 欧美精品一区二区三区久久久| 色呦呦国产精品| 国产成人午夜精品5599| 亚洲成人动漫精品| 国产精品国产自产拍高清av王其 | 麻豆一区二区三| 日韩一区在线看| 欧美成人乱码一区二区三区| 91美女蜜桃在线| 久久99精品久久久| 无吗不卡中文字幕| 亚洲欧美一区二区久久| 日本一区二区三级电影在线观看 | 欧美性一二三区| 国产一区二三区好的| 视频一区二区欧美| 亚洲乱码一区二区三区在线观看| 久久久www成人免费毛片麻豆| 欧美精品久久久久久久多人混战| 色偷偷成人一区二区三区91| 国产成人午夜视频| 国产精品系列在线观看| 捆绑调教一区二区三区| 日韩电影一区二区三区四区| 亚洲精品免费视频| 亚洲裸体在线观看| 一区在线观看免费| 国产精品乱码久久久久久| 久久亚洲私人国产精品va媚药| 日韩一区二区三区四区 | 狠狠狠色丁香婷婷综合激情| 丝袜美腿一区二区三区| 亚洲大片精品永久免费| 亚洲午夜成aⅴ人片| 亚洲精品视频一区二区| 亚洲免费在线观看| 一区二区成人在线视频 | 欧美一区二区三区四区高清| 欧美三区免费完整视频在线观看| 在线观看成人免费视频| 在线亚洲一区二区| 欧美影院一区二区| 91麻豆精品久久久久蜜臀| 制服.丝袜.亚洲.中文.综合| 91.com在线观看| 精品精品国产高清a毛片牛牛| 精品国产凹凸成av人导航| 26uuu亚洲| 中文一区在线播放| 一区二区在线观看视频| 性做久久久久久久免费看| 日韩电影在线看| 国产一区二区h| 色综合久久久久久久| 欧美日韩卡一卡二| 欧美精品一区二区三区蜜桃| 国产视频一区二区三区在线观看| 国产精品久久久久一区二区三区| 亚洲少妇中出一区| 日韩精品亚洲一区二区三区免费| 精品一区二区三区影院在线午夜| 国产精品自产自拍| 色婷婷久久综合| 欧美大片免费久久精品三p| 国产丝袜在线精品| 亚洲第一主播视频| 国产精品一区久久久久| 色哟哟精品一区| 欧美刺激脚交jootjob| 国产精品欧美久久久久无广告 | 国产天堂亚洲国产碰碰| 亚洲免费看黄网站| 久久er99精品| 在线欧美日韩精品| 久久久久久久久久久久久久久99 | 亚洲品质自拍视频网站| 日本sm残虐另类| 色婷婷综合在线| 精品88久久久久88久久久| 亚洲精选视频免费看| 国内精品嫩模私拍在线| 欧美色大人视频|