#ifndef DEVICES_H
#define DEVICES_H


typedef union {
   struct {
       ULONG LowPart;
       LONG HighPart;
   } u;
   LONGLONG QuadPart;
} PHYSICAL_ADDRESS;


#pragma pack(1)
typedef struct _SmiMem //SMI Memory
{
	int					bufferSize;
	PVOID				buffer;
	PHYSICAL_ADDRESS	realAddr;

} SmiMem, *PSmiMem;
#pragma pack()

typedef struct _SmiCmd //SMI Memory
{
	ULONG	smiPort;
	ULONG	ulEAX;
	ULONG	ulEBX;
	ULONG	ulECX;
	ULONG	ulEDX;
	ULONG	ulESI;
	ULONG	ulEDI;

} SmiCmd, *PSmiCmd;

#endif