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

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

?? sos_sched.h

?? 嵌入式操作系統內核
?? H
字號:
#ifndef _SOS_SCHED_H_#define _SOS_SCHED_H_#include <hardware_types.h>#include <sos_types.h>#include <sos_module_types.h>enum {	SCHED_NUMBER_BINS    = 4,      //!< number of bins to store modules};// For software based interrupt called by schedulertypedef void (*sched_int_t)(void);enum {	SCHED_NUM_INTS           = 4,	SCHED_TIMER_INT          = 0,		SCHED_UART_SEND_INT      = 1,	SCHED_UART_RECV_INT      = 2,	SCHED_I2C_INT            = 3,	};/** * @brief schedule a callback to handle hardware interrupt *  * sched_add_interrupt adds a callback to scheduler. * The callback will be call when scheduler has gained the control of  * CPU.   * @warning add_interrupt requires id.  Each kernel module that need to  * use this service should reserve *unique* id above.  Also make sure to  * increase SCHED_NUM_INTS */extern void sched_add_interrupt(uint8_t id, sched_int_t f);/** * @brief scheduler initialization * @param cond system condition during initialization */extern void sched_init(uint8_t cond);/** * @brief main scheduler routine, it will never return! */extern void sched(void);/** * @brief register a new module * @param h pointer to module header, must use sos_get_header_address macro * @return errno * * register task for message handling */extern int8_t ker_register_module(mod_header_ptr h);/** * @brief de-register a task (module) * @param pid task id to be removed * * NOTE THAT THIS FUNCTION CANNOT BE CALLED IN INTERRUPT HANDLER */extern int8_t ker_deregister_module(sos_pid_t pid);/** * @brief spawn new module * @param h     pointer to module header, must use sos_get_header_address macro * @param init  data to be pass into MSG_INIT (has to be from ker_malloc()) * @param size  the size of init * @param flag  init_flag: can be either 0 or SOS_CREATE_THREAD * @return sos_pid_t when success, NULL_PID when failed * * 0 will register module with module ID * SOS_CREATE_THREAD will register module with internal ID allocated from ID pool */extern sos_pid_t  ker_spawn_module(mod_header_ptr h,		void *init, uint8_t init_size, uint8_t flag);/** * @brief get pointer to module data structure from pid * @return handle if successful, NULL otherwise */extern sos_module_t* ker_get_module(sos_pid_t pid);/** * @brief get pointer to module's state * @return pointer to module's state */extern void* ker_get_module_state(sos_pid_t pid);/** * @brief kill all instances of modules with code_id */extern void ker_killall(sos_code_id_t code_id);/** * @brief get all modules * * modules are organized in the hash table with number of bins defined as * SCHED_NUMBER_BINS */extern sos_module_t **sched_get_all_module(void);/** * @brief set current executing module ID * @warning this is only to be used by function pointer jump tables * @return previous executing module ID */extern sos_pid_t ker_set_current_pid( sos_pid_t pid );/** * @brief get current executing module ID * @return executing module ID */extern sos_pid_t ker_get_current_pid( void );/**                                                            * @brief Message filtering rules interface                    * @param rules  new rule                                      */                                                           extern int8_t ker_msg_change_rules(sos_pid_t sid, uint8_t rules);/** * @brief get message rules from scheduler * @param pid the module id of rules interested * @param rules pointer to the rules * @return 0 for success, -EINVAL for fail */extern int8_t sched_get_msg_rule(sos_pid_t pid, sos_ker_flag_t *rules);/** * @brief put message to scheduler queue * this function always succeed */extern void sched_msg_alloc(Message *m);/** * @brief remove message from scheduler queue */extern void sched_msg_remove(Message *m);/** * @brief post crash check up * CALLED BY hardware.c of each platform */extern void sched_post_crash_checkup(void);/** * @brief dispatch short message  * This is used by the callback that was register by interrupt handler */extern void sched_dispatch_short_message(sos_pid_t dst, sos_pid_t src,		uint8_t type, uint8_t byte,		uint16_t word, uint16_t flag);/** * @brief register a static kernel model * * Instead of dynamic allocate memory, static module can just pass in * static allocated memory as state_ptr * @param handle pointer to sos_module_t, kernel module needs to provide storage of module data structure * @param h pointer to module header, must use sos_get_header_address macro * @param state_ptr pointer to module state */extern int8_t sched_register_kernel_module(sos_module_t *handle, mod_header_ptr h, void *state_ptr);extern uint8_t sched_stalled;extern sos_pid_t    curr_pid;                      //!< current executing pidextern sos_pid_t*   pid_sp;                        //!< pid stack pointer#define SCHED_STALL() {sched_stalled = true;}#define SCHED_RESUME() {sched_stalled = false;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级二级在线观看| 国产一区二区三区日韩| 一色屋精品亚洲香蕉网站| 日韩精品中文字幕在线一区| 欧美色综合久久| 色偷偷久久一区二区三区| 色综合激情久久| 91麻豆蜜桃一区二区三区| 91视频国产观看| 99精品国产一区二区三区不卡| 成人黄色片在线观看| 国产成都精品91一区二区三| 99久久免费国产| 91片黄在线观看| 欧美色网一区二区| 91精品国产入口| 欧美va亚洲va| 久久久久久久综合日本| 国产精品视频免费| 一区二区三区中文字幕电影| 一区二区欧美精品| 日韩二区在线观看| 狠狠色2019综合网| 99国产一区二区三精品乱码| 欧美亚一区二区| 在线不卡a资源高清| 精品国产露脸精彩对白 | 亚洲在线免费播放| 亚洲成a人片在线观看中文| 蜜桃免费网站一区二区三区| 国产一区二区三区观看| 91丨国产丨九色丨pron| 91精品国产免费| 亚洲国产精品成人综合| 亚洲电影一区二区三区| 久久99精品国产麻豆不卡| 成人看片黄a免费看在线| 欧美亚洲一区二区在线| 欧美精品一区二区久久婷婷| 亚洲视频综合在线| 久久精品免费观看| 色婷婷综合激情| 久久婷婷成人综合色| 亚洲二区视频在线| 不卡欧美aaaaa| 欧美一级xxx| 亚洲激情图片qvod| 福利电影一区二区| 欧美一级夜夜爽| 亚洲美女偷拍久久| 国产激情视频一区二区三区欧美 | 欧美一级欧美一级在线播放| 中文字幕国产一区二区| 麻豆91精品91久久久的内涵| 色哟哟国产精品免费观看| 久久夜色精品国产噜噜av | 久久精品理论片| 欧美性一二三区| 亚洲天堂网中文字| 国产高清在线精品| 精品国产免费人成在线观看| 亚洲v中文字幕| 99re视频精品| 国产精品丝袜久久久久久app| 美女国产一区二区三区| 在线成人av影院| 国产.欧美.日韩| 日韩精品一区在线| 男女男精品网站| 日韩欧美在线观看一区二区三区| 一区二区三区在线高清| 99精品视频在线播放观看| 国产精品久久久久aaaa| 国产成人精品亚洲777人妖 | 懂色一区二区三区免费观看| 精品国产一区二区精华| 美女视频一区在线观看| 6080yy午夜一二三区久久| 天堂蜜桃一区二区三区| 91麻豆精品国产| 日本成人在线网站| 日韩三区在线观看| 精品一区二区三区免费| 精品福利一区二区三区 | 亚洲欧洲制服丝袜| 91视频国产观看| 亚洲国产精品影院| 欧美日韩日日摸| 天堂久久一区二区三区| 日韩一区二区三区视频| 久久精品国产秦先生| 久久综合久色欧美综合狠狠| 国产成人精品免费在线| 国产精品丝袜久久久久久app| 一本高清dvd不卡在线观看| 亚洲精品伦理在线| 91精品国产综合久久久蜜臀粉嫩| 久久精品国产秦先生| 国产日本欧美一区二区| 色综合久久天天综合网| 三级不卡在线观看| 久久久久久久国产精品影院| 成人18精品视频| 亚洲黄色免费网站| 日韩精品影音先锋| 91蜜桃免费观看视频| 午夜激情一区二区三区| 久久久99精品久久| 欧洲精品在线观看| 久久av老司机精品网站导航| 中文字幕一区在线| 91精品一区二区三区久久久久久| 国产成人在线视频网站| 亚洲激情图片小说视频| 久久精品男人的天堂| 欧美午夜不卡视频| 国产成人综合网站| 日本欧美加勒比视频| 国产精品素人一区二区| 欧美一区二区三区性视频| 成人18精品视频| 精品中文字幕一区二区| 一区二区三区日韩欧美精品| 欧美精品一区男女天堂| 欧美日韩国产中文| 99视频超级精品| 极品少妇一区二区三区精品视频 | 七七婷婷婷婷精品国产| 国产精品久久久99| 精品免费国产一区二区三区四区| 99免费精品在线| 国产一区二区三区香蕉 | 国产麻豆精品在线| 青青草国产成人99久久| 亚洲主播在线播放| 亚洲色图.com| 国产精品日韩精品欧美在线| 日韩精品一区二区三区蜜臀| 精品1区2区3区| 色综合天天综合色综合av| 国产成人在线免费| 激情都市一区二区| 麻豆一区二区三区| 免费在线观看一区二区三区| 亚洲猫色日本管| 亚洲色图欧美偷拍| 亚洲啪啪综合av一区二区三区| 国产三级精品三级| 久久久久88色偷偷免费| 欧美xxxx老人做受| 亚洲精品在线网站| xnxx国产精品| 久久久亚洲国产美女国产盗摄| 日韩区在线观看| 日韩三级视频在线看| 日韩欧美高清dvd碟片| 欧美一区日韩一区| 日韩精品一区在线| 国产婷婷精品av在线| 国产日产欧美精品一区二区三区| 久久久久久久久久美女| 国产欧美一区二区精品仙草咪| 国产性色一区二区| 中文字幕日韩精品一区| 亚洲精品乱码久久久久| 亚洲一区二区中文在线| 首页国产欧美日韩丝袜| 美腿丝袜亚洲色图| 国产精品小仙女| 懂色av中文字幕一区二区三区 | 欧美视频一区二区三区| 欧美喷水一区二区| 精品精品国产高清a毛片牛牛| 久久综合成人精品亚洲另类欧美| 国产日本欧美一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲成人黄色影院| 国产最新精品免费| av在线不卡电影| 欧美三级中文字幕| www精品美女久久久tv| 国产精品美女一区二区三区| 亚洲一二三专区| 九一九一国产精品| 97久久久精品综合88久久| 欧美日韩综合色| 久久综合久久鬼色| 亚洲视频图片小说| 调教+趴+乳夹+国产+精品| 国产精品一区专区| 色素色在线综合| 欧美精品一区视频| 亚洲风情在线资源站| 国产精品系列在线播放| 欧美性欧美巨大黑白大战| 欧美r级在线观看| 亚洲最新视频在线观看| 国产精品一区免费在线观看| 欧美综合一区二区三区| 国产三级欧美三级|