ekern.h revision 1.3 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