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

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

?? sys_arch.txt

?? MCS-51的一個Free小型操作系統,在KeilC中下編譯工作
?? TXT
字號:
sys_arch interface for lwIP 0.6++Author: Adam DunkelsThe operating system emulation layer provides a common interfacebetween the lwIP code and the underlying operating system kernel. Thegeneral idea is that porting lwIP to new architectures requires onlysmall changes to a few header files and a new sys_archimplementation. It is also possible to do a sys_arch implementationthat does not rely on any underlying operating system.The sys_arch provides semaphores and mailboxes to lwIP. For the fulllwIP functionality, multiple threads support can be implemented in thesys_arch, but this is not required for the basic lwIPfunctionality. Previous versions of lwIP required the sys_arch toimplement timer scheduling as well but as of lwIP 0.5 this isimplemented in a higher layer.In addition to the source file providing the functionality of sys_arch,the OS emulation layer must provide several header files definingmacros used throughout lwip.  The files required and the macros theymust define are listed below the sys_arch description.Semaphores can be either counting or binary - lwIP works with bothkinds. Mailboxes are used for message passing and can be implementedeither as a queue which allows multiple messages to be posted to amailbox, or as a rendez-vous point where only one message can beposted at a time. lwIP works with both kinds, but the former type willbe more efficient. A message in a mailbox is just a pointer, nothingmore. Semaphores are represented by the type "sys_sem_t" which is typedef'din the sys_arch.h file. Mailboxes are equivalently represented by thetype "sys_mbox_t". lwIP does not place any restrictions on howsys_sem_t or sys_mbox_t are represented internally.The following functions must be implemented by the sys_arch:- void sys_init(void)  Is called to initialize the sys_arch layer.- sys_sem_t sys_sem_new(u8_t count)  Creates and returns a new semaphore. The "count" argument specifies  the initial state of the semaphore.- void sys_sem_free(sys_sem_t sem)  Deallocates a semaphore.- void sys_sem_signal(sys_sem_t sem)  Signals a semaphore.- u32_t sys_arch_sem_wait(sys_sem_t sem, u32_t timeout)  Blocks the thread while waiting for the semaphore to be  signaled. If the "timeout" argument is non-zero, the thread should  only be blocked for the specified time (measured in  milliseconds).  If the timeout argument is non-zero, the return value is the number of  milliseconds spent waiting for the semaphore to be signaled. If the  semaphore wasn't signaled within the specified time, the return value is  SYS_ARCH_TIMEOUT. If the thread didn't have to wait for the semaphore  (i.e., it was already signaled), the function may return zero.  Notice that lwIP implements a function with a similar name,  sys_sem_wait(), that uses the sys_arch_sem_wait() function.- sys_mbox_t sys_mbox_new(void)  Creates an empty mailbox.- void sys_mbox_free(sys_mbox_t mbox)  Deallocates a mailbox. If there are messages still present in the  mailbox when the mailbox is deallocated, it is an indication of a  programming error in lwIP and the developer should be notified.- void sys_mbox_post(sys_mbox_t mbox, void *msg)  Posts the "msg" to the mailbox.- u32_t sys_arch_mbox_fetch(sys_mbox_t mbox, void **msg, u32_t timeout)  Blocks the thread until a message arrives in the mailbox, but does  not block the thread longer than "timeout" milliseconds (similar to  the sys_arch_sem_wait() function). The "msg" argument is a result  parameter that is set by the function (i.e., by doing "*msg =  ptr"). The "msg" parameter maybe NULL to indicate that the message  should be dropped.  The return values are the same as for the sys_arch_sem_wait() function:  Number of milliseconds spent waiting or SYS_ARCH_TIMEOUT if there was a  timeout.  Note that a function with a similar name, sys_mbox_fetch(), is  implemented by lwIP.   - struct sys_timeouts *sys_arch_timeouts(void)  Returns a pointer to the per-thread sys_timeouts structure. In lwIP,  each thread has a list of timeouts which is repressented as a linked  list of sys_timeout structures. The sys_timeouts structure holds a  pointer to a linked list of timeouts. This function is called by  the lwIP timeout scheduler and must not return a NULL value.   In a single threadd sys_arch implementation, this function will  simply return a pointer to a global sys_timeouts variable stored in  the sys_arch module.  If threads are supported by the underlying operating system and ifsuch functionality is needed in lwIP, the following function will haveto be implemented as well:- sys_thread_t sys_thread_new(void (* thread)(void *arg), void *arg, int prio)  Starts a new thread with priority "prio" that will begin its execution in the  function "thread()". The "arg" argument will be passed as an argument to the  thread() function. The id of the new thread is returned. Both the id and  the priority are system dependent.- sys_prot_t sys_arch_protect(void)  This optional function does a "fast" critical region protection and returns  the previous protection level. This function is only called during very short  critical regions. An embedded system which supports ISR-based drivers might  want to implement this function by disabling interrupts. Task-based systems  might want to implement this by using a mutex or disabling tasking. This  function should support recursive calls from the same task or interrupt. In  other words, sys_arch_protect() could be called while already protected. In  that case the return value indicates that it is already protected.  sys_arch_protect() is only required if your port is supporting an operating  system.- void sys_arch_unprotect(sys_prot_t pval)  This optional function does a "fast" set of critical region protection to the  value specified by pval. See the documentation for sys_arch_protect() for  more information. This function is only required if your port is supporting  an operating system.-------------------------------------------------------------------------------Additional files required for the "OS support" emulation layer:-------------------------------------------------------------------------------cc.h       - Architecture environment, some compiler specific, some             environment specific (probably should move env stuff              to sys_arch.h.)  Typedefs for the types used by lwip -    u8_t, s8_t, u16_t, s16_t, u32_t, s32_t, mem_ptr_t  Compiler hints for packing lwip's structures -    PACK_STRUCT_FIELD(x)    PACK_STRUCT_STRUCT    PACK_STRUCT_BEGIN    PACK_STRUCT_END  Platform specific diagnostic output -    LWIP_PLATFORM_DIAG(x)    - non-fatal, print a message.    LWIP_PLATFORM_ASSERT(x)  - fatal, print message and abandon execution.  "lightweight" synchronization mechanisms -    SYS_ARCH_DECL_PROTECT(x) - declare a protection state variable.    SYS_ARCH_PROTECT(x)      - enter protection mode.    SYS_ARCH_UNPROTECT(x)    - leave protection mode.  If the compiler does not provide memset() this file must include a  definition of it, or include a file which defines it.  This file must either include a system-local <errno.h> which defines  the standard *nix error codes, or it should #define LWIP_PROVIDE_ERRNO  to make lwip/arch.h define the codes which are used throughout.perf.h     - Architecture specific performance measurement.  Measurement calls made throughout lwip, these can be defined to nothing.    PERF_START               - start measuring something.    PERF_STOP(x)             - stop measuring something, and record the result.sys_arch.h - Tied to sys_arch.c  Arch dependent types for the following objects:    sys_sem_t, sys_mbox_t, sys_thread_t,  And, optionally:    sys_prot_t  Defines to set vars of sys_mbox_t and sys_sem_t to NULL.    SYS_MBOX_NULL NULL    SYS_SEM_NULL NULL

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜精品视频| 日韩黄色小视频| 天堂成人免费av电影一区| 风流少妇一区二区| 欧美日韩高清一区二区三区| 欧美国产精品一区| 激情综合色播五月| 欧美男同性恋视频网站| 亚洲伦理在线精品| 成人深夜在线观看| 久久日韩精品一区二区五区| 午夜久久福利影院| 欧美综合在线视频| 欧美经典三级视频一区二区三区| 日韩和欧美的一区| 欧美在线观看18| 亚洲激情一二三区| 91尤物视频在线观看| 亚洲国产经典视频| 国产精品一区二区男女羞羞无遮挡 | av一二三不卡影片| 久久精品一区二区三区不卡| 麻豆91在线观看| 欧美一激情一区二区三区| 日本最新不卡在线| 欧美一区二区三区免费在线看 | 91啦中文在线观看| 中文字幕中文乱码欧美一区二区| 国产在线观看一区二区| 欧美一卡2卡3卡4卡| 裸体在线国模精品偷拍| 欧美成人女星排行榜| 六月丁香综合在线视频| 久久综合久久久久88| 国产精品综合二区| 欧美激情一区二区三区蜜桃视频| 高清成人免费视频| 中文字幕免费一区| 色一区在线观看| 亚洲激情图片一区| 欧美巨大另类极品videosbest | 中文字幕精品综合| www.av精品| 一区二区三区鲁丝不卡| 欧美日韩一区中文字幕| 三级在线观看一区二区| 精品久久久久久久一区二区蜜臀| 极品瑜伽女神91| 久久久久国产成人精品亚洲午夜| 成人aa视频在线观看| 一区二区三区国产精华| 91精品国产高清一区二区三区 | 国产欧美一二三区| 成人不卡免费av| 一区二区激情视频| 欧美一级久久久| 国产+成+人+亚洲欧洲自线| 亚洲欧美精品午睡沙发| 91精品婷婷国产综合久久| 国产精品自在在线| 一区二区三区在线视频免费观看| 欧美精品一二三| 国产91丝袜在线18| 亚洲国产精品天堂| 国产午夜精品久久久久久免费视 | 欧美少妇bbb| 蜜臀精品久久久久久蜜臀| 国产欧美一区二区精品性色超碰 | 国产成人久久精品77777最新版本| 一区二区中文视频| 欧美一区二区三区男人的天堂 | 国产原创一区二区| 一区二区免费在线| 国产欧美一区二区精品久导航| 欧美色综合网站| 国产**成人网毛片九色 | 粉嫩一区二区三区性色av| 亚洲国产另类av| 中文字幕第一区综合| 91麻豆精品91久久久久同性| 成年人网站91| 亚洲成人免费在线| 亚洲欧美自拍偷拍色图| 91精品久久久久久久99蜜桃| 色婷婷国产精品综合在线观看| 国内精品久久久久影院一蜜桃| 亚洲综合色噜噜狠狠| 久久久精品2019中文字幕之3| 欧美日韩亚洲综合在线| 91免费在线看| 成人av在线播放网站| 激情综合五月天| 美女一区二区久久| 天天色综合天天| 亚洲综合色丁香婷婷六月图片| 中文字幕巨乱亚洲| 久久精品网站免费观看| 欧美日韩高清一区二区三区| 97se亚洲国产综合自在线观| 成人免费毛片app| 国产成人精品综合在线观看 | 亚洲第一久久影院| 亚洲欧洲中文日韩久久av乱码| 国产视频911| 精品精品国产高清一毛片一天堂| 欧美在线观看一二区| 色欧美片视频在线观看| 成人av在线网| 99国产一区二区三精品乱码| 99re热视频这里只精品 | 精品一区二区久久久| 日韩国产在线一| 亚洲成人高清在线| 亚洲韩国一区二区三区| 夜夜嗨av一区二区三区网页 | 日本高清成人免费播放| 91视频在线看| 日本韩国欧美一区| 欧美日韩一卡二卡| 777亚洲妇女| 精品精品欲导航| 精品久久国产字幕高潮| 久久久久久久久97黄色工厂| 久久精子c满五个校花| 中文字幕av免费专区久久| 国产精品污www在线观看| 中文字幕一区二区三区四区 | 在线看一区二区| 欧洲在线/亚洲| 欧美丰满美乳xxx高潮www| 日韩一区二区三区高清免费看看| 91麻豆精品91久久久久同性| 日韩一级免费观看| 久久久国产一区二区三区四区小说| 久久精品亚洲一区二区三区浴池 | 久久在线免费观看| 中文字幕av一区二区三区高| 亚洲日本丝袜连裤袜办公室| 亚洲精品乱码久久久久| 蜜臀久久99精品久久久久宅男| 国产黄色精品网站| 91在线观看成人| 欧美一区午夜视频在线观看| 国产亚洲自拍一区| 亚洲一二三区在线观看| 狠狠色狠狠色综合系列| 一本久久a久久精品亚洲| 欧美一区二区视频在线观看| 国产三级精品三级| 一区二区三区91| 国产一区二区在线影院| 91小视频免费观看| 日韩精品资源二区在线| 亚洲欧美偷拍另类a∨色屁股| 日本中文字幕一区| 床上的激情91.| 欧美顶级少妇做爰| 亚洲欧洲美洲综合色网| 美脚の诱脚舐め脚责91| 91一区二区在线观看| 欧美电影免费提供在线观看| 亚洲综合清纯丝袜自拍| 国产·精品毛片| 91精品国产美女浴室洗澡无遮挡| 18成人在线视频| 国产久卡久卡久卡久卡视频精品| 在线日韩国产精品| 久久久蜜桃精品| 蜜臀av性久久久久蜜臀aⅴ| 不卡免费追剧大全电视剧网站| 日韩欧美国产一区在线观看| 亚洲天堂中文字幕| 国产成人自拍高清视频在线免费播放| 欧美伦理视频网站| 亚洲精品自拍动漫在线| 丰满少妇久久久久久久 | 欧美人成免费网站| 亚洲精品中文在线| 成人免费观看视频| 26uuu欧美| 久久精品国产精品亚洲红杏| 欧美日本在线播放| 一区二区国产视频| 色综合久久久久久久久| 17c精品麻豆一区二区免费| 国产99精品在线观看| 久久精品无码一区二区三区| 国产在线精品国自产拍免费| 日韩精品一区二区三区三区免费| 日韩黄色小视频| 欧美一区二区在线看| 天天综合日日夜夜精品| 欧美男同性恋视频网站| 亚洲第一搞黄网站| 在线不卡一区二区| 青娱乐精品在线视频| 欧美一区二区福利在线| 免费观看日韩电影| 欧美一级夜夜爽| 精彩视频一区二区|