OSDN Git Service

Replace UTF-8N to UTF-8 (UTF-8N is obscure and identical to UTF-8 in this case).
[ffftp/ffftp.git] / jreusr.h
1 // begin of jreusr.h\r
2 // \83\89\83C\83u\83\89\83\8a\82Ì\8eg\97p\8eÒ\97p\83w\83b\83_\83t\83@\83C\83\8b\r
3 \r
4 #ifndef         JREUSR\r
5 #define         JREUSR\r
6 \r
7 // ---------------------------------------------------\r
8 // Prevent multiple includes.\r
9 \r
10 // _os_os2\82Í\82±\82ê(jreusr.h)\82ð\83C\83\93\83N\83\8b\81[\83h\82·\82é\83\86\81[\83U\81[\82ª\92è\8b`\82·\82é\r
11 #if defined(_OS_OS2)\r
12 // in case of os/2\r
13         // __OS2_H__ is for bc 2.0 e\r
14         // __OS2_H__ is for bc 1.5 e\r
15         #if !defined(__IBMC__) || !defined(__OS2_H__)\r
16                 // \91¼\82Ì\83N\83\89\83X\82Åtype.h\82ð\83C\83\93\83N\83\8b\81[\83h\82³\82¹\82È\82¢\82æ\82¤\82É\90æ\82Éinclude\82·\82é.\r
17                 // INCL_???\82È\82Ç\95K\97v\82È\92è\90\94\82Í\90æ\82É\92è\8b`\82µ\82Ä\82¨\82­.\r
18                 #include <os2.h>\r
19         #endif  // defined(__IBMC__) || defined(__OS2_H__)\r
20 \r
21         #define JRE_BUILDTYPE_OS2PM\r
22 \r
23 #else\r
24 // in case of windows\r
25 \r
26         // bc4.5 e __WINDOWS_H,\r
27         // bc4.0 j __WINDOWS_H,\r
28         // bc3.1 j __WINDOWS_H,\r
29         // msvc4.1 j _INC_WINDOWS, _WINDOWS_\r
30         // msvc4.0 j _INC_WINDOWS,\r
31         // msvc2.0 j ???, ???\r
32         // msvc1.0 j _INC_WINDOWS,\r
33         // ddk _INC_WINDOWS\r
34         // WinCE SDK - WIN32 and PEGASUS\r
35 \r
36         #if !defined(__WINDOWS_H) && !defined(_INC_WINDOWS)\r
37                 #ifndef STRICT\r
38                         #define STRICT\r
39                 #endif  // STRICT\r
40                 // \91¼\82Ì\83N\83\89\83X\82Åtype.h\82ð\83C\83\93\83N\83\8b\81[\83h\82³\82¹\82È\82¢\82æ\82¤\82É\90æ\82Éinclude\82·\82é.\r
41                 #include <windows.h>\r
42         #endif  // !defined(__WINDOWS_H) && !defined(_INC_WINDOWS)\r
43 \r
44         #if defined(__WIN32__) || defined(WIN32)\r
45                 #define JRE_BUILDTYPE_WIN32\r
46                 #if defined(PEGASUS)\r
47                         #define JRE_SUBSET_WINCE\r
48                 #endif\r
49         #else\r
50                 #define JRE_BUILDTYPE_WIN16\r
51         #endif\r
52         #define JRE_BUILDTYPE_WINDOWS\r
53 \r
54 #endif  // os/2 or windows\r
55 \r
56 // ---------------------------------------------------\r
57 #if defined(JRE_BUILDTYPE_OS2PM)\r
58         // in case of JRE_BUILDTYPE_OS2PM\r
59         // \88È\89º\81Cjre/os2\83\8d\81[\83J\83\8b\82Ì\92è\8b`\r
60         #if !defined(EXTAPI)\r
61                 #define EXTAPI _export EXPENTRY\r
62         #endif  // !defined(EXTAPI)\r
63         #if !defined(MEMID)\r
64                 typedef void* MEMID;\r
65         #endif  // !defined(MEMID)\r
66 \r
67         // os2\82É\82ÍPSZ\82ª\82 \82é.\r
68         typedef PSZ PSTR, LPSTR;\r
69         typedef int (*FARPROC)(void);   // farproc\r
70         //os2\82É\82ÍUSHORT\81CULONG\82ª\82 \82é.\r
71         typedef USHORT WORD;\r
72         typedef ULONG DWORD;\r
73         // OS/2\82É\82ÍSHANDLE\82ÆLHANDLE\82ª\82 \82é.\r
74         typedef LHANDLE HANDLE; // \94Ä\97p\83n\83\93\83h\83\8b\82ð\8dì\82Á\82Ä\82¨\82¢\82Ä\81c\81c\r
75         typedef HANDLE GLOBALHANDLE;\r
76         typedef HANDLE*PHANDLE, *LPHANDLE;\r
77 \r
78 #else\r
79         // in case of JRE_BUILDTYPE_WIN32 or JRE_BUILDTYPE_WIN16 (= JRE_BUILDTYPE_WINDOWS)\r
80         // \88È\89º\81Cjre/win\83\8d\81[\83J\83\8b\82Ì\92è\8b`\r
81         #if !defined(EXTAPI)\r
82                 #if defined(_MSC_VER)\r
83                         #define EXTAPI WINAPI   // VC2\82Å\82Í_export\82ª\92Ê\82ç\82È\82¢\82Ì\82Å\92\8d\88Ó.\r
84                 #endif\r
85                 #if defined(__BORLANDC__)\r
86                         #if defined(_TEST_EXE)\r
87                                 #define EXTAPI WINAPI\r
88                         #else\r
89                                 #define EXTAPI _export WINAPI\r
90                         #endif\r
91                 #endif\r
92         #endif  // !defined(EXTAPI)\r
93 \r
94         #if !defined(MEMID)\r
95                 #if defined(JRE_BUILDTYPE_WIN32)\r
96                         typedef void*MEMID;     // \96¾\8e¦\93I\82É\83|\83C\83\93\83^\82É\82µ\82Ü\82µ\82½.\r
97                 #else\r
98                         typedef HGLOBAL MEMID;\r
99                 #endif  // __WIN32__\r
100         #endif  // !defined(MEMID)\r
101 \r
102 #endif\r
103 \r
104 // --------------------------------------------------- \83O\83\8d\81[\83o\83\8b\95Ï\90\94\r
105 \r
106 \r
107 \r
108 // ------------------------------------------------------------- \92è\90\94\r
109 // _JRE_ERR_CODE\82Æ_JRE_WARN_CODE\82Ì\83V\83\93\83{\83\8b\82Í\8eR\93c\82ª\83f\83o\83b\83O\8e\9e\82É\8eg\97p\82µ\82Ä\82¢\82Ü\82·.\r
110 \r
111 #define _JRE_ERR_CODE\r
112 // \83G\83\89\81[\83R\81[\83h.nError\82ª1\81`63\82Ü\82Å. int\8c^\r
113 #define         CantAllocate    ( 1)    //      \83\81\83\82\83\8a\82Ì\8am\95Û\82ª\82Å\82«\82È\82¢.\90â\91Î\93I\82È\83\81\83\82\83\8a\95s\91«.\r
114 #define         MemoryTooFew1   ( 2)    //      \83\81\83\82\83\8a\82ª\91«\82è\82È\82¢1.(\8eÀ\8ds\8e\9e\82É\8c\88\82Ü\82é\82à\82Ì.\83\81\83\82\83\8a\83T\83C\83Y\82Ì\97\\91ª\82É\8e¸\94s\82µ\82½)\r
115 #define         MemoryTooFew2   ( 3)    //  \83\81\83\82\83\8a\82ª\91«\82è\82È\82¢2.(DLL\8dì\90¬\8e\9e\82É\8c\88\82Ü\82é\82à\82Ì)\r
116 #define         ReTooLong               (10)    //      \90³\8bK\95\\8c»\82ª\92·\82·\82¬\82é.\r
117 #define         TooComplex              (13)    //      \82à\82Á\82Æ\8aÈ\92P\82È\95\\8c»\82É\82µ\82Ä\89º\82³\82¢.\82±\82ÌDLL\82Ì\8eã\82¢\83p\83^\81[\83\93\82Å,\8c©\82Â\82¯\82ç\82ê\82È\82¢.\82½\82¾\82µ\96Å\91½\82È\8e\96\82Å\82Í\94­\90\82µ\82È\82¢.\r
118 #define         MismatchBracket (20)    //      \8a\87\8cÊ\82Ì\91Î\89\9e\82ª\90³\82µ\82­\82È\82¢.\r
119 #define         InvalidChClass  (21)    //      \83L\83\83\83\89\83N\83^\83N\83\89\83X\82Ì\93à\97e\82ª\89ð\8eß\82Å\82«\82È\82¢.\96w\82Ç\82Ì\8fê\8d\87\94Í\88Í\8ew\92è\82ª\90³\82µ\82­\82È\82¢.\r
120 #define         EscErr                  (24)    //      \83G\83X\83P\81[\83v\83V\81[\83N\83F\83\93\83X\82ª\89ð\8eß\82Å\82«\82È\82¢.\r
121 #define         Unknown                 (31)    //  \82È\82ñ\82¾\82©\97Ç\82­\82í\82©\82ç\82È\82¢\83G\83\89\81[.\95¡\8d\87\93I\82È\97v\88ö\82Å\94­\90\82·\82é\83G\83\89\81[.\96w\82Ç\82ª\83\81\83\82\83\8a\83T\83C\83Y\82Ì\97\\91ª\82É\8e¸\94s.\r
122 #define         NoReString              (32)    //  \8c\9f\8dõ\83p\83^\81[\83\93\82ð\8ew\92è\82µ\82Ä\89º\82³\82¢.\90³\8bK\95\\8c»\92·\82ª0\83o\83C\83g.\r
123 #define         IncorrectUsing  (33)    //  \83p\83\89\83\81\81[\83^\82ª\82¨\82©\82µ\82¢.DLL\82Ì\95s\90³\82È\8eg\97p\96@.\r
124 #define         ReNotExist              (34)    //      \8c\9f\8dõ\82·\82é\91O\82É\83R\83\93\83p\83C\83\8b\82µ\82Ä\89º\82³\82¢.\r
125 #define         InternalErr             (35)    //  DLL\82Ì\83o\83O\82ð\8c\9f\8fo\82µ\82½.\82±\82ê\82ª\94­\90\82µ\82½\82ç\8dì\8eÒ\82É\98A\97\8d\82µ\82Ä\97~\82µ\82¢.\r
126 #define         UsrAbort                (36)    //  \83\86\81[\83U\81[(\83A\83v\83\8a\83P\81[\83V\83\87\83\93)\82É\82æ\82é\92\86\92f.\r
127 #define         OldVersion              (37)    //      \8cÃ\82¢(\89ð\8eß\82Å\82«\82È\82¢)\83o\81[\83W\83\87\83\93\82Ì\8cÄ\82Ñ\8fo\82µ\8eè\8f\87\82ð\8eg\97p\82µ\82½.\r
128 // CantAllocate, TooComplex, MemoryTooFew2, ReNotExist, IncorrectUsing, UsrAbort\82Í\8c\9f\8dõ\8e\9e\82É\82à\94­\90\82·\82é\82à\82Ì\r
129 \r
130 #define _JRE_WARN_CODE\r
131 // \8cx\8d\90\83R\81[\83h. \83\8c\83|\81[\83g\83R\81[\83h. jre2\8d\\91¢\91Ì\82ÌnWarning\83\81\83\93\83o.\r
132 // \82±\82ê\82Í\82»\82ê\82¼\82ê\82Ì\83r\83b\83g\82É\83}\83b\83s\83\93\83O\82·\82é\89Â\94\\90«\82ª\8d\82\82¢\82Ì\82Å\81C\r
133 // if (CwInlinePattern | jre2.nWarning){\r
134 // }\r
135 // \82Å\95]\89¿\82µ\82Ä\82­\82¾\82³\82¢.\r
136 #define         CwInlinePattern (2)     // \8ds\93à\82Ì\8f\88\97\9d\82É\82Â\82«\81C\8dÄ\8cÄ\82Ñ\8fo\82µ\82Ì\95K\97v\82Í\82È\82¢.\r
137 \r
138 #define JGC_SHORT (1)\r
139 #define JGC_LONG (2)\r
140 \r
141 // jre.dll\82Å\8eg\97p\82·\82é\83\81\83b\83Z\81[\83W\82Ì\8dÅ\91å\92·(\95Û\8fØ).\82±\82Ì\83T\83C\83Y\82Ì\83o\83b\83t\83@\82É\8eû\82Ü\82ç\82È\82¢\95\8e\9a\97ñ\82Í\93n\82µ\82Ü\82¹\82ñ(null\82Ü\82Å\8aÜ\82ß\82Ä\82±\82Ì\83T\83C\83Y).\r
142 #define JRE_MAXLEN (128)\r
143 \r
144 // GetJreMessage\82Ì\8c¾\8cê\94Ô\8d\86.\r
145 #define GJM_JPN (0)\r
146 #define GJM_ENG (1)\r
147 \r
148 // ----------------------------------------------------------- \8d\\91¢\91Ì\r
149 // JRE\8d\\91¢\91Ì. \83o\81[\83W\83\87\83\93\82É\82©\82©\82í\82ç\82¸jre\8d\\91¢\91Ì\82Ì\83A\83\89\83C\83\93\83\81\83\93\83g\82Í8bit(1byte)\82Å\82·\81B\r
150 #pragma pack(1)\r
151 // JRE\8d\\91¢\91Ì\82Í\8bÉ\97Í\8eg\97p\82µ\82È\82¢\82Å\82­\82¾\82³\82¢.\8d¡\8cã\82ÌÊÞ°¼Þ®Ý\82Å\94p\8e~\82µ\82Ü\82·(\83o\81[\83W\83\87\83\932.xx\82Ü\82Å\82Å»Îß°Ä\82ð\8e~\82ß\82Ü\82·).\r
152 // \82±\82ê\82É\91ã\82í\82é\8d\\91¢\91Ì\82ÍJRE2\8d\\91¢\91Ì\82Å\82·.\r
153 typedef struct tagJRE{\r
154         BOOL bConv;                                             // \82±\82Ì\8d\\91¢\91Ì\82Ì\8eg\97p\92\86\82ð\8e¦\82·\83t\83\89\83O.\r
155         int nStart;                                             // \8c\9f\8dõ\8aJ\8en\88Ê\92u.\83o\83C\83g\90\94.\90æ\93ª\82Í0.\r
156         int nWarning;                                   // \83E\83H\81[\83j\83\93\83O\83R\81[\83h.\r
157         int nError;                                             // \83G\83\89\81[\83R\81[\83h.\r
158         int nLength;                                    // \83}\83b\83`\92·.\83o\83C\83g\90\94.\r
159         int nPosition;                                  // \83}\83b\83`\88Ê\92u.\90æ\93ª\82Í0.(\82¨\92p\82¸\82©\82µ\82¢)\r
160         WORD wTranslate;                                // \95Ï\8a·\83e\81[\83u\83\8b\94Ô\8d\86.\r
161         LPSTR lpszTable;                                // \95Ï\8a·\83e\81[\83u\83\8b.\r
162         FARPROC lpfnUsrFunc;                    // \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82Ö\82ÌFAR\83|\83C\83\93\83^.\r
163         int nCompData1;                                 // \83R\83\93\83p\83C\83\8b\83f\81[\83^1.\r
164         MEMID hCompData2;               // \83R\83\93\83p\83C\83\8b\83f\81[\83^2.\83n\83\93\83h\83\8b.\r
165         MEMID hCompData3;               // \83R\83\93\83p\83C\83\8b\83f\81[\83^3.\83n\83\93\83h\83\8b.\r
166         MEMID hCompData4;               // \83R\83\93\83p\83C\83\8b\83f\81[\83^4.\83n\83\93\83h\83\8b.\r
167 } JRE, *PJRE, NEAR*NPJRE, FAR*LPJRE;\r
168 #pragma pack()\r
169 \r
170 \r
171 #pragma pack(1)\r
172 // \83o\81[\83W\83\87\83\931.06\88È\8d~\82Í\82±\82Ì\8d\\91¢\91Ì\82ð\8eg\97p\82µ\82Ä\82­\82¾\82³\82¢.\r
173 // \82½\82¾\82µ,\83o\81[\83W\83\87\83\931.xx\82Å\82Í\8ed\97l\82ª\97¬\93®\93I\82Å\82·(\82Ç\82È\82¢\82¹\81[\82¿\82ã\82¤\82Ë\82ñ).\r
174 typedef struct tagJRE2{\r
175         DWORD dwSize;                                   // \82±\82Ì\8d\\91¢\91Ì\82Ì\83T\83C\83Y.\r
176         BOOL bConv;                                             // \82±\82Ì\8d\\91¢\91Ì\82Ì\8eg\97p\92\86\82ð\8e¦\82·\83t\83\89\83O.\r
177         UINT nStart;                                    // \8c\9f\8dõ\8aJ\8en\88Ê\92u.\83o\83C\83g\90\94.\90æ\93ª\82Í0.\r
178         UINT nWarning;                                  // \83E\83H\81[\83j\83\93\83O\83R\81[\83h. (v1.11\82©\82çUINT\82É\95Ï\8dX)\r
179         int nError;                                             // \83G\83\89\81[\83R\81[\83h.\r
180         UINT nLength;                                   // \83}\83b\83`\92·.\83o\83C\83g\90\94.\r
181         UINT nPosition;                                 // \83}\83b\83`\88Ê\92u.\90æ\93ª\82Í0.(\82¨\92p\82¸\82©\82µ\82¢)\r
182         WORD wTranslate;                                // \95Ï\8a·\83e\81[\83u\83\8b\94Ô\8d\86.\r
183         LPSTR lpszTable;                                // \95Ï\8a·\83e\81[\83u\83\8b.\r
184         FARPROC lpfnUsrFunc;                    // \83R\81[\83\8b\83o\83b\83N\8aÖ\90\94\82Ö\82ÌFAR\83|\83C\83\93\83^(\8eg\82í\82È\82¢\82æ\82¤\82É).\r
185         UINT nCompData1;                                        // \83R\83\93\83p\83C\83\8b\83f\81[\83^1.\r
186         MEMID hCompData2;               // \83R\83\93\83p\83C\83\8b\83f\81[\83^2.\83n\83\93\83h\83\8b.\r
187         MEMID hCompData3;               // \83R\83\93\83p\83C\83\8b\83f\81[\83^3.\83n\83\93\83h\83\8b.\r
188         MEMID hCompData4;               // \83R\83\93\83p\83C\83\8b\83f\81[\83^4.\83n\83\93\83h\83\8b.\r
189 } JRE2, *PJRE2, NEAR*NPJRE2, FAR*LPJRE2;\r
190 #pragma pack()\r
191 \r
192 // ------------------------------------------------ ÌßÛÄÀ²Ìß\82¨\82æ\82ÑϸÛ\r
193 #ifdef __cplusplus      // caution! it's NOT cpulspuls!!!\r
194         extern "C"{\r
195 #endif  // __cplusplus\r
196 \r
197 // \83o\81[\83W\83\87\83\93\82É\8aÖ\8cW\82È\82¢API\r
198 BOOL EXTAPI IsMatch(LPSTR lpszStr, LPSTR lpszRe);\r
199 int EXTAPI GlobalReplace(LPSTR lpszRe, LPSTR lpszObj, LPSTR lpszStr, LPHANDLE lphGMemTo);\r
200 WORD EXTAPI JreGetVersion(void);\r
201 #if defined(JRE_BUILDTYPE_WIN16)\r
202         MEMID EXTAPI DecodeEscSeqAlloc2(LPSTR lpszRe);  // 16bit Windows\82Ì\88â\95¨.\r
203 #endif  // defined(JRE_BUILDTYPE_WIN16)\r
204 UINT EXTAPI DecodeEscSeq(LPSTR lpszRe, LPSTR lpszBuff, UINT uiSize);    // new!\r
205 int EXTAPI GetJreMessage(int nMessageType, int nLanguage, LPSTR lpszBuff, int cbBuff);\r
206 // \83o\81[\83W\83\87\83\931API\r
207 BOOL EXTAPI JreOpen(LPJRE lpjreJre);\r
208 BOOL EXTAPI JreCompile(LPJRE lpjreJre, LPSTR lpszRe);\r
209 BOOL EXTAPI JreGetMatchInfo(LPJRE lpjreJre, LPSTR lpszStr);\r
210 BOOL EXTAPI JreClose(LPJRE lpjreJre);\r
211 // \83o\81[\83W\83\87\83\932API\r
212 BOOL EXTAPI Jre2Open(LPJRE2 lpjreJre);\r
213 BOOL EXTAPI Jre2Compile(LPJRE2 lpjreJre, LPSTR lpszRe);\r
214 BOOL EXTAPI Jre2GetMatchInfo(LPJRE2 lpjreJre, LPSTR lpszStr);\r
215 BOOL EXTAPI Jre2Close(LPJRE2 lpjreJre);\r
216 \r
217 \r
218 #ifdef __cplusplus\r
219         }\r
220 #endif  // __cplusplus\r
221 \r
222 // ----------------------------------------------------------- \8c^\92è\8b`\r
223 // GetProcAddress\82ð\8eg\97p\82·\82é\8dÛ\82Ì\83|\83C\83\93\83^\95Ï\90\94\82ð\90é\8c¾\82µ\82â\82·\82­\82µ\82Ä\82¨\82­.\r
224 typedef BOOL (EXTAPI*LPISMATCH) (LPSTR, LPSTR);\r
225 typedef int (EXTAPI*LPGLOBALREPLACE) (LPSTR, LPSTR, LPSTR, LPHANDLE);\r
226 typedef WORD (EXTAPI*LPJREGETVERSION) (VOID);\r
227 #if defined(JRE_BUILDTYPE_WIN16)\r
228         typedef MEMID (EXTAPI*LPDECODEESCSEQALLOC2) (LPSTR);\r
229 #endif  // defined(JRE_BUILDTYPE_WIN16)\r
230 typedef UINT (EXTAPI*LPDECODEESCSEQ) (LPSTR lpszRe, LPSTR lpszBuff, UINT uiSize);\r
231 typedef int (EXTAPI*LPGETJREMESSAGE) (int, int, LPSTR, int);\r
232 typedef BOOL (EXTAPI*LPJRE2OPEN) (LPJRE2);\r
233 typedef BOOL (EXTAPI*LPJRE2COMPILE) (LPJRE2, LPSTR);\r
234 typedef BOOL (EXTAPI*LPJRE2GETMATCHINFO) (LPJRE2, LPSTR);\r
235 typedef BOOL (EXTAPI*LPJRE2CLOSE) (LPJRE2);\r
236 \r
237 \r
238 \r
239 \r
240 #endif  // JREUSR\r
241 // end of jreusr.h\r