// Copyright (C) 2004 Intel Corporation #ifndef __HECI_H__ #define __HECI_H__ #include #ifndef GUID_DEFINED #define GUID_DEFINED typedef struct guid { unsigned long data1; unsigned short data2; unsigned short data3; unsigned char data4[8]; } GUID; #endif class HECI { public: HECI(const GUID guid, bool verbose = false): _initialized(false), _verbose(verbose), _bufSize(0) { memcpy_s(&_guid, sizeof(GUID), &guid, sizeof(GUID)); } virtual ~HECI() {} virtual bool Init() = 0; virtual void Deinit() = 0; virtual int ReceiveMessage(unsigned char *buffer, int len, unsigned long timeout = 2000) = 0; virtual int SendMessage(unsigned char *buffer, int len, unsigned long timeout = 2000) = 0; virtual unsigned long GetBufferSize() = 0; protected: GUID _guid; bool _initialized; bool _verbose; unsigned long _bufSize; }; #endif