2 * Hyper Operating System V4 Advance
5 * @brief %jp{遅延プロシージャーコールヘッダファイル}%en{Deferred Procedure Call header file}
7 * Copyright (C) 1998-2006 by Project HOS
8 * http://sourceforge.jp/projects/hos/
12 #ifndef _KERNEL__core__dpc_h__
13 #define _KERNEL__core__dpc_h__
16 typedef struct _kernel_t_dpccb
25 #define _KERNEL_DPC_SET_MSGQ(dcpcb, x) do { (dcpcb)->msgq = (x); } while (0)
26 #define _KERNEL_DPC_GET_MSGQ(dcpcb) ((dcpcb)->msgq)
27 #define _KERNEL_DPC_SET_MSGQSZ(dcpcb, x) do { (dcpcb)->msgqsz = (x); } while (0)
28 #define _KERNEL_DPC_GET_MSGQSZ(dcpcb) ((dcpcb)->msgqsz)
29 #define _KERNEL_DPC_SET_HEAD(dcpcb, x) do { (dcpcb)->msgqsz = (x); } while (0)
30 #define _KERNEL_DPC_GET_HEAD(dcpcb) ((dcpcb)->msgqsz)
31 #define _KERNEL_DPC_SET_TAIL(dcpcb, x) do { (dcpcb)->msgqsz = (x); } while (0)
32 #define _KERNEL_DPC_GET_HEAD(dcpcb) ((dcpcb)->msgqsz)
39 void _kernel_dpc_snd_msg(_KERNEL_T_DPCCB *dcpcb, VP_INT msg);
40 VP_INT _kernel_dpc_rcv_msg(_KERNEL_T_DPCCB *dcpcb);
41 UINT _kernel_dpc_ref_dat(_KERNEL_T_DPCCB *dcpcb);
42 UINT _kernel_dpc_ref_fre(_KERNEL_T_DPCCB *dcpcb);
43 void _kernel_dpc_lev_svc(void);
49 #define _KERNEL_DPC_SND_MSG(dcpcb, msg) _kernel_dpc_snd_msg((dcpcb), (msg))
50 #define _KERNEL_DPC_RCV_MSG(dcpcb) _kernel_dpc_rcv_msg((dcpcb))
51 #define _KERNEL_DPC_REF_DAT(dcpcb) _kernel_dpc_ref_dat((dcpcb)) /* データ数参照 */
52 #define _KERNEL_DPC_REF_FRE(dcpcb) _kernel_dpc_ref_fre((dcpcb)) /* 空き領域参照 */
55 #endif /* _KERNEL__core__dpc_h__ */