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