📄 ertoerr.c
字号:
/* *---------------------------------------------------------------------- * T-Kernel / Standard Extension * * Copyright (C) 2006 by Ken Sakamura. All rights reserved. * T-Kernel / Standard Extension is distributed * under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * * Version: 1.00.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* * ertoerr.c (proc) * * Convert from T-Kernel error codes to extension error codes */#include <sys/util.h>#include <tk/errno.h>#include <extension/errno.h>#define TSD_ETE_SFT_16 16#define TSD_ETE_MSK_0XFFFF 0xffffU#define TSD_ETE_CAS_0XFFFF 0xffffUEXPORT W ERtoERR( ER er ){ if ( er >= E_OK ) { return er; } switch ( (ER)((UW)er & ~TSD_ETE_MSK_0XFFFF) ) { case (ER)~TSD_ETE_CAS_0XFFFF: return (W)((UW)er << TSD_ETE_SFT_16);/* Set lower 16 bits as error class */ case E_NOCOP: return E_NOSPT; /* Coprocessor cannot be used. */ case E_RSATR: return E_PAR; /* Reserved attribute */ case E_OACV: return E_ID; /* Object access right violation */ case E_ILUSE: return E_OBJ; /*Invalid use of system call */ case E_QOVR: return E_LIMIT; /* Queuing overflow */ case E_RLWAI: return E_SYS; /* Forced reset of wait state */ case E_ABORT: return E_SYS; /* Suspended */ case E_SYS: return E_SYS; /* System error */ case E_NOSPT: return E_NOSPT; /* Unsupported function */ case E_RSFN: return E_RSFN; /* Reserved function code number */ case E_PAR: return E_PAR; /* Parameter error */ case E_ID: return E_ID; /* Invalid ID number */ case E_CTX: return E_CTX; /* Context error */ case E_MACV: return E_MACV; /* Memory access impossible/violation */ case E_NOMEM: return E_NOMEM; /* Insufficient memory */ case E_LIMIT: return E_LIMIT; /* Exceeded system limitation */ case E_OBJ: return E_OBJ; /* Object state is invalid. */ case E_NOEXS: return E_NOEXS; /* Object does not exist. */ case E_TMOUT: return E_TMOUT; /* Failure or timeout of polling */ case E_DLT: return E_DLT; /* Wait object has been deleted. */ case E_DISWAI: return E_DISWAI; /* Disable wait to reset wait state. */ case E_IO: return E_IO; /* Input/output error */ case E_NOMDA: return E_NOMDA; /* No media */ case E_BUSY: return E_BUSY; /* Busy state */ case E_RONLY: return E_RONLY; /* Write-protected */ default: /* nothing to do */ break; } return E_SYS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -