/*///////////////////////////////////////////////////////////*/
/**/
/*			Management of the Module : INO*/
/**/
/* File Name	: ErrINO.h*/
/* Date			: 07/03/97*/
/* Author		: Francis Jentey*/
/**/
/*///////////////////////////////////////////////////////////*/
/**/
/* abbreviation of the module-name. Used in macro is 'INO'*/
/**/
/*///////////////////////////////////////////////////////////*/
 
#ifndef __ERRINO_H__
#define __ERRINO_H__
 
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
 
#define C_szINOVersion "INO V5.1.0" /* The format is INO Va.b.c with INO is the Tag of the module */
#define C_szINOFullName "Module InOut"/* the complete and clear name of the module */
#define C_szINODate "Nov 21 1997" /*The format is "Mmm dd yyyy".You can use __DATE__ but be careful that you have the control of the compilation*/
 
/* For DLLs who are using this module : */ 
#undef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
 #define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
 #define CPA_EXPORT __declspec(dllexport)
#else
 #define CPA_EXPORT
#endif
 
 
#include "ERM.h"
 
#define __FATAL_ERR_INO__
#define __WARNING1_ERR_INO__
#define __WARNING2_ERR_INO__
#define __WARNING3_ERR_INO__
/*----------*/
/* Constant	 */
/*----------*/
/* error of the INO Module*/
typedef enum e_uwINOErrNumber_{
	E_uwINOFatalErr,	
#ifdef __FATAL_ERR_INO__
    E_uwINO_FatalFailedAllocationMem,
    E_uwINO_FatalDirectInpuNotFound,
    E_uwINO_DirectInputError,
    E_uwINO_NotInitialized,
    E_uwINO_TooManyDevice,
/*     -----------------*/
#endif /*__FATAL_ERR_INO__*/
	E_uwINOStartOfWarning,/* important constant, it allows to recognize if an error is fatal or not.*/
#ifdef __WARNING1_ERR_INO__
/*     -------------------  Common error code*/
    E_uwINO_WarningInvalidDevice,
    E_uwINO_DeviceInitFailed,
/*     -------------------  Joystick error code*/
/*    E_uwINO_Joystick_NotInNormalMode,
    E_uwINO_Joystick_NotInRecordingMode,
    E_uwINO_Joystick_NotInPlayingMode,
    E_uwINO_Joystick_DemoFileError,
    E_uwINO_Joystick_BadFileFormat,
//     -------------------  Keyboard error code
    E_uwINO_Keyboard_NotInRecordingMode,
    E_uwINO_Keyboard_NotInNormalMode,
    E_uwINO_Keyboard_NotInPlayingMode,
    E_uwINO_Keyboard_DemoBadFileFormat,
    E_uwINO_Keyboard_DemoFileError,*/
/*     -------------------  Mouse error code*/
    E_uwINO_Mouse_InvalidGLDDeviceHandle,
    E_uwINO_Mouse_FailedGettingDeviceAttributes,
    E_uwINO_Mouse_NoGLDDeviceLinked,
 
#endif /*__WARNING1_ERR_INO__*/
#ifdef __WARNING2_ERR_INO__
/*     -------------------*/
 
#endif /*__WARNING2_ERR_INO__*/
#ifdef __WARNING3_ERR_INO__
/*     -------------------*/
 
#endif /*__WARNING3_ERR_INO__*/
	E_uwINOErrNumber
} e_uwINOErrNumber;
 
/*------------------*/
/* Global Variables*/
/*------------------*/
#undef __ERRINO_EXTERN
#ifndef __DeclareGlobalVariableErrINO_h__
#define __ERRINO_EXTERN extern /*external declaration*/
#else /*__DeclareGlobalVariableErrINO_h__*/
#define __ERRINO_EXTERN /*replace by nothing : we have to declare*/
#endif /*__DeclareGlobalVariableErrINO_h__*/
 
__ERRINO_EXTERN CPA_EXPORT  unsigned char g_ucINOModuleId /*number of identification of the Erm module*/
#if defined(__DeclareGlobalVariableErrINO_h__) && !defined(CPA_WANTS_IMPORT)
= C_ucModuleNotInitialized
#endif /*__DeclareGlobalVariableErrINO_h__&& CPA_WANTS_IMPORT*/
;
 
