?? mk_mport.h
字號:
/**********************************************************************************
* mk_mport.h
* coded by hspark@ce.cnu.ac.kr
* date : 2002/06/23
**********************************************************************************/
#ifndef __MK_MPORT_H__
#define __MK_MPORT_H__
#include "kernel\\mk_defs.h"
#include "kernel\\mk_sem.h"
#define MK_PORT_MAGIC 0xF3CD03E5L /* Magic Value of Message Port */
typedef struct mk_port_msg_struct {
ULONG pm_Msg; /* Msg Pointer */
ULONG pm_MsgLength;
ULONG pm_BufLength;
struct mk_port_msg_struct *pm_pNext;
} MK_PORT_MSG;
typedef struct mk_message_port_struct {
ULONG p_Magic;
INT p_MsgCount;
INT p_MaxMsg;
char *p_Name;
struct mk_message_port_struct *p_pNext;
struct mk_message_port_struct *p_pPrev;
struct mk_port_msg_struct *p_pMsgFreeList;
struct mk_port_msg_struct *p_pMsgListHead;
struct mk_port_msg_struct *p_pMsgListTail;
struct mk_semaphore_struct p_SendSemaphore;
struct mk_semaphore_struct p_ReceiveSemaphore;
} MK_PORT;
extern MK_PORT *MK_pMsgPortListHead;
extern MK_PORT *MK_pMsgPortListTail;
/*-----------------------------------------------------------------
* Internal Function
*-----------------------------------------------------------------*/
void MK_MsgPortInitialze(void);
/*-----------------------------------------------------------------
* API Function
*-----------------------------------------------------------------*/
STATUS MK_CreateMsgPort(MK_PORT *pPort, char *pName, void *pAddr,
int MsgCount, BOOLEAN Options);
ULONG MK_GetMsgPortMemorySize(UINT MsgCount);
STATUS MK_DeleteMsgPort(MK_PORT *pPort);
UINT MK_GetMsgPortCount(MK_PORT *pPort);
STATUS MK_MsgPortPend(MK_PORT *pPort, void **pMessage, LONG *pMsgLength,
LONG *pBufLength, long Ticks);
STATUS MK_MsgPortPost(MK_PORT *pPort, char *pMessage, LONG pMsgLength,
LONG pBufLength, long Ticks);
#endif /* __MK_MPORT_H__ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -