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

📄 msgq.h

📁 介绍ROCK OS操作系统.一般用于汽车电子,类似OCVX.里面是个DEMO文档,内附说明.
💻 H
字号:
/******************************************************************************
   Copyright (c) 2006 by RockOS.
   All rights reserved.

   This software is supported by the Rock Software Workroom.

   Any bugs please contact the author with e-mail or QQ:
     E-mail : baobaoba520@yahoo.com.cn
         QQ : 59681888
*******************************************************************************
File name   : msgq.h
Description : header file for message queue management for RockOS.
            : 
            : 
Auther      : sunxinqiu
History     :
  2006-3-15   first release.
******************************************************************************/
#ifndef __MSGQ_H__
#define __MSGQ_H__

#ifdef __cplusplus
extern "C" {
#endif

enum
{
    OS_MSGQ_FREE    = 1,
    OS_MSGQ_BUSY    = 2
};

typedef struct
{
    U16 state;

    U16 runningPriority;    /* running priority for this msg queue. */

    HTASK owner;    /* the owner task. */

    U32 total;      /* max msg handle in this queue. */
    volatile U32 current;    /* current msg handle in this queue. */

    HQUEUE pendTaskQ;   /* all tasks pending on this msg queue (On send msg). */

    volatile U32 head, tail;
    HMSG * pBuffer; /* the message buffer. */
}MSGQCB;

extern MSGQCB g_msgQCB[];

STATUS msgQ_init (void);
HMSGQ msgQCreate (HTASK owner, U32 total);
STATUS msgQSend (HMSG hmsg, HTASK task, U32 timeout);
STATUS msgQReceive (HMSG * phmsg, U32 timeout);
STATUS msgQDelete (HMSGQ qid);

#ifdef __cplusplus
}
#endif

#endif


⌨️ 快捷键说明

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