📄 fvmi12errortreatment.c
字号:
#ifdef FSS_FTR#define ACCESS_RIGHTS_INTERNAL_FVMI#define FVMI12ERRORTREATMENT_C#include "fVmi.h"#undef FILE_NUMBER#define FILE_NUMBER 12 extern void din3_0GeneralDefense( u8 vp_Type, u32 vp_ErrorCode );/******************************************************************************** This procedure is used to generate an exception.*******************************************************************************/#undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 1void fVmi12_01Exception(u8 vp_Blocking, u32 vp_CompactedParam){#if defined (UNIX) if (vp_Blocking) printf ("\n\n FVMI EXCEPTION type blocking:"); else printf ("\n\n FVMI EXCEPTION type no blocking:"); printf ("\n\t * File number: %d", (vp_CompactedParam >> 16) & 0xff); printf ("\n\t * Procedure number: %d", (vp_CompactedParam >> 8) & 0xff); printf ("\n\t * Error number: %d\n\n", vp_CompactedParam & 0xff); exit (1);#else din3_0GeneralDefense( vp_Blocking, vp_CompactedParam | MODULE_FMFVMI << 24);#endif}/******************************************************************************** This procedure is used to translate an error detected by FVM or to generate an* exception.*******************************************************************************/#undef PROCEDURE_NUMBER #define PROCEDURE_NUMBER 2s32 fVmi12_02ErrorTranslation(u8 vp_Error){ switch (vp_Error) { case FVM_FSS_DATA_OUT_OF_FILE : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_DATA_OUT_OF_FILE); case FVM_FSS_ERASING_ERROR : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_ERASING_ERROR); case FVM_FSS_FILE_ID_ERROR : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_FILE_ID_ERROR); case FVM_FSS_FILE_CORRUPTED : return (FSS_ERR_MEMORY_CORRUPTED); case FVM_FSS_FREEZE_MODE : return (FSS_ERR_VOL_FROZEN); case FVM_FSS_ALREADY_FROZEN : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_VOL_ALREADY_FROZEN); case FVM_FSS_ALREADY_UNFROZEN : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_VOL_ALREADY_UNFROZEN); case FVM_FSS_ILLEGAL_COMMAND : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_ILLEGAL_COMMAND); case FVM_FSS_INIT_FAILED : return (FSS_ERR_INIT_FAIL); case FVM_FSS_MAX_SIZE_EXCEEDED : return (FSS_EFBIG); case FVM_FSS_NO_ENOUGH_ROOM : return (FSS_ENOSPC); case FVM_FSS_NO_FREE_ID : return (FSS_ERR_TOO_MUTCH_OBJ_ON_DEVICE);#ifdef SYNCHRONOUS_FILE_SYSTEM_FTR case FVM_FSS_DELAY : return (FSS_ERR_DELAY_OPER);#endif case FVM_FSS_WRITING_ERROR : FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_WRITING_ERROR); default : /* Error unlisted: generate an exception */ FVMI_EXCPTHANDLER(FVMI_BLOCKED, FVMI_EXCPT_BAD_ERROR_NB); } return (NIL);}#endif /* FSS_FTR */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -