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

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

?? sys_arch.txt

?? TCPIP源碼
?? 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一区二区三区免费野_久草精品视频
色久优优欧美色久优优| 日韩欧美中文字幕公布| 99久久精品久久久久久清纯| 99热国产精品| 日韩欧美在线综合网| 蜜桃久久久久久| 成人美女视频在线观看| 欧美丝袜第三区| 国产精品蜜臀在线观看| 亚洲午夜久久久| 国产精品一区二区三区99| 欧美综合久久久| 中文字幕在线播放不卡一区| 蜜桃视频免费观看一区| 精品三级av在线| 亚洲第一成人在线| 91性感美女视频| 久久久久国产免费免费| 天堂成人免费av电影一区| 色综合av在线| 国产精品网站在线观看| 91尤物视频在线观看| 亚洲一区av在线| 不卡的av中国片| 中文子幕无线码一区tr| 久久99精品国产.久久久久| 欧美在线高清视频| 久久成人免费电影| 日韩午夜av一区| av一本久道久久综合久久鬼色| 一区二区三区电影在线播| 99久久精品99国产精品| 亚洲高清视频的网址| 26uuu国产在线精品一区二区| 日本中文在线一区| 日韩欧美aaaaaa| 国产一区二区h| 国产精品不卡在线| av不卡免费在线观看| 日韩黄色小视频| 国产精品国产三级国产有无不卡 | 精彩视频一区二区三区| 中文字幕欧美一区| 精品处破学生在线二十三| 国产精品综合av一区二区国产馆| 综合电影一区二区三区| 在线免费视频一区二区| 国产精品一区二区免费不卡| 亚洲chinese男男1069| 日本一区二区视频在线观看| 国产成人鲁色资源国产91色综| 国产精品毛片大码女人| 日韩欧美一区在线观看| 色先锋资源久久综合| 高清成人免费视频| 一区av在线播放| 日韩专区欧美专区| 国产精品另类一区| 精品少妇一区二区三区| 欧美高清视频不卡网| 日产国产高清一区二区三区| 一区二区三区在线影院| 国产精品大尺度| 国产亚洲福利社区一区| 91小视频免费观看| 国产91露脸合集magnet| 精品午夜一区二区三区在线观看| 天天影视网天天综合色在线播放 | 日韩一区二区三| 欧美一区中文字幕| 国产成人精品午夜视频免费| 蜜臀av性久久久久蜜臀aⅴ| 三级影片在线观看欧美日韩一区二区| 亚洲日本在线观看| 亚洲欧美成aⅴ人在线观看| 91麻豆精品国产综合久久久久久| 久久不见久久见免费视频1| 亚瑟在线精品视频| 亚洲国产精品嫩草影院| 亚洲成a人v欧美综合天堂下载| 一区二区欧美国产| 亚洲激情在线激情| 国产欧美精品区一区二区三区 | 欧美大黄免费观看| 精品乱人伦小说| 欧美xingq一区二区| 精品国产成人系列| 国产三区在线成人av| 国产精品久久三区| 亚洲免费av在线| 亚洲二区在线观看| 老司机免费视频一区二区三区| 久久精品国产99| 国产精品一区三区| 91麻豆精品一区二区三区| 99国产精品久久久久久久久久| 色偷偷88欧美精品久久久| 欧美日韩一卡二卡三卡| 99久久婷婷国产综合精品| 色综合天天天天做夜夜夜夜做| 久久不见久久见中文字幕免费| 国产又粗又猛又爽又黄91精品| 国产精品99久久久久久久女警| 成人黄色av网站在线| 色综合久久久网| 欧美一区二区三区成人| 国产色婷婷亚洲99精品小说| 亚洲日本丝袜连裤袜办公室| 亚洲v中文字幕| 国产精品亚洲一区二区三区在线 | 色综合久久综合网| 欧美一区二区三区在线观看| 久久久亚洲高清| 亚洲久草在线视频| 久久国产麻豆精品| 99国产精品久| 欧美刺激脚交jootjob| 国产免费成人在线视频| 亚洲va欧美va天堂v国产综合| 美女网站色91| 一本到一区二区三区| 精品裸体舞一区二区三区| 国产精品久久三区| 蜜臀av性久久久久蜜臀av麻豆| 成人av网站在线观看免费| 欧美电影影音先锋| 亚洲少妇中出一区| 国内成+人亚洲+欧美+综合在线| 九一九一国产精品| 欧美亚洲愉拍一区二区| 久久久久97国产精华液好用吗| 亚洲一区在线观看免费观看电影高清| 国产美女一区二区| 日韩一区二区三区观看| 亚洲日本在线天堂| 成人午夜在线视频| 日韩午夜在线观看| 亚洲成av人影院在线观看网| 成人av在线影院| 精品国产网站在线观看| 亚洲一二三区在线观看| 成人av免费网站| 久久久久久久性| 另类综合日韩欧美亚洲| 欧美性猛交xxxxxx富婆| 国产精品伦理在线| 国产专区欧美精品| 日韩你懂的在线播放| 一区二区日韩电影| 成人福利视频网站| 久久久欧美精品sm网站| 久久黄色级2电影| 欧美日韩精品三区| 精品国产百合女同互慰| 亚洲电影你懂得| 欧美这里有精品| 亚洲天天做日日做天天谢日日欢| 国产精品中文字幕欧美| 精品日产卡一卡二卡麻豆| 首页综合国产亚洲丝袜| 欧美中文字幕亚洲一区二区va在线| 中文字幕一区二区三区在线观看| 国产成人8x视频一区二区| 久久影院电视剧免费观看| 麻豆极品一区二区三区| 日韩美女一区二区三区四区| 免费不卡在线视频| av成人免费在线观看| 中文字幕不卡在线| 成人动漫一区二区在线| 国产日韩亚洲欧美综合| 成人一区二区三区视频| 国产午夜亚洲精品理论片色戒| 国产精品自拍在线| 中文字幕高清不卡| 97精品久久久午夜一区二区三区 | 欧美日韩大陆一区二区| 亚洲一区二区欧美激情| 欧美日本精品一区二区三区| 午夜精品一区在线观看| 欧美精品在欧美一区二区少妇| 亚洲福利视频三区| 6080午夜不卡| 久久99国产精品免费网站| 久久精品水蜜桃av综合天堂| 成人免费高清视频在线观看| 国产精品区一区二区三| 91蝌蚪porny| 日韩高清一区二区| 久久一二三国产| 99久久精品免费看国产| 亚洲国产精品一区二区www在线| 这里是久久伊人| 国产一区二区在线免费观看| 国产精品国产自产拍高清av王其| 欧美在线观看一二区| 狠狠色综合播放一区二区| 亚洲欧洲日产国码二区| 欧美欧美欧美欧美首页| 国产精品99久久久久久久女警|