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

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

?? mos.h

?? 語法分析器 完成從c/c++向C++轉變
?? H
字號:
#ifdef  MOS_H
#else
#define MOS_H

//////////////////////////////////////////////////////////////////////// 
// 
//  Module Name:  mos.h
// 
//  Description:  MOS include for class definitions 
// 
//  Written by:   John Tal 
// 
// 
//  Modification history: 
// 
//  Date         Engineer     Mod #          Modification Description 
// 
//  12-Feb-1992  Tal          v 1.0-001      Initial conversion to C++ 
// 
//////////////////////////////////////////////////////////////////////// 
 

//  Implementation of MOS classes is as follows:
//      
//       MSG_C  - Interprocess messaging
//       SEM_C  - Semaphores   (accessed by MOS_C only)
//       PROC_C - Process Info (accessed by MOS_C only)
//       MOS_C  - Operating System APIs for application usage


//
//  Message Class - Accessed by MOS and application
//
 
class MSG_C
{
private:
   SHORT   sSendPid;
   SHORT   sDestPid;
   SHORT   sLen;
   PCHAR   pcData;

public:

   MSG_C(VOID) { };
   ~MSG_C(VOID) { };                  // inline functions for data access

   SHORT   GetSendPid(VOID)        { return sSendPid; }
   VOID    SetSendPid(SHORT sParm) { sSendPid = sParm; }

   SHORT   GetDestPid(VOID)        { return sDestPid; }
   VOID    SetDestPid(SHORT sParm) { sDestPid = sParm; }
   
   SHORT   GetLen(VOID)            { return sLen; }
   VOID    SetLen(SHORT sParm)     { sLen = sParm; }
   
   PCHAR   GetData(VOID)           { return pcData; }
   VOID    SetData(PCHAR pcParm)   { pcData = pcParm; }
};

typedef MSG_C * MSG_P;





//
//  Semaphore class - accessed only by MOS
//

typedef short SEM_HANDLE;

class SEM_C
{

private:

#define  SEM_NAME_LEN 32

   SHORT sVal;
   CHAR  szName[SEM_NAME_LEN + 1];
   BOOL  fInUse;
   SHORT sHandle;

public:

#define  SEM_AVAIL  0

   //
   //  Semaphore handlers
   //

   SEM_C(VOID)  { };
   ~SEM_C(VOID) { };

   QUEUE_C clQueSemWait;    // processes waiting for this semaphore
   
   PCHAR   GetName(VOID)          { return szName; }
   VOID    SetName(PCHAR pcParm)  { strcpy(szName,pcParm); } 

   SHORT   GetVal(VOID)           { return sVal; }
   VOID    SetVal(SHORT sParm)    { sVal = sParm; }

   BOOL    GetfInUse(VOID)        { return fInUse; }
   VOID    SetfInUse(BOOL fParm)  { fInUse = fParm; }

   SHORT   GetHandle(VOID)        { return sHandle; }
   VOID    SetHandle(SHORT sParm) { sHandle = sParm; }
};

typedef SEM_C * SEM_P;




//
//  Process States
//
   
#define  PROC_STATE_SUSPENDED -3
#define  PROC_STATE_NO_EXIST  -2

// dont use 0 or -1 cause C++ or operating system probably does

#define  PROC_STATE_RUNNING   1
#define  PROC_STATE_READY     2
#define  PROC_STATE_SLEEPING  3
#define  PROC_STATE_SEM_WAIT  4
#define  PROC_STATE_MSG_WAIT  5



class MOS_C;


//  Process Class - Accessed only by MOS

class PROC_C
{

private:
   
   #define  PROC_NAME_LEN    16
   
   SHORT  sProcId;
   CHAR   szName[PROC_NAME_LEN + 1];
   SHORT  sPriority;             
   SHORT  sState;             
   SHORT  sPrevState;      
   LONG   lWakeTime;
   BOOL   fCritical;               // set if cannot swap out
   BOOL   fStateChanged;           // set if OS needs to look at
   PVOID  pvWorkArea;

public:


   PROC_C(VOID)  { };
   ~PROC_C(VOID) { };

   //  Will be accessed by MOS only, not application 'process'

   SHORT  GetId(VOID)              { return sProcId; }
   VOID   SetId(SHORT sParm)       { sProcId = sParm; }

