📄 semaphor.h
字号:
/* ------------------------------------------------------------------------- */
/* HOS 僙儅僼僅娗棟 僿僢僟僼傽僀儖 */
/* */
/* Copyright (C) 1998-2002 by Project HOS */
/* ------------------------------------------------------------------------- */
#ifndef __HOS__SEMAPHOR_H_
#define __HOS__SEMAPHOR_H_
/* ------------------------------------ */
/* 宆掕媊 */
/* ------------------------------------ */
/* SCB摦揑晹暘 RAM偵抲偔*/
typedef struct t_scb {
T_QUE que; /* 僙儅僼僅懸偪峴楍 */
UH semcnt; /* 僙儅僼僅偺僇僂儞僞 */
} T_SCB;
/* TCB惷揑晹暘 ROM偵抲偔 */
typedef struct t_scbs {
VP exinf; /* 奼挘忣曬 */
UH isemcnt; /* 僙儅僼僅偺弶婜抣 */
UH maxsem; /* 僙儅僼僅偺嵟戝抣 */
} T_SCBS;
/* 僙儅僼僅忬懺嶲徠梡 */
typedef struct t_rsem {
VP exinf; /* 奼挘忣曬 */
BOOL_ID wtsk; /* 懸偪僞僗僋偺桳柍 */
INT semcnt; /* 尰嵼偺僙儅僼僅僇僂儞僩抣 */
} T_RSEM;
/* ------------------------------------ */
/* 僌儘乕僶儖曄悢 */
/* ------------------------------------ */
extern T_SCB scbtbl[]; /* SCB攝楍RAM晹 */
extern const T_SCBS scbstbl[]; /* SCB攝楍ROM晹 */
extern const H scbcnt; /* SCB攝楍偺悢 */
/* ------------------------------------ */
/* 娭悢愰尵 */
/* ------------------------------------ */
void __ini_sem(void); /* 僙儅僼僅偺弶婜壔 */
ER sig_sem(ID semid); /* 僙儅僼僅曉媝 */
ER wai_sem(ID semid); /* 僙儅僼僅傪懸偮 */
ER preq_sem(ID semid); /* 僙儅僼僅傪懸偮(億乕儕儞僌) */
ER ref_sem(T_RSEM *pk_rsem, ID semid); /* 僙儅僼僅忬懺嶲徠 */
/* 僞僗僋撈棫晹梡掕媊 */
#define isig_sem sig_sem
#define ipreq_sem preq_sem
#define iref_sem ref_sem
#endif /* __ROS__SEMAPHOR_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -