Commit 1580e85ea7ca6e61454293347d47638cc172fedd
1 parent
3f54fda9
Exists in
master
Reimplementando módulo ooRexx
Showing
4 changed files
with
235 additions
and
2 deletions
Show diff stats
... | ... | @@ -0,0 +1,42 @@ |
1 | +/* | |
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | |
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | |
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | |
5 | + * | |
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | |
7 | + * | |
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | |
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | |
10 | + * Free Software Foundation. | |
11 | + * | |
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | |
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | |
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | |
15 | + * obter mais detalhes. | |
16 | + * | |
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | |
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | |
19 | + * Place, Suite 330, Boston, MA, 02111-1307, USA | |
20 | + * | |
21 | + * Este programa está nomeado como rexx_methods.cc e possui - linhas de código. | |
22 | + * | |
23 | + * Contatos: | |
24 | + * | |
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | |
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | |
27 | + * | |
28 | + * | |
29 | + * Referencias: | |
30 | + * | |
31 | + * * http://www.oorexx.org/docs/rexxpg/x2950.htm | |
32 | + * | |
33 | + */ | |
34 | + | |
35 | + #include "private.h" | |
36 | + | |
37 | + | |
38 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | |
39 | + | |
40 | + | |
41 | + | |
42 | + | ... | ... |
src/private.h
... | ... | @@ -126,8 +126,6 @@ |
126 | 126 | REXX_METHOD_PROTOTYPE(rx3270_method_set_host_charset); |
127 | 127 | REXX_METHOD_PROTOTYPE(rx3270_method_set_unlock_delay); |
128 | 128 | |
129 | -/*---[ Globals ]---------------------------------------------------------------------------------------------*/ | |
130 | - | |
131 | 129 | /*--[ 3270 Session ]-----------------------------------------------------------------------------------------*/ |
132 | 130 | |
133 | 131 | #ifdef __cplusplus | ... | ... |
... | ... | @@ -0,0 +1,185 @@ |
1 | +/* | |
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | |
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | |
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | |
5 | + * | |
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | |
7 | + * | |
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | |
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | |
10 | + * Free Software Foundation. | |
11 | + * | |
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | |
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | |
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | |
15 | + * obter mais detalhes. | |
16 | + * | |
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | |
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | |
19 | + * Place, Suite 330, Boston, MA, 02111-1307, USA | |
20 | + * | |
21 | + * Este programa está nomeado como rx3270.c e possui - linhas de código. | |
22 | + * | |
23 | + * Contatos: | |
24 | + * | |
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | |
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | |
27 | + * | |
28 | + */ | |
29 | + | |
30 | + /* | |
31 | + * | |
32 | + * Reference: | |
33 | + * | |
34 | + * http://www.oorexx.org/docs/rexxpg/x2950.htm | |
35 | + * | |
36 | + */ | |
37 | + | |
38 | + #include "private.h" | |
39 | + | |
40 | +/*--[ Globals ]--------------------------------------------------------------------------------------*/ | |
41 | + | |
42 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | |
43 | + | |
44 | +// now build the actual entry list | |
45 | +RexxRoutineEntry rx3270_functions[] = | |
46 | +{ | |
47 | + REXX_TYPED_ROUTINE(rx3270version, rx3270version), | |
48 | + REXX_TYPED_ROUTINE(rx3270QueryCState, rx3270QueryCState), | |
49 | + REXX_TYPED_ROUTINE(rx3270Disconnect, rx3270Disconnect), | |
50 | + REXX_TYPED_ROUTINE(rx3270Connect, rx3270Connect), | |
51 | + REXX_TYPED_ROUTINE(rx3270isConnected, rx3270isConnected), | |
52 | + REXX_TYPED_ROUTINE(rx3270WaitForEvents, rx3270WaitForEvents), | |
53 | + REXX_TYPED_ROUTINE(rx3270Sleep, rx3270Sleep), | |
54 | + REXX_TYPED_ROUTINE(rx3270SendENTERKey, rx3270SendENTERKey), | |
55 | + REXX_TYPED_ROUTINE(rx3270SendPFKey, rx3270SendPFKey), | |
56 | + REXX_TYPED_ROUTINE(rx3270SendPAKey, rx3270SendPAKey), | |
57 | + REXX_TYPED_ROUTINE(rx3270WaitForTerminalReady, rx3270WaitForTerminalReady), | |
58 | + REXX_TYPED_ROUTINE(rx3270WaitForStringAt, rx3270WaitForStringAt), | |
59 | + REXX_TYPED_ROUTINE(rx3270GetStringAt, rx3270GetStringAt), | |
60 | + REXX_TYPED_ROUTINE(rx3270IsTerminalReady, rx3270IsTerminalReady), | |
61 | + REXX_TYPED_ROUTINE(rx3270queryStringAt, rx3270queryStringAt), | |
62 | + REXX_TYPED_ROUTINE(rx3270SetStringAt, rx3270SetStringAt), | |
63 | + REXX_TYPED_ROUTINE(rx3270CloseApplication, rx3270CloseApplication), | |
64 | + | |
65 | + REXX_TYPED_ROUTINE(rx3270Erase, rx3270Erase), | |
66 | + REXX_TYPED_ROUTINE(rx3270EraseEOF, rx3270EraseEOF), | |
67 | + REXX_TYPED_ROUTINE(rx3270EraseEOL, rx3270EraseEOL), | |
68 | + REXX_TYPED_ROUTINE(rx3270EraseInput, rx3270EraseInput), | |
69 | + | |
70 | + REXX_TYPED_ROUTINE(rx3270IsProtected, rx3270IsProtected), | |
71 | + REXX_TYPED_ROUTINE(rx3270IsProtectedAt, rx3270IsProtectedAt), | |
72 | + REXX_TYPED_ROUTINE(rx3270SetUnlockDelay, rx3270SetUnlockDelay), | |
73 | + | |
74 | + REXX_TYPED_ROUTINE(ebc2asc, ebc2asc), | |
75 | + REXX_TYPED_ROUTINE(asc2ebc, asc2ebc), | |
76 | + | |
77 | + | |
78 | + // rx3270Popup | |
79 | + REXX_LAST_METHOD() | |
80 | +}; | |
81 | + | |
82 | +RexxMethodEntry rx3270_methods[] = | |
83 | +{ | |
84 | + REXX_METHOD(rx3270_method_version, rx3270_method_version ), | |
85 | + REXX_METHOD(rx3270_method_revision, rx3270_method_revision ), | |
86 | + REXX_METHOD(rx3270_method_init, rx3270_method_init ), | |
87 | + REXX_METHOD(rx3270_method_uninit, rx3270_method_uninit ), | |
88 | + REXX_METHOD(rx3270_method_connect, rx3270_method_connect ), | |
89 | + REXX_METHOD(rx3270_method_disconnect, rx3270_method_disconnect ), | |
90 | + REXX_METHOD(rx3270_method_sleep, rx3270_method_sleep ), | |
91 | + REXX_METHOD(rx3270_method_is_connected, rx3270_method_is_connected ), | |
92 | + REXX_METHOD(rx3270_method_is_ready, rx3270_method_is_ready ), | |
93 | + REXX_METHOD(rx3270_method_wait_for_ready, rx3270_method_wait_for_ready ), | |
94 | + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor ), | |
95 | + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_get_cursor_addr ), | |
96 | + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor_addr ), | |
97 | + REXX_METHOD(rx3270_method_enter, rx3270_method_enter ), | |
98 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase ), | |
99 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eof ), | |
100 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eol ), | |
101 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_input ), | |
102 | + REXX_METHOD(rx3270_method_pfkey, rx3270_method_pfkey ), | |
103 | + REXX_METHOD(rx3270_method_pakey, rx3270_method_pakey ), | |
104 | + REXX_METHOD(rx3270_method_get_text, rx3270_method_get_text ), | |
105 | + REXX_METHOD(rx3270_method_get_text_at, rx3270_method_get_text_at ), | |
106 | + REXX_METHOD(rx3270_method_set_text_at, rx3270_method_set_text_at ), | |
107 | + REXX_METHOD(rx3270_method_cmp_text_at, rx3270_method_cmp_text_at ), | |
108 | + REXX_METHOD(rx3270_method_event_trace, rx3270_method_event_trace ), | |
109 | + REXX_METHOD(rx3270_method_screen_trace, rx3270_method_screen_trace ), | |
110 | + REXX_METHOD(rx3270_method_ds_trace, rx3270_method_ds_trace ), | |
111 | + REXX_METHOD(rx3270_method_set_option, rx3270_method_set_option ), | |
112 | + REXX_METHOD(rx3270_method_test, rx3270_method_test ), | |
113 | + REXX_METHOD(rx3270_method_wait_for_text_at, rx3270_method_wait_for_text_at ), | |
114 | + | |
115 | + REXX_METHOD(rx3270_method_get_field_len, rx3270_method_get_field_len ), | |
116 | + REXX_METHOD(rx3270_method_get_field_start, rx3270_method_get_field_start ), | |
117 | + REXX_METHOD(rx3270_method_get_next_unprotected, rx3270_method_get_next_unprotected ), | |
118 | + | |
119 | + REXX_METHOD(rx3270_method_get_is_protected, rx3270_method_get_is_protected ), | |
120 | + REXX_METHOD(rx3270_method_get_is_protected_at, rx3270_method_get_is_protected_at ), | |
121 | + | |
122 | + REXX_METHOD(rx3270_method_get_selection, rx3270_method_get_selection ), | |
123 | + REXX_METHOD(rx3270_method_set_selection, rx3270_method_set_selection ), | |
124 | + REXX_METHOD(rx3270_method_get_clipboard, rx3270_method_get_clipboard ), | |
125 | + REXX_METHOD(rx3270_method_set_clipboard, rx3270_method_set_clipboard ), | |
126 | + | |
127 | + REXX_METHOD(rx3270_method_erase, rx3270_method_erase ), | |
128 | + REXX_METHOD(rx3270_method_erase_eof, rx3270_method_erase_eof ), | |
129 | + REXX_METHOD(rx3270_method_erase_eol, rx3270_method_erase_eol ), | |
130 | + REXX_METHOD(rx3270_method_erase_input, rx3270_method_erase_input ), | |
131 | + | |
132 | + REXX_METHOD(rx3270_method_popup, rx3270_method_popup ), | |
133 | + REXX_METHOD(rx3270_method_get_filename, rx3270_method_get_filename ), | |
134 | + | |
135 | + REXX_METHOD(rx3270_method_get_cursor_addr, rx3270_method_get_cursor_addr ), | |
136 | + REXX_METHOD(rx3270_method_set_cursor_addr, rx3270_method_set_cursor_addr ), | |
137 | + REXX_METHOD(rx3270_method_input_text, rx3270_method_input_text ), | |
138 | + | |
139 | + REXX_METHOD(rx3270_method_get_display_charset, rx3270_method_get_display_charset ), | |
140 | + REXX_METHOD(rx3270_method_set_display_charset, rx3270_method_set_display_charset ), | |
141 | + | |
142 | + REXX_METHOD(rx3270_method_get_host_charset, rx3270_method_get_host_charset ), | |
143 | + REXX_METHOD(rx3270_method_set_host_charset, rx3270_method_set_host_charset ), | |
144 | + | |
145 | + REXX_METHOD(rx3270_method_set_unlock_delay, rx3270_method_set_unlock_delay ), | |
146 | + | |
147 | + REXX_LAST_METHOD() | |
148 | +}; | |
149 | + | |
150 | +RexxPackageEntry rx3270_package_entry = | |
151 | +{ | |
152 | + STANDARD_PACKAGE_HEADER | |
153 | + REXX_CURRENT_INTERPRETER_VERSION, // anything after 4.0.0 will work | |
154 | + "rx3270", // name of the package | |
155 | + PACKAGE_VERSION, // package information | |
156 | + NULL, // no load/unload functions | |
157 | + NULL, | |
158 | + rx3270_functions, // the exported functions | |
159 | + rx3270_methods // no methods in rx3270. | |
160 | +}; | |
161 | + | |
162 | +// package loading stub. | |
163 | +/* | |
164 | +OOREXX_GET_PACKAGE(rx3270); | |
165 | +*/ | |
166 | + | |
167 | +BEGIN_EXTERN_C() | |
168 | + | |
169 | +LIB3270_EXPORT void rx3270_set_package_option(RexxOption *option) | |
170 | +{ | |
171 | + static const RexxLibraryPackage package = { "rx3270", &rx3270_package_entry }; | |
172 | + | |
173 | + option->optionName = REGISTER_LIBRARY; | |
174 | + option->option = (void *) &package; | |
175 | + | |
176 | +} | |
177 | + | |
178 | +LIB3270_EXPORT RexxPackageEntry * RexxEntry RexxGetPackage(void) | |
179 | +{ | |
180 | + return &rx3270_package_entry; | |
181 | +} | |
182 | + | |
183 | +END_EXTERN_C() | |
184 | + | |
185 | + | ... | ... |