39 lines
869 B
C++
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
|