mk_msgqv.h

来自「三星ic 9980的源代码. 718版.」· C头文件 代码 · 共 51 行

H
51
字号
/**********************************************************************************
 * 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 + =
减小字号Ctrl + -
显示快捷键?