2007-07-26 16:45:49 +04:00
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>।<EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD> ᮡ<><E1AEA1> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> (<28><>ଠ<EFBFBD><E0ACA0> COFF),
|
|
|
|
|
<EFBFBD><EFBFBD>ᯮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5><EFBFBD>騥 <20>㭪樨 <20> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD>).
|
|
|
|
|
<EFBFBD>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD>. kfar <20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD><EFBFBD> 䫠<> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> DF
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20>㭪権 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮣<> <20><> <20><><EFBFBD> callback-<2D>㭪権.
|
|
|
|
|
|
|
|
|
|
int version;
|
2007-09-20 20:20:58 +04:00
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>䥩<EFBFBD><E4A5A9> kfar, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 2.
|
2007-07-26 16:45:49 +04:00
|
|
|
|
|
|
|
|
|
int __stdcall plugin_load(kfar_info* info);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int StructSize; // = sizeof(kfar_info)
|
|
|
|
|
int kfar_ver; // 10000h*major + minor
|
|
|
|
|
/* <20><><EFBFBD> callback-<2D>㭪樨 <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>᪫<EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD> eax. */
|
|
|
|
|
/* <20>㭪樨 ࠡ<><E0A0A1><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD>: */
|
|
|
|
|
void* open; // HANDLE __stdcall open(const char* name, int mode);
|
|
|
|
|
// mode - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⮢<EFBFBD><E2AEA2> 䫠<><E4ABA0><EFBFBD>
|
|
|
|
|
// O_READ = 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>⥭<EFBFBD><E2A5AD>
|
|
|
|
|
// O_WRITE = 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// O_CREATE = 4 - <20> 䠩<> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD>
|
|
|
|
|
// O_TRUNCATE = 8 - <20><><EFBFBD><EFBFBD><EFBFBD> 䠩<> <20><> <20>㫥<EFBFBD><E3ABA5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
2007-09-20 20:20:58 +04:00
|
|
|
|
void* open2; // HANDLE __stdcall open2(int plugin_id, HANDLE plugin_instance,
|
|
|
|
|
// const char* name, int mode);
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 open, <20><> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// open2(0,<anything>,name,mode) = open(name,mode)
|
2007-07-26 16:45:49 +04:00
|
|
|
|
void* read; // unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
|
|
|
|
|
void* write; // <20><><EFBFBD> <20><> ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void* seek; // void __stdcall seek(HANDLE hFile, int method, __int64 newpos);
|
2007-09-20 20:20:58 +04:00
|
|
|
|
void* tell; // __int64 __stdcall tell(HANDLE hFile);
|
2007-07-26 16:45:49 +04:00
|
|
|
|
void* flush; // <20><><EFBFBD> <20><> ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void* filesize; // __int64 __stdcall filesize(HANDLE hFile);
|
|
|
|
|
void* close; // void __stdcall close(HANDLE hFile);
|
|
|
|
|
/* <20>㭪樨 ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>࠭<EFBFBD>筮): */
|
|
|
|
|
void* pgalloc; // in: ecx=size, out: eax=pointer or NULL
|
|
|
|
|
// <20><><EFBFBD> <20><>墠⪥ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ<>頥<EFBFBD> <20><><EFBFBD>짮<EFBFBD><ECA7AE>⥫<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> NULL
|
|
|
|
|
void* pgrealloc; // in: edx=pointer, ecx=new size, out: eax=pointer or NULL
|
|
|
|
|
// <20><><EFBFBD> <20><>墠⪥ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ<>頥<EFBFBD> <20><><EFBFBD>짮<EFBFBD><ECA7AE>⥫<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> NULL
|
|
|
|
|
void* pgfree; // in: ecx=pointer
|
|
|
|
|
void* getfreemem; // unsigned __stdcall getfreemem(void);
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> ࠧ<><E0A0A7><EFBFBD> <><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>
|
|
|
|
|
void* pgalloc2; // void* __stdcall pgalloc2(unsigned size);
|
|
|
|
|
void* pgrealloc2; // void* __stdcall pgrealloc2(void* pointer, unsigned size);
|
|
|
|
|
void* pgfree2; // void __stdcall pgfree2(void* pointer);
|
|
|
|
|
/* <20>㭪樨 ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: */
|
|
|
|
|
void* menu; // int __stdcall menu(void* variants, const char* title, unsigned flags);
|
|
|
|
|
// variants 㪠<>뢠<EFBFBD><EBA2A0> <20><> ⥪<>騩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>吝<EFBFBD><EFA7AD> ᯨ᪥
|
|
|
|
|
void* menu_centered_in; // int __stdcall menu_centered_in(unsigned left, unsigned top,
|
|
|
|
|
// unsigned width, unsigned height,
|
|
|
|
|
// void* variants, const char* title, unsigned flags);
|
|
|
|
|
void* DialogBox; // int __stdcall DialogBox(DLGDATA* dlg);
|
|
|
|
|
void* SayErr; // int __stdcall SayErr(int num_strings, const char** strings,
|
|
|
|
|
// int num_buttons, const char** buttons);
|
|
|
|
|
void* Message; // int __stdcall Message(const char* title,
|
|
|
|
|
// int num_strings, const char** strings,
|
|
|
|
|
// int num_buttons, const char** buttons);
|
|
|
|
|
// may be x=-1 and/or y=-1
|
|
|
|
|
struct {unsigned width;unsigned height;}* cur_console_size;
|
|
|
|
|
} kfar_info;
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
|
|
|
0 = <20>ᯥ譠<E1AFA5> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
1 = <20>訡<EFBFBD><E8A8A1> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD>樨 (kfar <20>뤠<EFBFBD><EBA4A0> ᮮ<>饭<EFBFBD><E9A5AD> <20><><EFBFBD>짮<EFBFBD><ECA7AE>⥫<EFBFBD>)
|
|
|
|
|
2 = <20>訡<EFBFBD><E8A8A1> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD>樨 (kfar <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD>)
|
|
|
|
|
|
|
|
|
|
void __stdcall plugin_unload(void);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> ࠡ<><E0A0A1><EFBFBD> kfar).
|
|
|
|
|
|
2007-09-20 20:20:58 +04:00
|
|
|
|
HANDLE __stdcall OpenFilePlugin(HANDLE basefile,
|
|
|
|
|
const void* attr, const void* data, int datasize,
|
|
|
|
|
int baseplugin_id, HANDLE baseplugin_instance, const char* name);
|
2007-07-26 16:45:49 +04:00
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>㫨<EFBFBD><E3ABA8><EFBFBD>騩 䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> 䠩<><E4A0A9> (<28><><EFBFBD>ਬ<EFBFBD><E0A8AC>, <20><>娢<EFBFBD>).
|
2007-09-20 20:20:58 +04:00
|
|
|
|
|
2007-07-26 16:45:49 +04:00
|
|
|
|
basefile - <20><><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9> (<28> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 read <20> seek <20><> kfar_info)
|
|
|
|
|
attr - 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ਡ<EFBFBD>⠬<EFBFBD> 䠩<><E4A0A9> <20> <20><>ଠ<EFBFBD><E0ACA0> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20>㭪樨 70.1
|
|
|
|
|
data - <20><><EFBFBD><EFBFBD><EFBFBD>, ᮤ<>ঠ騩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>砫<EFBFBD> 䠩<><E4A0A9> (<28><><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⨯<> 䠩<><E4A0A9>)
|
|
|
|
|
datasize - ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> data. <20> ⥪<>饩 ॠ<><E0A5A0><EFBFBD><EFBFBD>樨 min(1024,ࠧ<><E0A0A7><EFBFBD> 䠩<><E4A0A9>)
|
2007-09-20 20:20:58 +04:00
|
|
|
|
baseplugin_id - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ண<EFBFBD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> 䠩<>;
|
|
|
|
|
0 <20> <20><><EFBFBD>砥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
baseplugin_instance - <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>㭪樨 GetOpenPluginInfo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
<20><>।<EFBFBD><E0A5A4>塞<EFBFBD><EFA5AC><EFBFBD> <20><> baseplugin_id
|
|
|
|
|
name - <20><><EFBFBD> 䠩<><E4A0A9> (<28><> <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 baseplugin)
|
|
|
|
|
|
2007-07-26 16:45:49 +04:00
|
|
|
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD><EBA2A0> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> 䠩<>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD>,
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>쭥<EFBFBD>襬 <20>㤥<EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD> kfar <20><><EFBFBD> <20><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20>⮬ <20><><EFBFBD>砥
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> basefile <20>㭪樥<E3ADAA> close <20><> kfar_info (<28><><EFBFBD>ਬ<EFBFBD><E0A8AC>,
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⨨ <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ClosePlugin <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>।<EFBFBD>⢥<EFBFBD><E2A2A5><EFBFBD> <20> OpenFilePlugin,
|
|
|
|
|
<EFBFBD> basefile <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5>⢨<EFBFBD> <20><> <20>㦥<EFBFBD>).
|
|
|
|
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD><EBA2A0> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> 䠩<>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.
|
|
|
|
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࢠ<EFBFBD><E0A2A0> <20><><EFBFBD>짮<EFBFBD><ECA7AE>⥫<EFBFBD><E2A5AB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> -1.
|
|
|
|
|
|
|
|
|
|
void __stdcall ClosePlugin(HANDLE hPlugin);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> OpenFilePlugin <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD>.
|
|
|
|
|
|
|
|
|
|
void __stdcall GetOpenPluginInfo(HANDLE hPlugin, OpenPluginInfo* Info);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
unsigned flags; // <20><><EFBFBD> 0: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '..', <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD> 1: <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> GetFiles
|
|
|
|
|
} OpenPluginInfo;
|
|
|
|
|
|
|
|
|
|
void __stdcall GetPanelTitle(HANDLE hPlugin, char title[1024],
|
|
|
|
|
const char* host_file, const char* curdir);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> host_file ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>, <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD> OpenFilePlugin. <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> curdir ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ⥪<>饩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SetFolder.
|
|
|
|
|
|
|
|
|
|
int __stdcall ReadFolder(HANDLE hPlugin, unsigned dirinfo_start,
|
|
|
|
|
unsigned dirinfo_size, void* dirdata);
|
|
|
|
|
<EFBFBD><EFBFBD>⠥<EFBFBD> ⥪<><E2A5AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. hPlugin - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> OpenFilePlugin <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD>.
|
|
|
|
|
dirinfo_start - <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, dirinfo_size - <>쪮 䠩<><E4A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20> dirdata <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20>㭪樨 70.1.
|
|
|
|
|
|
|
|
|
|
bool __stdcall SetFolder(HANDLE hPlugin, const char* relative_path, const char* absolute_path);
|
|
|
|
|
<EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. relative_path - <20>⭮<EFBFBD><E2ADAE>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (".." <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),
|
|
|
|
|
absolute_path - <20><>᮫<EFBFBD><E1AEAB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><>㫨<EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>).
|
|
|
|
|
|
|
|
|
|
void __stdcall GetFiles(HANDLE hPlugin, int NumItems, void* items[], void* addfile, void* adddir);
|
|
|
|
|
bool __stdcall addfile(const char* name, void* bdfe_info, HANDLE hFile);
|
|
|
|
|
bool __stdcall adddir(const char* name, void* bdfe_info);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>, <20> <20><> 䫠<><E4ABA0><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> GetOpenPluginInfo, <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 1.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> ४<><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20> <20><><EFBFBD>砥, <20> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ४<><E0A5AA>ᨢ<EFBFBD><E1A8A2><EFBFBD> <20><>室 <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD>㤮<EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
hPlugin - <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD>, ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> OpenFilePlugin.
|
|
|
|
|
NumItems - <20><> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢.
|
|
|
|
|
items - <20><><EFBFBD>ᨢ <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD><E2A5AB> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BDFE.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>樠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>砩 NumItems=-1, items=NULL <20><><EFBFBD><EFBFBD>砥<EFBFBD> "<22><><EFBFBD> 䠩<><E4A0A9>" (<28> ⥪<>饩 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
|
|
|
|
addfile, adddir - callback-<2D>㭪樨 kfar'<27>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false <20><><EFBFBD><EFBFBD>砥<EFBFBD> "<22><><EFBFBD>ࢠ<EFBFBD><E0A2A0> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>".
|
|
|
|
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD> name <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 ⥪<>饩 <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> bdfe_info -
|
|
|
|
|
㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <20><> ᮪<><E1AEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (40 <20><><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ଠ<EFBFBD><E0ACA0> <20>㭪樨 70.5.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨥<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>⨥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD> hFile <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>㭪<EFBFBD><E3ADAA><EFBFBD> addfile <20>㤥<EFBFBD>
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> ⮫쪮 <20>㭪<EFBFBD><E3ADAA><EFBFBD> read.
|
|
|
|
|
|
|
|
|
|
int __stdcall getattr(HANDLE hPlugin, const char* filename, void* info);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> 䠩<><E4A0A9>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> info <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD>㭪樨 70.5.
|
|
|
|
|
|
|
|
|
|
HANDLE __stdcall open(HANDLE hPlugin, const char* filename, int mode);
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<> filename. <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD> mode <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2> <20> <20> ⥪<>饩 <20><><EFBFBD>ᨨ kfar <20>ᥣ<EFBFBD><E1A5A3> ࠢ<><E0A0A2> 1.
|
|
|
|
|
|
|
|
|
|
unsigned __stdcall read(HANDLE hFile, void* buf, unsigned size);
|
|
|
|
|
<EFBFBD>⥭<EFBFBD><EFBFBD> size <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> buf <20><> 䠩<><E4A0A9> hFile, ࠭<><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> <20><>१ open.
|
|
|
|
|
kfar <20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> size <20><><EFBFBD>⥭ 512 <20><><EFBFBD><EFBFBD>.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>, -1 <20><><EFBFBD> <20>訡<EFBFBD><E8A8A1>.
|
|
|
|
|
|
|
|
|
|
void __stdcall setpos(HANDLE hFile, __int64 pos);
|
|
|
|
|
<EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9> hFile, ࠭<><E0A0AD> <20><><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> <20><>१ open, <20> pos.
|
|
|
|
|
<EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> pos <20><><EFBFBD>⭮ 512 <20><><EFBFBD><EFBFBD>.
|
|
|
|
|
|
|
|
|
|
void __stdcall close(HANDLE hFile);
|