⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mk_msgqf.h

📁 三星ic 9980的源代码. 718版.
💻 H
字号:
/**********************************************************************************
 * mk_msgQF.h                                                                         
 * coded by hspark@ce.cnu.ac.kr
 * date : 2002/06/23
 **********************************************************************************/

#ifndef __MK_MSGQF_H__
#define __MK_MSGQF_H__

#include "kernel\\mk_defs.h"
#include "kernel\\mk_task.h"
#include "kernel\\mk_sem.h"
#include "kernel\\mk_mem.h"

#define	MK_MSGQF_MAGIC		0xF3CD03E4L			/* Magic Value of Message Queue */

#define MK_QUEUE_FULL	-46
#define MK_QUEUE_EMPTY	-45

typedef struct mk_fixed_queue_msg_struct {
	ULONG	fm_StartOfMsg;
	ULONG	fm_Length;
	struct mk_fixed_queue_msg_struct *fm_pNext;
} MK_FIXED_QUEUE_MSG;

typedef struct mk_fixed_msg_queue_struct {
	ULONG	fq_Magic;
	ULONG	fq_AvailableSize;
	struct mk_fixed_queue_msg_struct *fq_pMsgListHead;
	struct mk_fixed_queue_msg_struct *fq_pMsgListTail;
	struct mk_buffer_pool_struct	fq_Pool;	/* Include SendSemaphore */
	struct mk_semaphore_struct		fq_ReceiveSemaphore;
} MK_FIXED_QUEUE;

/*-----------------------------------------------------------------
 * Internal Function
 *-----------------------------------------------------------------*/
void MK_FixedMsgQueueInitialze(void);
ULONG MK_GetFixedMsgQueueAvailableBufferSize(MK_FIXED_QUEUE *pQueue);
INT MK_GetFixedMsgQueueMsgCount(MK_FIXED_QUEUE *pQueue);

STATUS MK_CreateFixedMsgQueue(MK_FIXED_QUEUE *pQueue, char *pName, void *pAddr, int Count, 
							  ULONG Size, BOOLEAN Options);
ULONG MK_GetFixedMsgQueueNeedSize(UINT MsgCount, ULONG Size);
STATUS MK_DeleteFixedMsgQueue(MK_FIXED_QUEUE *pQueue);
STATUS MK_FixedMsgQueuePend(MK_FIXED_QUEUE *pFMsgQueue, void *pMsg, ULONG BufSize,
							ULONG *pLength, long Ticks);
STATUS MK_FixedMsgQueuePost(MK_FIXED_QUEUE *pFMsgQueue, void *pMsg, ULONG Length, 
							long Ticks);
STATUS MK_FixedMsgQueueFrontPost(MK_FIXED_QUEUE *pQueue, void *pMsg, ULONG Length, 
							long Ticks);
STATUS MK_FixedMsgQueueBroadcastPost(MK_FIXED_QUEUE *pQueue, void *pMsg, ULONG Length, 
							long Ticks);
STATUS MK_FixedMsgQueueReset(MK_FIXED_QUEUE *pQueue);

#endif /* __MK_MSGQF_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -