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

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

?? kthread.h

?? 自己動手寫操作系統源代碼,不可多得的代碼
?? H
字號:
//***********************************************************************/
//    Author                    : Garry
//    Original Date             : Jun,28 2004
//    Module Name               : kthread.h
//    Module Funciton           : 
//                                This module countains kernal thread
//                                implementation code.
//    Last modified Author      :
//    Last modified Date        :
//    Last modified Content     :
//                                1.
//                                2.
//    Lines number              :
//***********************************************************************/

#ifndef __KTHREAD_H__
#define __KTHREAD_H__

//
//Kernal thread scheduled time.
//Hello China maintaince a timer counter,
//and increase this counter every
//system clock interrupt,once this counter
//reachs KTHREAD_SCHEDULE_TIME,Hello China
//will schedule the kernal thread.
//
#define KTHREAD_SCHEDULE_TIME  20

//
//Kernal thread status code.
//
#define  KTHREAD_STATUS_READY       0x00000001  //Read to run.
#define  KTHREAD_STATUS_RUNNING     0x00000002  //Running now.
#define  KTHREAD_STATUS_BLOCKED     0x00000003  //Blocked,if this thread is 
                                                //waiting for a object's
                                                //signal status,or waiting 
                                                //for some resource,it resides
                                                //this status.

#define KTHREAD_STATUS_SUSPEND      0x00000004  //The thread is suspended.

//
//Kernal thread control block.
//It countains the thread's status data,such as
//the thread's general registers,FPU registers,
//and other status data.
//
typedef VOID (*LPKTHREAD_ROUTINE)(LPVOID);

struct __KTHREAD_CONTROL_BLOCK{
	DWORD               dwKThreadID;           //Kernal thread ID.
	DWORD               dwKThreadStatus;       //Kernal thread status.
	DWORD               dwKThreadPriority;     //Priority.
	DWORD               dwStackSize;           //Stack size.
	LPKTHREAD_ROUTINE   pKThreadRoutine;       //The start address of the kernal thread.
	LPVOID              pData;                 //The parameter of kernal thread routine.

	__KTHREAD_CONTROL_BLOCK*  pNext;           //Points to the next kernal thread.
	__KTHREAD_CONTROL_BLOCK*  pPrev;           //Points to the previous kernal thread.

	__KTHREAD_MSG       ktmsg[MAX_KTHREAD_MSG_NUM];  //Kernal thread message operation 
	                                                 //members.
	WORD                wHeader;                     //Message queue header index.
	WORD                wTrial;                      //Message queue trial index.
	WORD                wCurrentMsgNum;              //Current message number.
	WORD                wReserved;                   //Aligment to 4 byte boundry.

#ifdef __I386__                                //The following variables is used to save     
	                                           //all general registers and flag register.
	DWORD               dwEAX;
	DWORD               dwEBX;
	DWORD               dwECX;
	DWORD               dwEDX;
	DWORD               dwESI;
	DWORD               dwEDI;
	DWORD               dwEBP;
	DWORD               dwESP;

	DWORD               dwEIP;

	DWORD               dwEFlags;
#else
#endif
};

//
//Kernal thread message operations.
//

BOOL KtMsgQueueFull(__KTHREAD_CONTROL_BLOCK*);  //If the kernal thread's message queue is full.

BOOL KtMsgQueueEmpty(__KTHREAD_CONTROL_BLOCK*); //If the kernal thread's message queue is empty.

BOOL KtSendMessage(__KTHREAD_CONTROL_BLOCK*,__KTHREAD_MSG*);  //Add a message to the msg queue.

BOOL KtGetMessage(__KTHREAD_CONTROL_BLOCK*,__KTHREAD_MSG*);   //Get a message from the queue.

typedef BOOL (*__KTHREAD_MSG_HANDLER)(WORD,DWORD,DWORD);      //Kernal thread message handler type.

BOOL KtDispatchMessage(__KTHREAD_MSG*,__KTHREAD_MSG_HANDLER);  //Dispatch a message.