   PCHAR  GetName(VOID)            { return szName; }
   VOID   SetName(PCHAR pcParm)    { strcpy(szName,pcParm); } 

   SHORT  GetPriority(VOID)        { return sPriority; }
   VOID   SetPriority(SHORT sParm) { sPriority = sParm; }

   SHORT  GetState(VOID)           { return sState; }
   VOID   SetState(SHORT sParm)    { sState = sParm; }

   LONG   GetWakeTime(VOID)        { return lWakeTime; }
   VOID   SetWakeTime(LONG lParm)  { lWakeTime = lParm; }

   BOOL   GetfCritical(VOID)       { return fCritical; }
   VOID   SetfCritical(BOOL fParm) { fCritical = fParm; }

   SHORT  GetPrevState(VOID)       { return sPrevState; }
   VOID   SetPrevState(SHORT sParm){ sPrevState = sParm; }

   BOOL   GetStateChanged(VOID)    { return fStateChanged; }
   VOID   SetStateChanged(BOOL fParm) { fStateChanged = fParm; }

   PVOID  GetWorkArea(VOID)        { return pvWorkArea; }
   VOID   SetWorkArea(PVOID pvParm){ pvWorkArea = pvParm; }


   //  
   // pProc and pBlocked SHOULD be private.  But compiler problems
   // with the function pointer types have caused them to be public
   // for direct access in this implementation
   //

   SHORT  (*pProc)(MOS_C *, PVOID);        // address of function which is the process
   SHORT  (*pBlockedFunc)(MOS_C *, PVOID); // address of blocked function 

   //  VOID   GetBlockedFunc(SHORT (**) (MOS_C *, PVOID));
   //  VOID   SetBlockedFunc(SHORT (*)(MOS_C * ,PVOID));
   //  VOID   GetProc(SHORT (**) (MOS_C *,PVOID));
   //  VOID   SetProc(SHORT (*)(MOS_C *,PVOID));

   CHAR     szProcStates[PROC_STATE_MSG_WAIT + 1][32];

   QUEUE_C  clMsgQue;  // message queue for incoming messages

};


typedef PROC_C * PROC_P;



//
//  Event Class
//

struct EVENT_S
{
   SHORT  (*pCheckFunc)(VOID);  /* function to check for event */
   PROC_P pclEventProc;         /* process awaiting event */
};

typedef struct EVENT_S EVENT_T;
typedef EVENT_T * EVENT_P;




//
//  MOS Class
//  


class MOS_C
{

private:

   #define  MOS_NULL_PROC_PRIO 0
   #define  MOS_SEM_SET        1

   //
   //   There can only be one currently running process
   //   All application requests are resolved as belonging to 
   //   this process
   //

   PROC_P   pclRunProc;

   //
   //    Use a binary tree to track all processes
   //

   TREE_C   clProcTree;

   LLIST_C  clPidList;

   //
   //   The Ready Queue is ordered by priority so it is a heap
   //
   
   HEAP_C   clQueReady;

   //
   //    The Msg Wait Queue is ordered by priority.  But since we cant predict
   //    the order of events which waiting processes are waiting for, we
   //    will make it a linked-list for maximum flexibility.
   //

   LLIST_C  clQueMsgWait;

   LLIST_C  clQueSleep;

   //
   //  The infamous NULL process
   //
 
   // SHORT  NullProc(MOS_C * pclMos,PVOID);

   SHORT  ReschedReady(PROC_P pclProc);
   SHORT  GetReadyProc(PROC_P * ppclProc);
   SHORT  CheckSleepQueue(VOID);


   LONG	  lNumProcs;

   SHORT  sProcId; 

   // Semaphores

   SHORT  sSemHandle;

   LLIST_C  clSemList;

   VOID   SemFindHandle(SEM_HANDLE, SEM_P *, BOOL *);
   VOID   SemNextProc(SEM_P);

   // Events
   SHORT  sEvents;
   LLIST_C  pclEventList;

   SHORT  EventCheckList(VOID);


   SHORT  Init(VOID);


public:

   MOS_C(VOID) {Init();};
   ~MOS_C(VOID) {};

   //
   //  Standard operating system 'core' functions
   //

