📄 mk_msgq.h
字号:
/**********************************************************************************
* mk_msgQV.h
* coded by hspark@ce.cnu.ac.kr
* date : 2002/06/23
**********************************************************************************/
#ifndef __MK_MSGQ_H__
#define __MK_MSGQ_H__
#include "kernel\\mk_sem.h"
#include "kernel\\mk_msgQF.h"
#include "kernel\\mk_msgQV.h"
typedef struct mk_msg_queue_struct {
ULONG m_Type;
struct mk_msg_queue_struct *m_pNext;
struct mk_msg_queue_struct *m_pPrev;
char *m_pName;
union {
struct mk_fixed_msg_queue_struct mu_FixedQueue;
struct mk_variable_msg_queue_struct mu_VariableQueue;
} m_Queue;
} MK_QUEUE;
extern struct mk_msg_queue_struct *MK_pMsgQueueListHead;
extern struct mk_msg_queue_struct *MK_pMsgQueueListTail;
/*-----------------------------------------------------------------
* Internal Function
*-----------------------------------------------------------------*/
void MK_MsgQueueInitialze(void);
STATUS MK_MessageQueueInformation(struct mk_ddi_struct *pDDI);
/*-----------------------------------------------------------------
* API Function
*-----------------------------------------------------------------*/
STATUS
MK_CreateMsgQueue(MK_QUEUE *pQueue, char *pName, void *pAddr, ULONG Size,
BOOLEAN Type, ULONG MsgSize, BOOLEAN Options);
STATUS MK_DeleteMsgQueue(MK_QUEUE *pQueue);
STATUS MK_MsgQueuePend(MK_QUEUE *pMsgQueue, void *pMsg,
ULONG BufSize, ULONG *pLength, long Ticks);
STATUS MK_MsgQueuePost(MK_QUEUE *pMsgQueue, void *pMsg, ULONG Length,
long Ticks);
STATUS MK_MsgQueueReset(MK_QUEUE *pQueue);
STATUS MK_MsgQueueFrontPost(MK_QUEUE *pQueue, void *pMsg, ULONG Length, long Ticks);
STATUS MK_MsgQueueBroadcastPost(MK_QUEUE *pQueue, void *pMsg, ULONG Length, long Ticks);
ULONG MK_GetMsgQueueAvailableSize(MK_QUEUE *pQueue);
ULONG MK_GetFixedMsgQueueNeededSize(ULONG Count, ULONG Size);
ULONG MK_GetFixedMsgQueueBufferSize(MK_QUEUE *pQueue);
UINT MK_GetFixedMsgQueueCount(MK_QUEUE *pQueue);
#endif /* __MK_MSGQ_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -