Subversion Repositories Kolibri OS

Rev

Rev 589 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 589 Rev 631
Line 2... Line 2...
2
íªá¯®àâ¨àãîéãî á«¥¤ãî騥 ä㭪樨 ¨ ¯¥à¥¬¥­­ë¥ (­¥ª®â®àë¥ ä㭪樨 ¬®£ãâ ®âáãâá⢮¢ âì).
2
íªá¯®àâ¨àãîéãî á«¥¤ãî騥 ä㭪樨 ¨ ¯¥à¥¬¥­­ë¥ (­¥ª®â®àë¥ ä㭪樨 ¬®£ãâ ®âáãâá⢮¢ âì).
3
”㭪樨 ¬®£ãâ à §àãè âì «î¡ë¥ ॣ¨áâàë. kfar £ à ­â¨àã¥â á¡à®è¥­­ë© ä« £ ­ ¯à ¢«¥­¨ï DF
3
”㭪樨 ¬®£ãâ à §àãè âì «î¡ë¥ ॣ¨áâàë. kfar £ à ­â¨àã¥â á¡à®è¥­­ë© ä« £ ­ ¯à ¢«¥­¨ï DF
4
¯à¨ ¢ë§®¢¥ íªá¯®àâ¨à㥬ëå ä㭪権 ¨ ®¦¨¤ ¥â ⮣® ¦¥ ¤«ï callback-ä㭪権.
4
¯à¨ ¢ë§®¢¥ íªá¯®àâ¨à㥬ëå ä㭪権 ¨ ®¦¨¤ ¥â ⮣® ¦¥ ¤«ï callback-ä㭪権.
Line 5... Line 5...
5
 
5
 
6
int version;
6
int version;
Line 7... Line 7...
7
‚¥àá¨ï ¨­â¥àä¥©á  kfar, ­  ª®â®àãî à ááç¨â ­ ¯« £¨­. ‘¥©ç á ¤®«¦­  ¡ëâì 1.
7
‚¥àá¨ï ¨­â¥àä¥©á  kfar, ­  ª®â®àãî à ááç¨â ­ ¯« £¨­. ‘¥©ç á ¤®«¦­  ¡ëâì 2.
8
 
8
 
9
int __stdcall plugin_load(kfar_info* info);
9
int __stdcall plugin_load(kfar_info* info);
10
‚ë§ë¢ ¥âáï ¯à¨ § £à㧪¥ ¯« £¨­ .
10
‚ë§ë¢ ¥âáï ¯à¨ § £à㧪¥ ¯« £¨­ .
Line 18... Line 18...
18
                        // mode - ª®¬¡¨­ æ¨ï ¡¨â®¢ëå ä« £®¢
18
                        // mode - ª®¬¡¨­ æ¨ï ¡¨â®¢ëå ä« £®¢
19
                        // O_READ = 1 - ¤®áâ㯠¤«ï ç⥭¨ï
19
                        // O_READ = 1 - ¤®áâ㯠¤«ï ç⥭¨ï
20
                        // O_WRITE = 2 - ¤®áâ㯠¤«ï § ¯¨á¨
20
                        // O_WRITE = 2 - ¤®áâ㯠¤«ï § ¯¨á¨
21
                        // O_CREATE = 4 - ¥á«¨ ä ©« ­¥ áãé¥áâ¢ã¥â, ᮧ¤ âì ¥£®
21
                        // O_CREATE = 4 - ¥á«¨ ä ©« ­¥ áãé¥áâ¢ã¥â, ᮧ¤ âì ¥£®
22
                        // O_TRUNCATE = 8 - ãá¥çì ä ©« ¤® ­ã«¥¢®© ¤«¨­ë
22
                        // O_TRUNCATE = 8 - ãá¥çì ä ©« ¤® ­ã«¥¢®© ¤«¨­ë
-
 
23
        void* open2;    // HANDLE __stdcall open2(int plugin_id, HANDLE plugin_instance,
-
 
24
                        //                      const char* name, int mode);
-
 
25
                        //  ­ «®£¨ç­® open, ­® ®âªà뢠¥â ä ©« á ¯ ­¥«¨ ¯« £¨­ 
-
 
26
                        // open2(0,,name,mode) = open(name,mode)
23
        void* read;     // unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
27
        void* read;     // unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
24
        void* write;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
28
        void* write;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
25
        void* seek;     // void __stdcall seek(HANDLE hFile, int method, __int64 newpos);
29
        void* seek;     // void __stdcall seek(HANDLE hFile, int method, __int64 newpos);
-
 
30
        void* tell;     // __int64 __stdcall tell(HANDLE hFile);
26
        void* flush;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
31
        void* flush;    // ¥éñ ­¥ ॠ«¨§®¢ ­®
27
        void* filesize; // __int64 __stdcall filesize(HANDLE hFile);
32
        void* filesize; // __int64 __stdcall filesize(HANDLE hFile);
28
        void* close;    // void __stdcall close(HANDLE hFile);
33
        void* close;    // void __stdcall close(HANDLE hFile);
29
/* ”㭪樨 à ¡®âë á ¯ ¬ïâìî (¯®áâà ­¨ç­®): */
34
/* ”㭪樨 à ¡®âë á ¯ ¬ïâìî (¯®áâà ­¨ç­®): */
30
        void* pgalloc;  // in: ecx=size, out: eax=pointer or NULL
35
        void* pgalloc;  // in: ecx=size, out: eax=pointer or NULL
Line 58... Line 63...
58
2 = ®è¨¡ª  ¨­¨æ¨ «¨§ æ¨¨ (kfar ¯à®¤®«¦¨â ¡¥§ á®®¡é¥­¨©)
63
2 = ®è¨¡ª  ¨­¨æ¨ «¨§ æ¨¨ (kfar ¯à®¤®«¦¨â ¡¥§ á®®¡é¥­¨©)
Line 59... Line 64...
59
 
