#ifndef __EKERN_H
#define __EKERN_H
#ifdef USE_ASM_INT3
#define INT3 _asm int 3
#else
#define INT3
#endif
class DLogicalChannel : public CObject
{
protected: IMPORT_C DLogicalChannel(class DLogicalDevice *);
protected: IMPORT_C virtual ~DLogicalChannel(void);
protected: IMPORT_C virtual void Close(void);
protected: IMPORT_C void SetBehaviour(unsigned int);
protected: IMPORT_C void Complete(int);
protected: IMPORT_C void Complete(int,int);
protected: IMPORT_C void CompleteAll(int);
virtual void DoCancel(TInt aReqNo) = 0;
virtual void DoRequest(TInt aReqNo,TAny *a1,TAny *a2) = 0;
protected: virtual void DoCreateL(int,class CBase *,class TDesC8 const *,class TVersion const &){};
protected: IMPORT_C virtual int DoControl(int,void *,void *);
protected: IMPORT_C virtual void foo1(){};
protected: IMPORT_C virtual void foo2(){};
protected: IMPORT_C virtual void foo3(){};
protected: IMPORT_C virtual void foo4(){};
protected: IMPORT_C virtual void foo5(){};
protected: IMPORT_C virtual void foo6(){};
TInt NoOfKernChunks();
TUint iUnknown[1024];
};
class DLogicalDevice : public CObject
{
public: IMPORT_C virtual int Remove(void);
public: IMPORT_C virtual int QueryVersionSupported(class TVersion const &)const;
public: IMPORT_C virtual int IsAvailable(int,class TDesC8 const *,class TDesC8 const *)const;
public:
virtual TInt Install() = 0;
virtual void GetCaps(TDes8 &aDes) const = 0;
virtual DLogicalChannel *CreateL() = 0;
protected: IMPORT_C DLogicalDevice(void);
protected: IMPORT_C virtual ~DLogicalDevice(void);
TInt iUnknownData[1024];
};
#endif