2010年(49)
分类: 嵌入式
2010-09-07 14:01:49
错误状态值的分配:
VxWorks的errno值表明了一个模块的错误类型,高位两字节的代表模块号,底位两个字节来表示单独的错误码。
Errno的模块号从1-500,如果模块号为0,则表示用于资源的兼容性问题。应用程序可以使用大与501<<16的正数以及所有负数。
错误码格式:模块编码(16bits)+错误类型(16bits);
模块号在vwModNum.h中,错误类型在相应的头文件中。
例如错误码0xd0003,高16位为’d’,换算成十进制为‘13’,在vwModNum.h找到如下宏定义:
#define
M_iosLib (13 << 16)
然后到该模块对应的头文件iosLib.h中根据‘0x0003’找到宏定义:
#define
S_iosLib_INVALID_FILE_DESCRIPTOR (M_iosLib
| 3)
那么错误码0xd0003就表示S_iosLib_INVALID_FILE_DESCRIPTOR错误。