64
 
60
void __stdcall plugin_unload(void);
65
void __stdcall plugin_unload(void);
Line 61... Line 66...
61
‚ë§ë¢ ¥âáï ¯à¨ ¢ë£à㧪¥ ¯« £¨­  (¢ ¯à®æ¥áᥠ§ ¢¥à襭¨ï à ¡®âë kfar).
66
‚ë§ë¢ ¥âáï ¯à¨ ¢ë£à㧪¥ ¯« £¨­  (¢ ¯à®æ¥áᥠ§ ¢¥à襭¨ï à ¡®âë kfar).
62
 
67
 
-
 
68
HANDLE __stdcall OpenFilePlugin(HANDLE basefile,
63
HANDLE __stdcall OpenFilePlugin(HANDLE basefile, const char* name,
69
        const void* attr, const void* data, int datasize,
-
 
70
        int baseplugin_id, HANDLE baseplugin_instance, const char* name);
64
        const void* attr, const void* data, int datasize);
71
Žâªà뢠¥â ¯« £¨­, í¬ã«¨àãî騩 ä ©«®¢ãî á¨á⥬㠭  ¡ §¥ ä ©«  (­ ¯à¨¬¥à,  à娢 ).
65
Žâªà뢠¥â ¯« £¨­, í¬ã«¨àãî騩 ä ©«®¢ãî á¨á⥬㠭  ¡ §¥ ä ©«  (­ ¯à¨¬¥à,  à娢 ).
-
 
66
basefile - åí­¤« ä ©«  (ª ª®â®à®¬ã ¯à¨¬¥­¨¬ë ä㭪樨 read ¨ seek ¨§ kfar_info)
72
 
67
name - ¨¬ï ä ©«  (¢® ¢à¥¬¥­­®¬ ¡ãä¥à¥)
73
basefile - åí­¤« ä ©«  (ª ª®â®à®¬ã ¯à¨¬¥­¨¬ë ä㭪樨 read ¨ seek ¨§ kfar_info)
68
attr - 㪠§ â¥«ì ­  áâàãªâãàã á  âਡãâ ¬¨ ä ©«  ¢ ä®à¬ â¥ á¨á⥬­®© ä㭪樨 70.1
74
attr - 㪠§ â¥«ì ­  áâàãªâãàã á  âਡãâ ¬¨ ä ©«  ¢ ä®à¬ â¥ á¨á⥬­®© ä㭪樨 70.1
-
 
75
data - ¡ãä¥à, ᮤ¥à¦ é¨© ¤ ­­ë¥ ¨§ ­ ç «  ä ©«  (¬®¦¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥­¨ï ⨯  ä ©« )
-
 
76
datasize - à §¬¥à ¤ ­­ëå ¢ data. ‚ ⥪ã饩 ॠ«¨§ æ¨¨ min(1024,à §¬¥à ä ©« )
-
 
77
baseplugin_id - ¨¤¥­â¨ä¨ª â®à ¯« £¨­ , ­  ¯ ­¥«¨ ª®â®à®£® à á¯®« £ ¥âáï ®âªà뢠¥¬ë© ä ©«;
-
 
78
                0 ¢ á«ãç ¥ ®¡ëç­ëå ¯ ­¥«¥©
-
 
79
baseplugin_instance - åí­¤«, ¢®§¢à éñ­­ë© ¨§ ä㭪樨 GetOpenPluginInfo ¯« £¨­ ,
-
 
80
                ®¯à¥¤¥«ï¥¬®£® ¯® baseplugin_id
69
data - ¡ãä¥à, ᮤ¥à¦ é¨© ¤ ­­ë¥ ¨§ ­ ç «  ä ©«  (¬®¦¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥­¨ï ⨯  ä ©« )
81
name - ¨¬ï ä ©«  (¢® ¢à¥¬¥­­®¬ ¡ãä¥à¥) (¯®«­®¥ ¨¬ï ®â­®á¨â¥«ì­® baseplugin)
70
datasize - à §¬¥à ¤ ­­ëå ¢ data. ‚ ⥪ã饩 ॠ«¨§ æ¨¨ min(1024,à §¬¥à ä ©« )
82
 
71
…᫨ ¯« £¨­ ®¡à ¡ â뢠¥â ¯¥à¥¤ ­­ë© ä ©«, â® ®­ ¤®«¦¥­ ¢¥à­ãâì ­®¢ë© ®¯¨á â¥«ì,
83
…᫨ ¯« £¨­ ®¡à ¡ â뢠¥â ¯¥à¥¤ ­­ë© ä ©«, â® ®­ ¤®«¦¥­ ¢¥à­ãâì ­®¢ë© ®¯¨á â¥«ì,
72
ª®â®àë© ¢ ¤ «ì­¥©è¥¬ ¡ã¤¥â ¨á¯®«ì§®¢ âì kfar ¤«ï ®¡à é¥­¨ï ª ¯« £¨­ã. ‚ í⮬ á«ãç ¥
84
ª®â®àë© ¢ ¤ «ì­¥©è¥¬ ¡ã¤¥â ¨á¯®«ì§®¢ âì kfar ¤«ï ®¡à é¥­¨ï ª ¯« £¨­ã. ‚ í⮬ á«ãç ¥
73
¯« £¨­ ¤®«¦¥­ á ¬®áâ®ï⥫쭮 § ªàëâì basefile ä㭪樥© close ¨§ kfar_info (­ ¯à¨¬¥à,
85
¯« £¨­ ¤®«¦¥­ á ¬®áâ®ï⥫쭮 § ªàëâì basefile ä㭪樥© close ¨§ kfar_info (­ ¯à¨¬¥à,