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