/***************************************************************************** Company : Shree Ganesha Inc. File Name : SkyWalker1Utility.h Author : Date : Purpose : This file basically holds the Utility related Common Declarations used in the SkyWalker Driver Module Revision History: =============================================================================== DATE VERSION AUTHOR REMARK =============================================================================== XXth April,2009 01 Initial Version *****************************************************************************/ #ifndef SKYWALKER1_UTILITY_H #define SKYWALKER1_UTILITY_H /* Include the Library and Other header file */ #include /* End of Inclusion the Library and Other header file */ /* Macro Definitions */ #define SKYWALKER1_DRIVER_NAME "SkyWalker1TVTuner" extern int nCurrentDebugLevel; #define DEBUG_ON #ifdef DEBUG_ON #define SkyWalkerDebugPrint(DebugLevel,_ARGUMENTS_) \ if((DebugLevel) <= nCurrentDebugLevel) \ { \ DbgPrint _ARGUMENTS_; \ } #else #define SkyWalkerDebugPrint(DebugLevel,__ARGUMENTS__) #endif #define TRUE 1 #define FALSE 0 /* End of Macro Definitions */ /* Global & Static variables Declaration */ /* End of Global & Static variables Declaration */ /* External Variable Declaration */ /* End of External Variable Declaration */ /* Declare Enumerations here */ /* ENUM : enDebugLevels */ /* PURPOSE : To Define Different Debug Levels */ enum enDebugLevels { DISABLE_DEBUG = 0, ENTRY_LEVEL, INTERMEDIATE_LEVEL, EXTREME_LEVEL, }; /* End of Enumeration declaration */ /* Function Prototypes */ void PrintFunctionEntry(IN char * pcFunctionName); void PrintFunctionExit(IN char * pcFunctionName, IN NTSTATUS ntReturnCode); char * GetCurrentIrqlString(void); VOID Delay(IN ULONG ulDelayInMicroSeconds); //To Delay the Execution Thread NTSTATUS LowerDeviceCompletedIrp(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIoRequestPacket, IN PVOID pContext); NTSTATUS PassDownIRPAndWaitForCompletion(IN PDEVICE_OBJECT pLowerDeviceObject, IN PIRP pIoRequestPacket, IN BOOLEAN bCopyStackLocation); NTSTATUS PassDownIRPAndForget(IN PDEVICE_OBJECT pLowerDeviceObject, IN PIRP pIoRequestPacket); VOID CompleteIrpInDispatch(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIoRequestPacket); PUCHAR NTStatusToString(NTSTATUS Status) ; VOID PrintDeviceChangeState(IN KSSTATE ToState,IN KSSTATE FromState); /* End of Function prototype definitions */ #endif /*SKYWALKER1_UTILITY_H*/