2 //
\83\89\83C
\83u
\83\89\83\8a\82Ì
\8eg
\97p
\8eÒ
\97p
\83w
\83b
\83_
\83t
\83@
\83C
\83\8b\r
7 // ---------------------------------------------------
\r
8 // Prevent multiple includes.
\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
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
19 #endif // defined(__IBMC__) || defined(__OS2_H__)
\r
21 #define JRE_BUILDTYPE_OS2PM
\r
24 // in case of windows
\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
34 // WinCE SDK - WIN32 and PEGASUS
\r
36 #if !defined(__WINDOWS_H) && !defined(_INC_WINDOWS)
\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
44 #if defined(__WIN32__) || defined(WIN32)
\r
45 #define JRE_BUILDTYPE_WIN32
\r
46 #if defined(PEGASUS)
\r
47 #define JRE_SUBSET_WINCE
\r
50 #define JRE_BUILDTYPE_WIN16
\r
52 #define JRE_BUILDTYPE_WINDOWS
\r
54 #endif // os/2 or windows
\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
64 typedef void* MEMID;
\r
65 #endif // !defined(MEMID)
\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
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
85 #if defined(__BORLANDC__)
\r
86 #if defined(_TEST_EXE)
\r
87 #define EXTAPI WINAPI
\r
89 #define EXTAPI _export WINAPI
\r
92 #endif // !defined(EXTAPI)
\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
98 typedef HGLOBAL MEMID;
\r
100 #endif // !defined(MEMID)
\r
104 // ---------------------------------------------------
\83O
\83\8d\81[
\83o
\83\8b\95Ï
\90\94\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
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
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
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
138 #define JGC_SHORT (1)
\r
139 #define JGC_LONG (2)
\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
144 // GetJreMessage
\82Ì
\8c¾
\8cê
\94Ô
\8d\86.
\r
145 #define GJM_JPN (0)
\r
146 #define GJM_ENG (1)
\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
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
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
192 // ------------------------------------------------ ÌßÛÄÀ²Ìß
\82¨
\82æ
\82ÑϸÛ
\r
193 #ifdef __cplusplus // caution! it's NOT cpulspuls!!!
\r
195 #endif // __cplusplus
\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
220 #endif // __cplusplus
\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