   //  Proc create parms are:  function, name, priority, workarea
   SHORT  ProcCreate(SHORT (*)(MOS_C *,PVOID), PCHAR, SHORT, PVOID);
   SHORT  ProcTerm(VOID);

   SHORT  Scheduler(VOID);

   SHORT  Sleep(LONG);     // secs to sleep

   VOID   SetBlockedFunc(SHORT (*)(MOS_C *,PVOID));


   // Semaphore service functions

   SHORT  SemInit(PCHAR);         // returns handle, ok if two procs init
   SHORT  SemTerm(SEM_HANDLE);
   SHORT  SemWait(SEM_HANDLE);
   SHORT  SemSignal(SEM_HANDLE);
   SHORT  SemClear(SEM_HANDLE);
   SHORT  SemSet(SEM_HANDLE);

   // Messaging service functions

   BOOL   MsgWaiting(VOID);
   SHORT  MsgWrite(MSG_C *);   // parm is target proc, see GetPidByName
   SHORT  MsgRead(MSG_C *);

   SHORT  GetPidByName(PCHAR);
  
   LONG   GetTime(VOID);

   //
   //  A user notification function
   //

   SHORT  ProcAnnounce(VOID);

};

typedef MOS_C * MOS_P;


SHORT
MosNullProc(MOS_P pclMos,PVOID pvWorkArea);



//
//  Compare functions, called by memlib tree and linked list routines
//  for searching/deleting
//

SHORT  MosCompareProcId(PVOID,PVOID);
SHORT  MosCompareIdNode(PVOID,PVOID);
SHORT  MosCompareProcName(PVOID,PVOID);
SHORT  CompareProcWakeTime(PVOID,PVOID);