#ifdef __ERROR_STRINGS__
 
__ERRINO_EXTERN CPA_EXPORT  char * g_a_szINOInformationModule []
#if defined(__DeclareGlobalVariableErrINO_h__) && !defined(CPA_WANTS_IMPORT)
= {C_szINOVersion, C_szINOFullName, C_szINODate}
#endif /*__DeclareGlobalVariableErrINO_h__ &&  CPA_WANTS_IMPORT*/
;
 
__ERRINO_EXTERN CPA_EXPORT  char * g_szINOModuleName /* Mandatory syntax 'g_sz'+[Abbreviation of ModuleName]+'ModuleName'*/
#if defined(__DeclareGlobalVariableErrINO_h__) && !defined(CPA_WANTS_IMPORT)
= "Module INO"
#endif /*__DeclareGlobalVariableErrINO_h__ && CPA_WANTS_IMPORT*/
;
 
__ERRINO_EXTERN CPA_EXPORT  struct tdstErrorMsg_ g_a_stINOTabErr [] 	/* Mandatory syntax 'g_a_st'+[Abbreviation of ModuleName]+'TabErr'*/
#if defined(__DeclareGlobalVariableErrINO_h__) && !defined(CPA_WANTS_IMPORT)
={ 
#ifdef __FATAL_ERR_INO__   
/*	 -------------*/
    E_uwINO_FatalFailedAllocationMem, "Memory allocation failed.",
    E_uwINO_FatalDirectInpuNotFound, "Direct Input init failed.",
    E_uwINO_DirectInputError, "Direct input error.",
    E_uwINO_NotInitialized,"Module INO is not initialized.",
    E_uwINO_TooManyDevice,"Too many devices.",
#endif /*__FATAL_ERR_INO__*/
#ifdef __WARNING1_ERR_INO__
/*	 ---------------- Common error string*/
    E_uwINO_WarningInvalidDevice, "The specified device doesn't exist.",
    E_uwINO_DeviceInitFailed,"Device init failure.",
/*	 ---------------- Joystick error string*/
/*    E_uwINO_Joystick_NotInNormalMode, "Joystick is not in normal mode",
    E_uwINO_Joystick_NotInRecordingMode, "Joystick is not in recording mode",
    E_uwINO_Joystick_NotInPlayingMode, "Joystick is not in playing mode",
    E_uwINO_Joystick_DemoFileError, "Demo file access error.",
    E_uwINO_Joystick_BadFileFormat, "This file is not a demo file.",
//	 ---------------- Keyboard error string
    E_uwINO_Keyboard_NotInRecordingMode,"This function can only be called in demo recording mode.",
    E_uwINO_Keyboard_NotInNormalMode,"You are currently in demo recording or playing mode.",
    E_uwINO_Keyboard_NotInPlayingMode,"This function can only be called in demo playing mode.",
    E_uwINO_Keyboard_DemoBadFileFormat,"Unrecognized file format.",
    E_uwINO_Keyboard_DemoFileError,"The function can't open or read the demo file.",*/
/*     -------------------  Mouse error string*/
    E_uwINO_Mouse_InvalidGLDDeviceHandle,"Invalid GLD device handle.",
    E_uwINO_Mouse_FailedGettingDeviceAttributes,"Failed to get GLD device attributes.",
    E_uwINO_Mouse_NoGLDDeviceLinked,"No GLD device linked with the mouse",
 
#endif /*__WARNING1_ERR_INO__*/
#ifdef __WARNING2_ERR_INO__
/*	 ----------------*/
#endif /*__WARNING2_ERR_INO__*/
#ifdef __WARNING3_ERR_INO__
/*	 ----------------*/
#endif /*__WARNING3_ERR_INO__*/
	0xFFFF, "\0"/*fin*/
};
#endif /*__DeclareGlobalVariableErrINO_h__ && CPA_WANTS_IMPORT*/
;
 
#endif /*__ERROR_STRINGS__*/
 
#ifdef __cplusplus
};
#endif /* __cplusplus */
 
#endif /*__ERRINO_H__*/
