查询一个邮箱的状态, OSMboxQuery()
来源:互联网 发布:php提权 编辑:程序博客网 时间:2024/05/18 22:18
- OSMboxQuery()函数使应用程序可以随时查询一个邮箱的当前状态。程序清单 L6.18是该函数的源代码。它需要两个参数:一个是指向邮箱的指针pevent。该指针是在建立该邮箱时,由OSMboxCreate()函数返回的;另一个是指向用来保存有关邮箱的信息的OS_MBOX_DATA(见uCOS_II.H)数据结构的指针pdata。在调用OSMboxCreate()函数之前,必须先定义该结构变量,用来保存有关邮箱的信息。之所以定义一个新的数据结构,是因为这里关心的只是和特定邮箱有关的内容,而非整个OS_EVENT数据结构的内容。后者还包含了另外两个域(.OSEventCnt和.OSEventType),而OS_MBOX_DATA只包含邮箱中的消息指针(.OSMsg)和该邮箱现有的等待任务列表(.OSEventTbl[]和.OSEventGrp)。
- 和前面的所以函数一样,该函数也是先检查事件控制是否是邮箱[L6.18(1)]。然后,将邮箱中的等待任务列表[L6.18(2)]和邮箱中的消息[L6.18(3)]从OS_EVENT数据结构复制到OS_MBOX_DATA数据结构。
- 程序清单 L6.18 查询邮箱的状态
- INT8U OSMboxQuery (OS_EVENT *pevent, OS_MBOX_DATA *pdata)
- {
- INT8U i; INT8U *psrc;
- INT8U *pdest;
- OS_ENTER_CRITICAL();
- if (pevent->OSEventType != OS_EVENT_TYPE_MBOX) { (1)
- OS_EXIT_CRITICAL();
- return (OS_ERR_EVENT_TYPE);
- }
- pdata->OSEventGrp = pevent->OSEventGrp; (2)
- psrc = &pevent->OSEventTbl[0];
- pdest = &pdata->OSEventTbl[0];
- for (i = 0; i < OS_EVENT_TBL_SIZE; i++) {
- *pdest++ = *psrc++;
- }
- pdata->OSMsg = pevent->OSEventPtr; (3)
- OS_EXIT_CRITICAL();
- return (OS_NO_ERR);
- }
0 0
- 查询一个邮箱的状态, OSMboxQuery()
- 查询一个邮箱的状态, OSMboxQuery()
- 查询一个消息队列的状态,OSQQuery()
- 查询一个消息队列的状态,OSQQuery()
- 查询一个内存分区的状态,OSMemQuery()
- 一个google邮箱的秘密
- 查询表的状态
- OpenGL的状态查询
- 分组查询相关日期的邮箱密码
- 查询一个信号量的当前状态, OSSemQuery()
- vbscript一个用于验证邮箱的函数
- 写一个登陆126邮箱的脚步
- 一个常见的js邮箱正则表达式
- 一个简单的qq邮箱样式
- 网络蜘蛛--抓取一个网页的邮箱
- 推荐一个可以连gmail的邮箱
- 用html做一个邮箱的注册
- 向邮箱发送一个简单的邮件
- javaScript使用Lodop实现网页表格套打功能
- Android JNI作用及其详解
- busybox内置tftpd服务器配置
- 蓝桥杯 试题集 所用算法总结
- 数据库笔记(SQL基础之DDL与DML)
- 查询一个邮箱的状态, OSMboxQuery()
- 使用sklearn优雅地进行数据挖掘
- ubuntu下Netbeans配置opencv和QT
- Android Broadcast广播机制分析
- HTML、CSS总结
- 互联网协议(2)——数据链路层
- 用C语言编程实现“判断某年某月有几天”
- Codeforces Gym100935
- Mysql索引详解