#endif




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产精品国产专区不蜜 | 国产精品免费av| 亚洲自拍偷拍综合| 国产成人午夜视频| 91精品国产手机| 亚洲六月丁香色婷婷综合久久| 国产老妇另类xxxxx| 8x8x8国产精品| 一区二区三区欧美亚洲| 国产不卡一区视频| 日韩精品影音先锋| 日韩1区2区3区| 欧美在线播放高清精品| 国产精品国产三级国产普通话蜜臀| 卡一卡二国产精品| 欧美丰满嫩嫩电影| 一个色综合av| 色婷婷狠狠综合| 国产精品久久午夜夜伦鲁鲁| 国产真实乱对白精彩久久| 欧美精品乱人伦久久久久久| 亚洲精品中文字幕乱码三区 | 喷水一区二区三区| 欧美日韩午夜在线视频| 亚洲精品免费播放| 99久久er热在这里只有精品15| 久久久精品中文字幕麻豆发布| 免费视频一区二区| 欧美精品在线观看一区二区| 亚洲综合视频网| 色综合天天做天天爱| 一区在线中文字幕| 东方欧美亚洲色图在线| 国产三级一区二区三区| 国产成+人+日韩+欧美+亚洲| 久久久久97国产精华液好用吗| 国内精品第一页| 精品88久久久久88久久久| 狠狠色丁香婷婷综合| 精品国产一区二区精华| 久久电影网电视剧免费观看| 精品乱人伦一区二区三区| 另类小说视频一区二区| 日韩精品一区国产麻豆| 精品亚洲aⅴ乱码一区二区三区| 日韩你懂的电影在线观看| 国内欧美视频一区二区| 欧美mv日韩mv| 国产乱码精品一区二区三区忘忧草| 久久久午夜精品| 成人免费毛片嘿嘿连载视频| 国产精品美女久久久久aⅴ| hitomi一区二区三区精品| 国产精品国产精品国产专区不片| 91丨porny丨在线| 99在线精品视频| 一区二区在线看| 欧美日韩一区久久| 另类人妖一区二区av| 久久精品夜夜夜夜久久| av在线播放成人| 一区二区三区av电影 | 国产成人av一区| 国产精品国产馆在线真实露脸| 一本久久综合亚洲鲁鲁五月天| 亚洲一区二区三区影院| 日韩欧美亚洲一区二区| 国产精品正在播放| 亚洲视频一区在线| 欧美三级电影网| 久久国产麻豆精品| 国产精品欧美一区二区三区| 色婷婷av一区二区三区软件| 日日嗨av一区二区三区四区| 337p日本欧洲亚洲大胆精品| 波多野洁衣一区| 婷婷国产在线综合| 久久久亚洲精品一区二区三区| 99精品视频中文字幕| 香蕉av福利精品导航| 久久精品亚洲乱码伦伦中文 | 韩国一区二区在线观看| 一区二区中文字幕在线| 欧美嫩在线观看| 国产成人综合精品三级| 樱花草国产18久久久久| 精品美女被调教视频大全网站| 不卡影院免费观看| 五月激情综合色| 欧美高清在线一区| 欧美日韩高清影院| 成人禁用看黄a在线| 日韩激情一二三区| 国产精品色婷婷| 91精品国产aⅴ一区二区| 成人白浆超碰人人人人| 视频在线观看91| 中文字幕av一区二区三区高| 欧美日韩高清不卡| gogogo免费视频观看亚洲一| 午夜视频一区在线观看| 国产精品麻豆视频| 日韩欧美国产一区在线观看| 91浏览器打开| 国内精品在线播放| 亚洲国产精品嫩草影院| 欧美国产精品一区二区三区| 欧美日韩电影在线| 91麻豆精东视频| 国产老肥熟一区二区三区| 五月天精品一区二区三区| 亚洲欧洲日产国产综合网| 精品久久久久久综合日本欧美| 欧美亚洲综合另类| 成人高清免费在线播放| 欧美肥妇bbw| 色婷婷综合久色| 成人免费视频免费观看| 精品亚洲欧美一区| 日韩精品成人一区二区在线| 亚洲激情网站免费观看| 国产日韩欧美一区二区三区乱码| 制服视频三区第一页精品| 日本久久一区二区三区| 成人妖精视频yjsp地址| 九九在线精品视频| 日本女人一区二区三区| 亚洲一区二区三区不卡国产欧美| 国产女人水真多18毛片18精品视频| 日韩欧美在线网站| 欧美精品vⅰdeose4hd| 色婷婷av一区二区三区大白胸| 成人免费毛片片v| 国产河南妇女毛片精品久久久| 免费欧美日韩国产三级电影| 亚洲成人av一区二区| 亚洲乱码国产乱码精品精可以看| 国产精品久久久久国产精品日日 | 欧美性一级生活| 91激情五月电影| 色婷婷一区二区| 97久久超碰国产精品电影| 9i看片成人免费高清| av午夜精品一区二区三区| 丰满亚洲少妇av| 成人高清在线视频| 波多野结衣在线一区| 国产高清在线精品| 国产一区二区在线电影| 国产一区久久久| 国产成人久久精品77777最新版本| 国产真实乱偷精品视频免| 韩国一区二区三区| 国产乱码精品一品二品| 国产成人免费视频一区| 成人手机电影网| av高清久久久| 91丨九色porny丨蝌蚪| 色美美综合视频| 欧美伊人精品成人久久综合97| 欧美日韩五月天| 91精品国产综合久久精品app| 宅男在线国产精品| 日韩欧美视频一区| 久久久噜噜噜久久人人看 | 91超碰这里只有精品国产| 欧美乱妇15p| 日韩视频在线永久播放| 日韩一级片在线观看| 精品国产成人在线影院| 久久伊人蜜桃av一区二区| 日本一区二区成人| 亚洲欧洲综合另类| 亚洲综合小说图片| 青椒成人免费视频| 国产精品夜夜爽| 波多野洁衣一区| 欧美日韩日日夜夜| 欧美成人三级电影在线| 国产欧美日韩不卡| 日韩理论在线观看| 五月婷婷另类国产| 韩国毛片一区二区三区| 高清在线观看日韩| 91国产免费观看| 91精品国产欧美一区二区18| 久久亚洲精品国产精品紫薇| 中文字幕一区二区日韩精品绯色| 一区二区三区精品视频在线| 日韩专区中文字幕一区二区| 激情综合亚洲精品| 色综合久久综合网97色综合| 欧美精品免费视频| 国产欧美精品一区二区三区四区 | 欧美不卡123| 国产精品不卡视频| 午夜欧美一区二区三区在线播放| 久久 天天综合| 色哦色哦哦色天天综合| 日韩一区二区三区视频在线|