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