//
//Max kernal thread number.
//
#define MAX_KTHREAD_NUM  128


//
//Global functions.
//

//
//The following function create a kernal thread,and returns the thread's ID.
//

DWORD CreateKThread(DWORD dwStackSize,DWORD dwFlags,
					DWORD dwPriority,LPKTHREAD_ROUTINE pStartAddress,
					LPVOID pData,LPVOID pReserved);

//
//The following function terminal a kernal thread.
//The proper method to terminal a thread is termialed naturaly,
//but if you call this procedure to terminal a thread,the
//kernal thread will be terminaled roughly,and all resource
//this kernal thread allocated will NOT be released.
//
VOID  TerminalKThread(DWORD dwThreadID);

//
//The following function returns the current running kernal thread's ID.
//
DWORD GetCurrentKThreadID();

//
//Get kernal thread's control block,by the kernal thread ID.
//
__KTHREAD_CONTROL_BLOCK* GetKThreadControlBlock(DWORD);

//
//The following function re-schedule the kernal thread.
//
VOID ScheduleKThread(DWORD dwEsp);

//
//Set kernal thread's priority.
//
VOID SetKThreadPriority(DWORD,DWORD);

#endif //kthread.h

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久一二三区| 色婷婷综合久色| 精品国产乱码久久久久久免费| 亚洲一二三专区| 欧美在线一二三| 亚洲成精国产精品女| 欧美性大战xxxxx久久久| 性欧美大战久久久久久久久| 91精品国产一区二区三区蜜臀| 视频一区二区三区中文字幕| 717成人午夜免费福利电影| 日日嗨av一区二区三区四区| 欧美一卡二卡在线观看| 国产一区二区三区av电影| 中文字幕不卡在线| 色婷婷精品大视频在线蜜桃视频| 亚洲激情成人在线| 宅男在线国产精品| 国产一区啦啦啦在线观看| 国产精品久久久久久久浪潮网站| 色综合色狠狠综合色| 爽好久久久欧美精品| 久久婷婷综合激情| 91日韩一区二区三区| 青青国产91久久久久久| 久久精品在这里| 一本久道久久综合中文字幕| 三级亚洲高清视频| 久久精品一区二区三区不卡牛牛| 色综合中文综合网| 亚洲人成网站精品片在线观看| 色综合久久88色综合天天| 免费成人美女在线观看.| 国产欧美va欧美不卡在线| 91国产精品成人| 极品瑜伽女神91| 亚洲综合清纯丝袜自拍| 久久久久88色偷偷免费| 欧美日韩在线免费视频| 国产成人免费9x9x人网站视频| 夜夜精品浪潮av一区二区三区| 精品va天堂亚洲国产| 欧美探花视频资源| 粗大黑人巨茎大战欧美成人| 午夜精品久久久久久久久久久| 欧美国产日韩一二三区| 6080yy午夜一二三区久久| 99久久久国产精品| 韩国成人精品a∨在线观看| 亚洲综合色成人| 亚洲欧洲精品一区二区三区| 日韩免费高清电影| 欧美日韩高清一区二区不卡| 97超碰欧美中文字幕| 国产乱子伦视频一区二区三区| 日韩电影免费在线看| 亚洲午夜久久久久久久久电影网 | 久久综合九色综合欧美就去吻| 欧美午夜精品一区二区三区| 成人ar影院免费观看视频| 国产在线精品一区二区| 日本不卡1234视频| 无码av中文一区二区三区桃花岛| 一区二区三区在线视频播放| 亚洲天堂2014| 国产精品久99| 国产精品麻豆久久久| 国产色91在线| 久久久亚洲国产美女国产盗摄| 日韩一区二区免费在线观看| 3d动漫精品啪啪一区二区竹菊| 在线视频国内一区二区| 色网站国产精品| 一本一道波多野结衣一区二区| 国产剧情一区在线| 看片的网站亚洲| 狠狠色狠狠色综合| 蜜桃视频一区二区三区| 美女看a上一区| 另类调教123区| 韩国一区二区视频| 国产一区二区0| 国产+成+人+亚洲欧洲自线| 国产精品12区| 国产高清成人在线| gogogo免费视频观看亚洲一| 99这里只有精品| 色综合一区二区| 欧洲精品一区二区| 欧美另类z0zxhd电影| 欧美剧情片在线观看| 欧美成人a∨高清免费观看| 日韩免费观看高清完整版| 日韩免费在线观看| 亚洲欧洲精品天堂一级| 亚洲欧洲一区二区在线播放| 国产精品久久久久久久久免费桃花| 日本一区二区三区高清不卡 | 国产精品污www在线观看| 国产精品丝袜黑色高跟| 亚洲视频狠狠干| 午夜欧美2019年伦理| 黄色资源网久久资源365| 成人性生交大片免费看中文| eeuss鲁片一区二区三区在线看| 欧美亚洲动漫精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 丝袜亚洲精品中文字幕一区| 日韩电影在线一区二区三区| 国产真实乱子伦精品视频| 成人av网站免费观看| 在线观看不卡一区| 精品日韩一区二区三区| 国产精品天干天干在观线| 亚洲一区二区免费视频| 国产呦精品一区二区三区网站| 国产很黄免费观看久久| 欧美性猛交xxxxxxxx| 国产亚洲综合性久久久影院| 亚洲综合一区在线| 国产一区二区视频在线| 日本二三区不卡| 久久综合色播五月| 一区二区激情视频| 国产一区视频导航| 欧美精品日韩一本| 国产精品久久久久影院| 男人的天堂久久精品| 91蝌蚪国产九色| 欧美精品一区二区高清在线观看| 亚洲欧美日韩国产综合在线| 久久精品国产**网站演员| 91国在线观看| 欧美激情一二三区| 美女视频黄a大片欧美| 91美女片黄在线观看91美女| 337p日本欧洲亚洲大胆色噜噜| 中文字幕乱码亚洲精品一区| 蜜桃一区二区三区在线| 91精品1区2区| 久久婷婷国产综合国色天香| 午夜视频一区二区| 国产美女久久久久| 欧洲视频一区二区| 亚洲人精品一区| 高清不卡一区二区| 日韩精品中文字幕在线不卡尤物 | 色综合激情五月| 日本一区二区三区dvd视频在线| 美女视频第一区二区三区免费观看网站 | 色婷婷精品大在线视频| 国产精品三级av在线播放| 国产真实精品久久二三区| 欧美一区二区视频网站| 一区二区三区四区在线免费观看| 国产精品亚洲午夜一区二区三区| 4438成人网| 性做久久久久久久久| 欧美午夜电影一区| 亚洲精品一卡二卡| 91在线观看视频| 亚洲丝袜自拍清纯另类| 成人av午夜电影| 中文字幕一区二区三区av| 成人动漫一区二区三区| 国产精品日日摸夜夜摸av| 国产suv精品一区二区6| 国产偷v国产偷v亚洲高清| 成人av在线看| 国产欧美日韩一区二区三区在线观看| 美女免费视频一区二区| 日韩欧美国产wwwww| 免费欧美高清视频| 欧美成人艳星乳罩| 国产在线精品视频| 国产a精品视频| 6080国产精品一区二区| 一区二区在线电影| 北条麻妃国产九九精品视频| 精品国产乱码久久久久久浪潮| 久久国产精品露脸对白| 欧美精品一区二区久久久| 国产成人av在线影院| 中文字幕精品—区二区四季| 不卡影院免费观看| 亚洲欧美二区三区| 欧美视频一区二区三区四区 | 精品少妇一区二区三区日产乱码 | 国产一区二区三区综合| 久久久久久久久免费| 成人少妇影院yyyy| 亚洲精品日韩专区silk| 欧美裸体一区二区三区| 国产在线播放一区| 亚洲欧美一区二区不卡| 欧美丰满一区二区免费视频| 国产一区在线观看视频| 亚洲乱码国产乱码精品精的特点 | www.欧美日韩国产在线| 亚洲免费三区一区二区|