39 lines
869 B
C++

// Copyright (C) 2004 Intel Corporation
#ifndef __HECI_H__
#define __HECI_H__
#include <memory.h>
#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