1 1.1 kiyohara /******************************************************************* 2 1.1 kiyohara * 3 1.1 kiyohara * File: EKern.h 4 1.1 kiyohara * 5 1.1 kiyohara * Author: Peter van Sebille (peter (at) yipton.net) 6 1.1 kiyohara * 7 1.1 kiyohara * (c) Copyright 2001, Peter van Sebille 8 1.1 kiyohara * All Rights Reserved 9 1.1 kiyohara * 10 1.1 kiyohara *******************************************************************/ 11 1.1 kiyohara 12 1.1 kiyohara 13 1.1 kiyohara #ifndef __EKERN_H 14 1.1 kiyohara #define __EKERN_H 15 1.1 kiyohara 16 1.1 kiyohara //#ifdef __WINS__ 17 1.1 kiyohara #ifdef USE_ASM_INT3 18 1.1 kiyohara #define INT3 _asm int 3 19 1.1 kiyohara #else 20 1.1 kiyohara #define INT3 21 1.1 kiyohara #endif 22 1.1 kiyohara 23 1.1 kiyohara class DLogicalChannel : public CObject 24 1.1 kiyohara { 25 1.1 kiyohara protected: IMPORT_C DLogicalChannel(class DLogicalDevice *); 26 1.1 kiyohara protected: IMPORT_C virtual ~DLogicalChannel(void); 27 1.1 kiyohara protected: IMPORT_C virtual void Close(void); 28 1.1 kiyohara protected: IMPORT_C void SetBehaviour(unsigned int); 29 1.1 kiyohara protected: IMPORT_C void Complete(int); 30 1.1 kiyohara protected: IMPORT_C void Complete(int,int); 31 1.1 kiyohara protected: IMPORT_C void CompleteAll(int); 32 1.1 kiyohara // probably pure virtuals 33 1.1 kiyohara 34 1.1 kiyohara virtual void DoCancel(TInt aReqNo) = 0; 35 1.1 kiyohara virtual void DoRequest(TInt aReqNo,TAny *a1,TAny *a2) = 0; 36 1.1 kiyohara protected: /*IMPORT_C*/ virtual void DoCreateL(int,class CBase *,class TDesC8 const *,class TVersion const &){}; 37 1.1 kiyohara protected: IMPORT_C virtual int DoControl(int,void *,void *); 38 1.1 kiyohara 39 1.1 kiyohara // hmm, loading the driver crashed on the Series 5, whereas it worked ok on the S5mx + S7 40 1.1 kiyohara // added a few bogus virtuals seems to do the trick 41 1.1 kiyohara protected: IMPORT_C virtual void foo1(){}; 42 1.1 kiyohara protected: IMPORT_C virtual void foo2(){}; 43 1.1 kiyohara protected: IMPORT_C virtual void foo3(){}; 44 1.1 kiyohara protected: IMPORT_C virtual void foo4(){}; 45 1.1 kiyohara protected: IMPORT_C virtual void foo5(){}; 46 1.1 kiyohara protected: IMPORT_C virtual void foo6(){}; 47 1.1 kiyohara 48 1.1 kiyohara TInt NoOfKernChunks(); 49 1.1 kiyohara 50 1.1 kiyohara TUint iUnknown[1024]; 51 1.1 kiyohara }; 52 1.1 kiyohara 53 1.1 kiyohara 54 1.1 kiyohara 55 1.1 kiyohara /* 56 1.3 andvar * DLogicalDevice is probably derived from CObject as the original Arlo 57 1.1 kiyohara * calls SetName from Install 58 1.1 kiyohara */ 59 1.1 kiyohara class DLogicalDevice : public CObject 60 1.1 kiyohara { 61 1.1 kiyohara public: IMPORT_C virtual int Remove(void); 62 1.1 kiyohara public: IMPORT_C virtual int QueryVersionSupported(class TVersion const &)const; 63 1.1 kiyohara public: IMPORT_C virtual int IsAvailable(int,class TDesC8 const *,class TDesC8 const *)const; 64 1.1 kiyohara 65 1.1 kiyohara public: // these seem to be pure virtuals 66 1.1 kiyohara 67 1.1 kiyohara virtual TInt Install() = 0; 68 1.1 kiyohara virtual void GetCaps(TDes8 &aDes) const = 0; 69 1.1 kiyohara virtual DLogicalChannel *CreateL() = 0; 70 1.1 kiyohara 71 1.1 kiyohara protected: IMPORT_C DLogicalDevice(void); 72 1.1 kiyohara protected: IMPORT_C virtual ~DLogicalDevice(void); 73 1.1 kiyohara TInt iUnknownData[1024]; 74 1.1 kiyohara }; 75 1.1 kiyohara 76 1.1 kiyohara 77 1.1 kiyohara 78 1.1 kiyohara 79 1.1 kiyohara 80 1.1 kiyohara 81 1.1 kiyohara 82 1.1 kiyohara 83 1.1 kiyohara #endif /* __EKERN_H */ 84