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

📄 ertoerr.c

📁 T-kernel 的extension源代码
💻 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 + -