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

📄 mk_msgqv.h

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

#ifndef __MK_MSGQV_H__
#define __MK_MSGQV_H__

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

#define	MK_MSGQV_MAGIC		0xF3CD03ECL			/* Magic Value of Message Queue */

typedef struct mk_variable_queue_msg_struct {
	ULONG	vm_StartOfMsg;
	ULONG	vm_Length;
	struct mk_variable_queue_msg_struct *vm_pNext;
} MK_VARIABLE_QUEUE_MSG;

typedef struct mk_variable_msg_queue_struct {
	ULONG 	vq_Magic;
	ULONG	vq_MaxSize;
	struct mk_variable_queue_msg_struct *vq_pMsgListHead;
	struct mk_variable_queue_msg_struct *vq_pMsgListTail;
	struct mk_heap_struct vq_Heap;				/* Include SendSemaphore */
	struct mk_semaphore_struct vq_ReceiveSemaphore;
} MK_VARIABLE_QUEUE;
/*-----------------------------------------------------------------
 * Internal Function
 *-----------------------------------------------------------------*/
void MK_VariableMsgQueueInitialze(void);
STATUS MK_CreateVariableMsgQueue(MK_VARIABLE_QUEUE *pQueue, char *pName, void *pAddr, 
								 long MemorySize, ULONG MaxSize, BOOLEAN Options);
STATUS MK_DeleteVariableMsgQueue(MK_VARIABLE_QUEUE *pQueue);
ULONG MK_GetVariableMsgQueueAvailableSize(MK_VARIABLE_QUEUE *pQueue);
INT MK_GetVariableMsgQueueMsgCount(MK_VARIABLE_QUEUE *pQueue);
STATUS MK_VariableMsgQueuePend(MK_VARIABLE_QUEUE *pQueue, char **pMsg, 
							   ULONG BufSize, ULONG *pLength, long Ticks);
STATUS MK_VariableMsgQueuePost(MK_VARIABLE_QUEUE *pQueue, char *pMsg, ULONG Length, 
							   long Ticks);
STATUS MK_VariableMsgQueueFrontPost(MK_VARIABLE_QUEUE *pQueue, char *pMsg, ULONG Length, 
							   long Ticks);
STATUS MK_VariableMsgQueueBroadcastPost(MK_VARIABLE_QUEUE *pQueue, char *pMsg, ULONG Length, 
							   long Ticks);
STATUS MK_VariableMsgQueueReset(MK_VARIABLE_QUEUE *pQueue);

#endif /* __MK_MSGQV_H__ */

⌨️ 快捷键说明

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