📄 mailbox.h
字号:
/* ------------------------------------------------------------------------- */
/* HOS 儊僀儖儃僢僋僗娗棟 僿僢僟僼傽僀儖 */
/* */
/* Copyright (C) 1998-2002 by Project HOS */
/* ------------------------------------------------------------------------- */
#ifndef __HOS__MAILBOX_H_
#define __HOS__MAILBOX_H_
/* ------------------------------------ */
/* 宆掕媊 */
/* ------------------------------------ */
typedef VP T_MSG; /* 僿僢僟偼棙梡偟側偄 */
/* MCB(MailBox僐儞僩儘乕儖僽儘僢僋) 摦揑晹暘 RAM偵抲偔 */
typedef struct t_mcb {
T_QUE que; /* 儊僢僙乕僕懸偪僉儏乕 */
VP *head; /* 僶僢僼傽拞偺愭摢儊僢僙乕僕埵抲 */
VP *tail; /* 僶僢僼傽拞偺枛旜儊僢僙乕僕埵抲 */
} T_MCB;
/* MCB惷揑晹暘 ROM偵抲偔 */
typedef struct t_mcbs {
VP exinf; /* 奼挘忣曬 */
VP *bufhead; /* 儊僢僙乕僕僶僢僼傽愭摢 */
VP *buftail; /* 儊僢僙乕僕僶僢僼傽枛旜 */
} T_MCBS;
/* 儊僀儖儃僢僋僗忬懺嶲徠 */
typedef struct t_rmbx {
VP exinf; /* 奼挘忣曬 */
BOOL_ID wtsk; /* 懸偪僞僗僋偺桳柍 */
VP pk_msg; /* 師偵庴怣偝傟傞僷働僢僩傾僪儗僗 */
} T_RMBX;
/* ------------------------------------ */
/* 僌儘乕僶儖曄悢 */
/* ------------------------------------ */
/* 僞僗僋撈棫晹梡掕媊 */
extern T_MCB mcbtbl[]; /* MCB僥乕僽儖 RAM晹 */
extern const T_MCBS mcbstbl[]; /* MCB僥乕僽儖 ROM晹乮惷揑偵惗惉) */
extern const H mcbcnt; /* MCB僥乕僽儖偺悢 */
/* ------------------------------------ */
/* 娭悢愰尵 */
/* ------------------------------------ */
void __ini_mbx(void); /* 儊僀儖儃僢僋僗弶婜壔 */
ER snd_msg(ID mbxid, VP pk_msg); /* 儊僀儖儃僢僋僗傊憲怣 */
ER rcv_msg(VP *pk_msg, ID mbxid); /* 儊僀儖儃僢僋僗偐傜庴怣 */
ER prcv_msg(VP *pk_msg, ID mbxid);
/* 儊僀儖儃僢僋僗偐傜庴怣(億乕儕儞僌) */
ER ref_mbx(T_RMBX *pk_rmbx, ID mbxid); /* 儊僀儖儃僢僋僗忬懺嶲徠 */
#define isnd_msg snd_msg
#define iprcv_msg prcv_msg
#define iref_mbx ref_mbx
#endif /* __HOS__MAILBOX_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -