Commit f7c3063e4d7c276e39bca89cc6ca3a182c5a4fa8
1 parent
64b5457b
Exists in
master
and in
5 other branches
Testando efeito das ultimas atualizacoes na versao windows
Showing
12 changed files
with
876 additions
and
856 deletions
Show diff stats
Makefile.in
... | ... | @@ -147,11 +147,11 @@ Release: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) $(foreach PLUGIN, $(PLUGI |
147 | 147 | $(foreach EXT, $(EXTENSIONS), $(EXT)) \ |
148 | 148 | locale pixmaps filelist |
149 | 149 | |
150 | -$(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT): src/pw3270/* $(BINDIR)/Release@DLLDIR@/@DLLPREFIX@3270@DLLEXT@ $(DEPENDS) | |
150 | +$(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT): src/pw3270/* $(BINDIR)/Release@DLLDIR@/lib3270@DLLEXT@ $(DEPENDS) | |
151 | 151 | @$(MAKE) BINDIR="../../$(BINDIR)" LIB3270_LIBS="$(RLSLIB)" LIB3270_CFLAGS="-I../../src/include" -C src/pw3270 ../../$(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) |
152 | 152 | |
153 | -$(BINDIR)/Release@DLLDIR@/@DLLPREFIX@3270@DLLEXT@: src/lib3270/* src/include/lib3270/* src/include/* Makefile | |
154 | - @$(MAKE) BINRLS=../../.bin/Release@DLLDIR@ -C src/lib3270 ../../.bin/Release@DLLDIR@/@DLLPREFIX@3270@DLLEXT@ | |
153 | +$(BINDIR)/Release@DLLDIR@/lib3270@DLLEXT@: src/lib3270/* src/include/lib3270/* src/include/* Makefile | |
154 | + @$(MAKE) BINRLS=../../.bin/Release@DLLDIR@ -C src/lib3270 ../../.bin/Release@DLLDIR@/lib3270@DLLEXT@ | |
155 | 155 | |
156 | 156 | oxt: $(BINDIR)/$(PACKAGE_TARNAME).oxt |
157 | 157 | |
... | ... | @@ -182,11 +182,11 @@ debian/lib3270-dev.install: Makefile |
182 | 182 | Debug: $(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT) \ |
183 | 183 | $(foreach PLUGIN, $(PLUGINS), $(BINDIR)/Debug/plugins/$(PLUGIN)@DLLEXT@) |
184 | 184 | |
185 | -$(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT): src/pw3270/* $(BINDIR)/Debug@DLLDIR@/@DLLPREFIX@3270@DLLEXT@ $(DEPENDS) | |
185 | +$(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT): src/pw3270/* $(BINDIR)/Debug@DLLDIR@/lib3270@DLLEXT@ $(DEPENDS) | |
186 | 186 | @$(MAKE) BINDIR="../../$(BINDIR)" LIB3270_LIBS="$(DBGLIB)" LIB3270_CFLAGS="-I../../src/include" -C src/pw3270 ../../$(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT) |
187 | 187 | |
188 | -$(BINDIR)/Debug@DLLDIR@/@DLLPREFIX@3270@DLLEXT@: src/lib3270/* src/include/lib3270/* src/include/* Makefile | |
189 | - @$(MAKE) BINDBG=../../.bin/Debug@DLLDIR@ -C src/lib3270 ../../.bin/Debug@DLLDIR@/@DLLPREFIX@3270@DLLEXT@ | |
188 | +$(BINDIR)/Debug@DLLDIR@/lib3270@DLLEXT@: src/lib3270/* src/include/lib3270/* src/include/* Makefile | |
189 | + @$(MAKE) BINDBG=../../.bin/Debug@DLLDIR@ -C src/lib3270 ../../.bin/Debug@DLLDIR@/lib3270@DLLEXT@ | |
190 | 190 | |
191 | 191 | run: $(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT) $(PACKAGE_NAME).png $(PACKAGE_NAME)-logo.png \ |
192 | 192 | $(foreach PLUGIN, $(PLUGINS), $(BINDIR)/Debug/plugins/$(PLUGIN)@DLLEXT@) |
... | ... | @@ -289,7 +289,7 @@ install-plugins: $(foreach PLUGIN, $(PLUGINS), $(BINDIR)/Release/plugins/$(PLUGI |
289 | 289 | @$(MKDIR) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins |
290 | 290 | @echo -e $(foreach PLUGIN, $(PLUGINS), $(MAKE) DESTDIR=$(DESTDIR) $(PLUGIN_RELEASE_ARGS) -C src/plugins/$(PLUGIN) install\\n ) | $(SHELL) |
291 | 291 | |
292 | -install-lib: $(BINDIR)/Release@DLLDIR@/@DLLPREFIX@3270@DLLEXT@ | |
292 | +install-lib: $(BINDIR)/Release@DLLDIR@/lib3270@DLLEXT@ | |
293 | 293 | @$(MAKE) BINRLS="../../.bin/Release@DLLDIR@" -C src/lib3270 install |
294 | 294 | |
295 | 295 | locale: $(foreach MO, $(basename $(LANG_FILES)), $(BINDIR)/Release/$(localedir)/$(notdir $(MO))/LC_MESSAGES/$(PACKAGE_NAME).mo) | ... | ... |
configure.ac
... | ... | @@ -128,7 +128,7 @@ case "$host" in |
128 | 128 | SOCKET_LIBS="-lws2_32" |
129 | 129 | CFLAGS="$CFLAGS -mms-bitfields" |
130 | 130 | localedir="locale" |
131 | - DLL_FLAGS="-shared -Wl,--add-stdcall-alias" | |
131 | + DLL_FLAGS="-shared -Wl,--add-stdcall-alias,--enable-stdcall-fixup" | |
132 | 132 | LDSOFLAGS="-Wl,-soname,\`basename \$@\`" |
133 | 133 | LDAPPFLAGS="-mwindows" |
134 | 134 | LDLIBFLAGS="-Wl,--output-def,\$@.def" |
... | ... | @@ -138,6 +138,7 @@ case "$host" in |
138 | 138 | LDARCH="" |
139 | 139 | PLUGINS="hllapi" |
140 | 140 | APP_GUI_SRC="resources.rc" |
141 | + DLLPREFIX="" | |
141 | 142 | ;; |
142 | 143 | |
143 | 144 | *-apple-*) | ... | ... |
po/pt_BR.po
... | ... | @@ -5,7 +5,7 @@ msgid "" |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: pw3270 5.0\n" |
7 | 7 | "Report-Msgid-Bugs-To: \n" |
8 | -"POT-Creation-Date: 2013-04-22 09:22-0300\n" | |
8 | +"POT-Creation-Date: 2013-04-22 18:10-0300\n" | |
9 | 9 | "PO-Revision-Date: 2013-04-22 09:32-0300\n" |
10 | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
11 | 11 | "Language-Team: Português <>\n" |
... | ... | @@ -200,7 +200,7 @@ msgstr "Sobre a segurança" |
200 | 200 | msgid "Action failed" |
201 | 201 | msgstr "Ação falhou" |
202 | 202 | |
203 | -#: ui/00default.xml:328 | |
203 | +#: ui/00default.xml:64 | |
204 | 204 | msgid "Add to copy" |
205 | 205 | msgstr "Adicionar à cópia" |
206 | 206 | |
... | ... | @@ -208,7 +208,7 @@ msgstr "Adicionar à cópia" |
208 | 208 | msgid "Add/Remove _CR at end of line" |
209 | 209 | msgstr "Adicionar/Remover _CR no final da linha" |
210 | 210 | |
211 | -#: ui/00default.xml:396 | |
211 | +#: ui/00default.xml:132 | |
212 | 212 | msgid "Alert sound" |
213 | 213 | msgstr "Aviso sonoro" |
214 | 214 | |
... | ... | @@ -221,7 +221,7 @@ msgstr "" |
221 | 221 | msgid "Application name" |
222 | 222 | msgstr "Nome da aplicação" |
223 | 223 | |
224 | -#: ui/10keypad.xml:155 | |
224 | +#: ui/10keypad.xml:467 | |
225 | 225 | msgid "Attn" |
226 | 226 | msgstr "Attn" |
227 | 227 | |
... | ... | @@ -238,7 +238,7 @@ msgstr "Divergência nos números de série da autoridade e emissor " |
238 | 238 | msgid "Authority and subject key identifier mismatch" |
239 | 239 | msgstr "Authority and subject key identifier mismatch" |
240 | 240 | |
241 | -#: ui/00default.xml:391 | |
241 | +#: ui/00default.xml:127 | |
242 | 242 | msgid "Auto-Reconnect" |
243 | 243 | msgstr "Reconectar automaticamente" |
244 | 244 | |
... | ... | @@ -262,11 +262,11 @@ msgstr "Versão winsock inválida" |
262 | 262 | msgid "Black" |
263 | 263 | msgstr "Preto" |
264 | 264 | |
265 | -#: ui/00default.xml:389 | |
265 | +#: ui/00default.xml:125 | |
266 | 266 | msgid "Blank Fill" |
267 | 267 | msgstr "Completar com espaços" |
268 | 268 | |
269 | -#: ui/00default.xml:382 | |
269 | +#: ui/00default.xml:118 | |
270 | 270 | msgid "Blinking Cursor" |
271 | 271 | msgstr "Cursor piscante" |
272 | 272 | |
... | ... | @@ -274,7 +274,7 @@ msgstr "Cursor piscante" |
274 | 274 | msgid "Blue" |
275 | 275 | msgstr "Azul" |
276 | 276 | |
277 | -#: ui/00default.xml:392 | |
277 | +#: ui/00default.xml:128 | |
278 | 278 | msgid "Bold" |
279 | 279 | msgstr "Negrito" |
280 | 280 | |
... | ... | @@ -282,7 +282,7 @@ msgstr "Negrito" |
282 | 282 | msgid "Brazilian Public Software Portal" |
283 | 283 | msgstr "Portal do Software Público Brasileiro" |
284 | 284 | |
285 | -#: ui/10keypad.xml:156 | |
285 | +#: ui/10keypad.xml:468 | |
286 | 286 | msgid "Break" |
287 | 287 | msgstr "Break" |
288 | 288 | |
... | ... | @@ -474,7 +474,7 @@ msgstr "Tabela de tradução tem %d entradas, precisa de 256" |
474 | 474 | msgid "Charset has more than 256 entries" |
475 | 475 | msgstr "Tabela de tradução tem mais de 256 caracteres" |
476 | 476 | |
477 | -#: ui/10keypad.xml:147 | |
477 | +#: ui/00default.xml:79 | |
478 | 478 | msgid "Clear" |
479 | 479 | msgstr "Limpar" |
480 | 480 | |
... | ... | @@ -486,7 +486,7 @@ msgstr "Tema de cores:" |
486 | 486 | msgid "Color setup" |
487 | 487 | msgstr "Configuração de cores" |
488 | 488 | |
489 | -#: ui/00default.xml:371 | |
489 | +#: ui/00default.xml:107 | |
490 | 490 | msgid "Colors" |
491 | 491 | msgstr "Cores" |
492 | 492 | |
... | ... | @@ -494,7 +494,7 @@ msgstr "Cores" |
494 | 494 | msgid "Complete" |
495 | 495 | msgstr "Completo" |
496 | 496 | |
497 | -#: ui/00default.xml:381 | |
497 | +#: ui/00default.xml:117 | |
498 | 498 | msgid "Connect on startup" |
499 | 499 | msgstr "Conectar ao iniciar" |
500 | 500 | |
... | ... | @@ -502,19 +502,19 @@ msgstr "Conectar ao iniciar" |
502 | 502 | msgid "Connection reset by peer" |
503 | 503 | msgstr "Conexão foi cancelada pelo servidor" |
504 | 504 | |
505 | -#: ui/00default.xml:325 | |
505 | +#: ui/00default.xml:61 | |
506 | 506 | msgid "Copy" |
507 | 507 | msgstr "Copiar" |
508 | 508 | |
509 | -#: ui/99debug.xml:200 | |
509 | +#: ui/99debug.xml:566 | |
510 | 510 | msgid "Copy as HTML" |
511 | 511 | msgstr "Copiar como HTML" |
512 | 512 | |
513 | -#: ui/00default.xml:326 | |
513 | +#: ui/00default.xml:62 | |
514 | 514 | msgid "Copy as table" |
515 | 515 | msgstr "Copiar como tabela" |
516 | 516 | |
517 | -#: colors.c:418 ui/00default.xml:388 | |
517 | +#: colors.c:418 ui/00default.xml:124 | |
518 | 518 | msgid "Cross hair cursor" |
519 | 519 | msgstr "Cursor mira" |
520 | 520 | |
... | ... | @@ -527,7 +527,7 @@ msgstr "Atual (%s)" |
527 | 527 | msgid "Custom colors" |
528 | 528 | msgstr "Cores personalizadas" |
529 | 529 | |
530 | -#: ui/00default.xml:329 | |
530 | +#: ui/00default.xml:65 | |
531 | 531 | msgid "Cut" |
532 | 532 | msgstr "Recortar" |
533 | 533 | |
... | ... | @@ -539,7 +539,7 @@ msgstr "Cilindros" |
539 | 539 | msgid "DFT B_uffer size:" |
540 | 540 | msgstr "Tamanho do b_uffer DFT:" |
541 | 541 | |
542 | -#: ui/99debug.xml:205 | |
542 | +#: ui/99debug.xml:571 | |
543 | 543 | msgid "DS Trace" |
544 | 544 | msgstr "DS Trace" |
545 | 545 | |
... | ... | @@ -555,11 +555,11 @@ msgstr "Verde Escuro" |
555 | 555 | msgid "Data conversion error" |
556 | 556 | msgstr "Erro na conversão de dados" |
557 | 557 | |
558 | -#: ui/99debug.xml:213 | |
558 | +#: ui/99debug.xml:579 | |
559 | 559 | msgid "Debug" |
560 | 560 | msgstr "Depuração" |
561 | 561 | |
562 | -#: ui/99debug.xml:215 | |
562 | +#: ui/99debug.xml:581 | |
563 | 563 | msgid "Debug window updates" |
564 | 564 | msgstr "Mostrar atualizações de janela" |
565 | 565 | |
... | ... | @@ -567,7 +567,7 @@ msgstr "Mostrar atualizações de janela" |
567 | 567 | msgid "Default" |
568 | 568 | msgstr "Padrão" |
569 | 569 | |
570 | -#: ui/00default.xml:345 | |
570 | +#: ui/00default.xml:81 | |
571 | 571 | msgid "Delete field" |
572 | 572 | msgstr "Apagar campo" |
573 | 573 | |
... | ... | @@ -599,7 +599,7 @@ msgstr "Nome do servidor em branco" |
599 | 599 | msgid "Empty port name" |
600 | 600 | msgstr "Porta em branco" |
601 | 601 | |
602 | -#: ui/10keypad.xml:151 | |
602 | +#: ui/10keypad.xml:463 | |
603 | 603 | msgid "" |
604 | 604 | "Erase\n" |
605 | 605 | "EOF" |
... | ... | @@ -607,7 +607,7 @@ msgstr "" |
607 | 607 | "Apagar\n" |
608 | 608 | "Campo" |
609 | 609 | |
610 | -#: ui/10keypad.xml:152 | |
610 | +#: ui/10keypad.xml:464 | |
611 | 611 | msgid "" |
612 | 612 | "Erase\n" |
613 | 613 | "Input" |
... | ... | @@ -615,15 +615,15 @@ msgstr "" |
615 | 615 | "Apagar\n" |
616 | 616 | "Campos" |
617 | 617 | |
618 | -#: ui/00default.xml:344 | |
618 | +#: ui/00default.xml:80 | |
619 | 619 | msgid "Erase input" |
620 | 620 | msgstr "Apagar campos" |
621 | 621 | |
622 | -#: ui/00default.xml:346 | |
622 | +#: ui/00default.xml:82 | |
623 | 623 | msgid "Erase to end of field" |
624 | 624 | msgstr "Apagar até o final do campo" |
625 | 625 | |
626 | -#: ui/00default.xml:347 | |
626 | +#: ui/00default.xml:83 | |
627 | 627 | msgid "Erase to end of line" |
628 | 628 | msgstr "Apagar até o final da linha" |
629 | 629 | |
... | ... | @@ -666,11 +666,11 @@ msgstr "Erro lendo %s" |
666 | 666 | msgid "Error resolving %s: %s" |
667 | 667 | msgstr "Erro ao resolver %s: %s" |
668 | 668 | |
669 | -#: ui/99debug.xml:207 | |
669 | +#: ui/99debug.xml:573 | |
670 | 670 | msgid "Event Trace" |
671 | 671 | msgstr "Trace de eventos" |
672 | 672 | |
673 | -#: ui/rexx.xml:260 | |
673 | +#: ui/rexx.xml:626 | |
674 | 674 | msgid "External Rexx script" |
675 | 675 | msgstr "Script rexx externo" |
676 | 676 | |
... | ... | @@ -718,11 +718,11 @@ msgstr "Format error in certificate's notAfter field" |
718 | 718 | msgid "Format error in certificate's notBefore field" |
719 | 719 | msgstr "Format error in certificate's notBefore field" |
720 | 720 | |
721 | -#: ui/00default.xml:385 | |
721 | +#: ui/00default.xml:121 | |
722 | 722 | msgid "Full Screen" |
723 | 723 | msgstr "Tela cheia" |
724 | 724 | |
725 | -#: ui/10functions.xml:35 | |
725 | +#: ui/10functions.xml:347 | |
726 | 726 | msgid "Function bar" |
727 | 727 | msgstr "Barra de funções" |
728 | 728 | |
... | ... | @@ -767,7 +767,7 @@ msgstr "HTTP Proxy: EOF inesperado" |
767 | 767 | msgid "HTTP Proxy: unrecognized reply" |
768 | 768 | msgstr "HTTP Proxy: Resposta desconhecida" |
769 | 769 | |
770 | -#: ui/00default.xml:406 | |
770 | +#: ui/00default.xml:142 | |
771 | 771 | msgid "Help" |
772 | 772 | msgstr "Ajuda" |
773 | 773 | |
... | ... | @@ -828,7 +828,7 @@ msgstr "Comprimento de frame inválido" |
828 | 828 | msgid "Informations" |
829 | 829 | msgstr "Informações" |
830 | 830 | |
831 | -#: ui/00default.xml:401 | |
831 | +#: ui/00default.xml:137 | |
832 | 832 | msgid "Input method" |
833 | 833 | msgstr "Método de entrada" |
834 | 834 | |
... | ... | @@ -875,7 +875,7 @@ msgstr "Sintaxe de proxy inválida" |
875 | 875 | msgid "Invalid proxy type '%.*s'" |
876 | 876 | msgstr "Tipo de proxy invalido '%.*s'" |
877 | 877 | |
878 | -#: ui/00default.xml:394 | |
878 | +#: ui/00default.xml:130 | |
879 | 879 | msgid "Keep selected" |
880 | 880 | msgstr "Manter selecionado" |
881 | 881 | |
... | ... | @@ -891,7 +891,7 @@ msgstr "Teclado está bloqueado" |
891 | 891 | msgid "LRECL:" |
892 | 892 | msgstr "LRECL:" |
893 | 893 | |
894 | -#: ui/10keypad.xml:101 | |
894 | +#: ui/10keypad.xml:413 | |
895 | 895 | msgid "Lateral keypad" |
896 | 896 | msgstr "Barra lateral" |
897 | 897 | |
... | ... | @@ -908,7 +908,7 @@ msgstr "Faltando ']'" |
908 | 908 | msgid "Model %d (%s)" |
909 | 909 | msgstr "Modelo %d (%s)" |
910 | 910 | |
911 | -#: ui/00default.xml:383 | |
911 | +#: ui/00default.xml:119 | |
912 | 912 | msgid "Monocase" |
913 | 913 | msgstr "Só Maiúsculas" |
914 | 914 | |
... | ... | @@ -944,7 +944,7 @@ msgstr "Erro de rede" |
944 | 944 | msgid "Network startup error" |
945 | 945 | msgstr "Erro ao iniciar a rede" |
946 | 946 | |
947 | -#: ui/00default.xml:453 | |
947 | +#: ui/00default.xml:189 | |
948 | 948 | msgid "Next field" |
949 | 949 | msgstr "Próximo campo" |
950 | 950 | |
... | ... | @@ -1021,111 +1021,111 @@ msgstr "Outro (VM/CMS)" |
1021 | 1021 | msgid "Out of memory" |
1022 | 1022 | msgstr "Memória insuficiente" |
1023 | 1023 | |
1024 | -#: ui/10keypad.xml:138 | |
1024 | +#: ui/10keypad.xml:450 | |
1025 | 1025 | msgid "PA1" |
1026 | 1026 | msgstr "PA1" |
1027 | 1027 | |
1028 | -#: ui/10keypad.xml:139 | |
1028 | +#: ui/10keypad.xml:451 | |
1029 | 1029 | msgid "PA2" |
1030 | 1030 | msgstr "PA2" |
1031 | 1031 | |
1032 | -#: ui/10keypad.xml:140 | |
1032 | +#: ui/10keypad.xml:452 | |
1033 | 1033 | msgid "PA3" |
1034 | 1034 | msgstr "PA3" |
1035 | 1035 | |
1036 | -#: ui/10functions.xml:36 | |
1036 | +#: ui/10functions.xml:348 | |
1037 | 1037 | msgid "PF1" |
1038 | 1038 | msgstr "PF1" |
1039 | 1039 | |
1040 | -#: ui/10functions.xml:45 | |
1040 | +#: ui/10functions.xml:357 | |
1041 | 1041 | msgid "PF10" |
1042 | 1042 | msgstr "PF10" |
1043 | 1043 | |
1044 | -#: ui/10functions.xml:46 | |
1044 | +#: ui/10functions.xml:358 | |
1045 | 1045 | msgid "PF11" |
1046 | 1046 | msgstr "PF11" |
1047 | 1047 | |
1048 | -#: ui/10functions.xml:47 | |
1048 | +#: ui/10functions.xml:359 | |
1049 | 1049 | msgid "PF12" |
1050 | 1050 | msgstr "PF12" |
1051 | 1051 | |
1052 | -#: ui/10functions.xml:50 | |
1052 | +#: ui/10functions.xml:362 | |
1053 | 1053 | msgid "PF13" |
1054 | 1054 | msgstr "PF13" |
1055 | 1055 | |
1056 | -#: ui/10functions.xml:51 | |
1056 | +#: ui/10functions.xml:363 | |
1057 | 1057 | msgid "PF14" |
1058 | 1058 | msgstr "PF14" |
1059 | 1059 | |
1060 | -#: ui/10functions.xml:52 | |
1060 | +#: ui/10functions.xml:364 | |
1061 | 1061 | msgid "PF15" |
1062 | 1062 | msgstr "PF15" |
1063 | 1063 | |
1064 | -#: ui/10functions.xml:53 | |
1064 | +#: ui/10functions.xml:365 | |
1065 | 1065 | msgid "PF16" |
1066 | 1066 | msgstr "PF16" |
1067 | 1067 | |
1068 | -#: ui/10functions.xml:54 | |
1068 | +#: ui/10functions.xml:366 | |
1069 | 1069 | msgid "PF17" |
1070 | 1070 | msgstr "PF17" |
1071 | 1071 | |
1072 | -#: ui/10functions.xml:55 | |
1072 | +#: ui/10functions.xml:367 | |
1073 | 1073 | msgid "PF18" |
1074 | 1074 | msgstr "PF18" |
1075 | 1075 | |
1076 | -#: ui/10functions.xml:56 | |
1076 | +#: ui/10functions.xml:368 | |
1077 | 1077 | msgid "PF19" |
1078 | 1078 | msgstr "PF19" |
1079 | 1079 | |
1080 | -#: ui/10functions.xml:37 | |
1080 | +#: ui/10functions.xml:349 | |
1081 | 1081 | msgid "PF2" |
1082 | 1082 | msgstr "PF2" |
1083 | 1083 | |
1084 | -#: ui/10functions.xml:57 | |
1084 | +#: ui/10functions.xml:369 | |
1085 | 1085 | msgid "PF20" |
1086 | 1086 | msgstr "PF20" |
1087 | 1087 | |
1088 | -#: ui/10functions.xml:58 | |
1088 | +#: ui/10functions.xml:370 | |
1089 | 1089 | msgid "PF21" |
1090 | 1090 | msgstr "PF21" |
1091 | 1091 | |
1092 | -#: ui/10functions.xml:59 | |
1092 | +#: ui/10functions.xml:371 | |
1093 | 1093 | msgid "PF22" |
1094 | 1094 | msgstr "PF22" |
1095 | 1095 | |
1096 | -#: ui/10functions.xml:60 | |
1096 | +#: ui/10functions.xml:372 | |
1097 | 1097 | msgid "PF23" |
1098 | 1098 | msgstr "PF23" |
1099 | 1099 | |
1100 | -#: ui/10functions.xml:61 | |
1100 | +#: ui/10functions.xml:373 | |
1101 | 1101 | msgid "PF24" |
1102 | 1102 | msgstr "PF24" |
1103 | 1103 | |
1104 | -#: ui/10functions.xml:38 | |
1104 | +#: ui/10functions.xml:350 | |
1105 | 1105 | msgid "PF3" |
1106 | 1106 | msgstr "PF3" |
1107 | 1107 | |
1108 | -#: ui/10functions.xml:39 | |
1108 | +#: ui/10functions.xml:351 | |
1109 | 1109 | msgid "PF4" |
1110 | 1110 | msgstr "PF4" |
1111 | 1111 | |
1112 | -#: ui/10functions.xml:40 | |
1112 | +#: ui/10functions.xml:352 | |
1113 | 1113 | msgid "PF5" |
1114 | 1114 | msgstr "PF5" |
1115 | 1115 | |
1116 | -#: ui/10functions.xml:41 | |
1116 | +#: ui/10functions.xml:353 | |
1117 | 1117 | msgid "PF6" |
1118 | 1118 | msgstr "PF6" |
1119 | 1119 | |
1120 | -#: ui/10functions.xml:42 | |
1120 | +#: ui/10functions.xml:354 | |
1121 | 1121 | msgid "PF7" |
1122 | 1122 | msgstr "PF7" |
1123 | 1123 | |
1124 | -#: ui/10functions.xml:43 | |
1124 | +#: ui/10functions.xml:355 | |
1125 | 1125 | msgid "PF8" |
1126 | 1126 | msgstr "PF8" |
1127 | 1127 | |
1128 | -#: ui/10functions.xml:44 | |
1128 | +#: ui/10functions.xml:356 | |
1129 | 1129 | msgid "PF9" |
1130 | 1130 | msgstr "PF9" |
1131 | 1131 | |
... | ... | @@ -1142,15 +1142,15 @@ msgstr "Erro de interpretação em %s" |
1142 | 1142 | msgid "Passthru Proxy: send error" |
1143 | 1143 | msgstr "Passthru Proxy: Erro ao enviar" |
1144 | 1144 | |
1145 | -#: ui/00default.xml:330 | |
1145 | +#: ui/00default.xml:66 | |
1146 | 1146 | msgid "Paste" |
1147 | 1147 | msgstr "Colar" |
1148 | 1148 | |
1149 | -#: ui/00default.xml:331 | |
1149 | +#: ui/00default.xml:67 | |
1150 | 1150 | msgid "Paste next" |
1151 | 1151 | msgstr "Colar próximo" |
1152 | 1152 | |
1153 | -#: ui/00default.xml:334 | |
1153 | +#: ui/00default.xml:70 | |
1154 | 1154 | msgid "Paste text file" |
1155 | 1155 | msgstr "Colar arquivo texto" |
1156 | 1156 | |
... | ... | @@ -1158,7 +1158,7 @@ msgstr "Colar arquivo texto" |
1158 | 1158 | msgid "Paste text file contents" |
1159 | 1159 | msgstr "Colar conteúdo de arquivo texto" |
1160 | 1160 | |
1161 | -#: ui/00default.xml:387 | |
1161 | +#: ui/00default.xml:123 | |
1162 | 1162 | msgid "Paste with left margin" |
1163 | 1163 | msgstr "Colar com margem esquerda" |
1164 | 1164 | |
... | ... | @@ -1174,7 +1174,7 @@ msgstr "Caminho para os arquivos de dados da aplicação" |
1174 | 1174 | msgid "Pink" |
1175 | 1175 | msgstr "Rosa" |
1176 | 1176 | |
1177 | -#: ui/00default.xml:452 | |
1177 | +#: ui/00default.xml:188 | |
1178 | 1178 | msgid "Previous field" |
1179 | 1179 | msgstr "Campo anterior" |
1180 | 1180 | |
... | ... | @@ -1182,11 +1182,11 @@ msgstr "Campo anterior" |
1182 | 1182 | msgid "Primary space:" |
1183 | 1183 | msgstr "Primary space:" |
1184 | 1184 | |
1185 | -#: ui/00default.xml:313 | |
1185 | +#: ui/00default.xml:49 | |
1186 | 1186 | msgid "Print" |
1187 | 1187 | msgstr "Imprimir" |
1188 | 1188 | |
1189 | -#: ui/00default.xml:315 | |
1189 | +#: ui/00default.xml:51 | |
1190 | 1190 | msgid "Print copy" |
1191 | 1191 | msgstr "Imprimir cópia" |
1192 | 1192 | |
... | ... | @@ -1194,7 +1194,7 @@ msgstr "Imprimir cópia" |
1194 | 1194 | msgid "Print operation failed" |
1195 | 1195 | msgstr "Operação de impressão falhou" |
1196 | 1196 | |
1197 | -#: ui/00default.xml:314 | |
1197 | +#: ui/00default.xml:50 | |
1198 | 1198 | msgid "Print selected" |
1199 | 1199 | msgstr "Imprimir seleção" |
1200 | 1200 | |
... | ... | @@ -1202,7 +1202,7 @@ msgstr "Imprimir seleção" |
1202 | 1202 | msgid "Print selection box" |
1203 | 1203 | msgstr "Imprimir marca de seleção" |
1204 | 1204 | |
1205 | -#: print.c:754 ui/00default.xml:372 | |
1205 | +#: print.c:754 ui/00default.xml:108 | |
1206 | 1206 | msgid "Print settings" |
1207 | 1207 | msgstr "Configurações de impressão" |
1208 | 1208 | |
... | ... | @@ -1290,7 +1290,7 @@ msgstr "RPQ: can't resolve '%s': %s" |
1290 | 1290 | msgid "RPQ: gethostbyname error" |
1291 | 1291 | msgstr "RPQ: Erro em gethostbyname" |
1292 | 1292 | |
1293 | -#: ui/00default.xml:318 | |
1293 | +#: ui/00default.xml:54 | |
1294 | 1294 | msgid "Receive file" |
1295 | 1295 | msgstr "Receber arquivo" |
1296 | 1296 | |
... | ... | @@ -1306,27 +1306,27 @@ msgstr "Formato de registro" |
1306 | 1306 | msgid "Red" |
1307 | 1307 | msgstr "Vermelho" |
1308 | 1308 | |
1309 | -#: ui/99debug.xml:214 | |
1309 | +#: ui/99debug.xml:580 | |
1310 | 1310 | msgid "Reload buffer contents" |
1311 | 1311 | msgstr "Recarregar conteúdo do buffer" |
1312 | 1312 | |
1313 | -#: ui/00default.xml:339 | |
1313 | +#: ui/00default.xml:75 | |
1314 | 1314 | msgid "Remove selection" |
1315 | 1315 | msgstr "Remover seleção" |
1316 | 1316 | |
1317 | -#: ui/00default.xml:340 | |
1317 | +#: ui/00default.xml:76 | |
1318 | 1318 | msgid "Reselect" |
1319 | 1319 | msgstr "Reselecionar" |
1320 | 1320 | |
1321 | -#: ui/10keypad.xml:148 | |
1321 | +#: ui/10keypad.xml:460 | |
1322 | 1322 | msgid "Reset" |
1323 | 1323 | msgstr "Reset" |
1324 | 1324 | |
1325 | -#: ui/00default.xml:386 | |
1325 | +#: ui/00default.xml:122 | |
1326 | 1326 | msgid "Resize on alternate screen" |
1327 | 1327 | msgstr "Mudar tamanho do terminal em tela alternativa" |
1328 | 1328 | |
1329 | -#: ui/00default.xml:454 | |
1329 | +#: ui/00default.xml:190 | |
1330 | 1330 | msgid "Return" |
1331 | 1331 | msgstr "Return" |
1332 | 1332 | |
... | ... | @@ -1487,7 +1487,7 @@ msgstr "" |
1487 | 1487 | "SSL_write:\n" |
1488 | 1488 | "%s" |
1489 | 1489 | |
1490 | -#: ui/00default.xml:310 | |
1490 | +#: ui/00default.xml:46 | |
1491 | 1491 | msgid "Save copy" |
1492 | 1492 | msgstr "Salvar cópia" |
1493 | 1493 | |
... | ... | @@ -1495,7 +1495,7 @@ msgstr "Salvar cópia" |
1495 | 1495 | msgid "Save copy to file" |
1496 | 1496 | msgstr "Salvar cópia para arquivo" |
1497 | 1497 | |
1498 | -#: ui/00default.xml:308 | |
1498 | +#: ui/00default.xml:44 | |
1499 | 1499 | msgid "Save screen" |
1500 | 1500 | msgstr "Salvar tela" |
1501 | 1501 | |
... | ... | @@ -1503,7 +1503,7 @@ msgstr "Salvar tela" |
1503 | 1503 | msgid "Save screen to file" |
1504 | 1504 | msgstr "Salvar tela para arquivo" |
1505 | 1505 | |
1506 | -#: ui/00default.xml:309 | |
1506 | +#: ui/00default.xml:45 | |
1507 | 1507 | msgid "Save selected" |
1508 | 1508 | msgstr "Salvar seleção" |
1509 | 1509 | |
... | ... | @@ -1511,15 +1511,20 @@ msgstr "Salvar seleção" |
1511 | 1511 | msgid "Save selection to file" |
1512 | 1512 | msgstr "Salvar seleção para arquivo" |
1513 | 1513 | |
1514 | -#: ui/99debug.xml:206 | |
1514 | +#: ui/99debug.xml:572 | |
1515 | 1515 | msgid "Screen Trace" |
1516 | 1516 | msgstr "Trace de tela" |
1517 | 1517 | |
1518 | -#: ui/00default.xml:378 | |
1518 | +#: ui/00default.xml:114 | |
1519 | 1519 | msgid "Screen size" |
1520 | 1520 | msgstr "Tamanho da tela" |
1521 | 1521 | |
1522 | -#: ui/rexx.xml:260 | |
1522 | +#: ui/09scripts.xml:297 | |
1523 | +#, fuzzy | |
1524 | +msgid "Script" | |
1525 | +msgstr "Scripts" | |
1526 | + | |
1527 | +#: ui/00default.xml:89 | |
1523 | 1528 | msgid "Scripts" |
1524 | 1529 | msgstr "Scripts" |
1525 | 1530 | |
... | ... | @@ -1531,15 +1536,15 @@ msgstr "Secondary space:" |
1531 | 1536 | msgid "Secure connection was successful." |
1532 | 1537 | msgstr "Conexão segura efetuada com sucesso." |
1533 | 1538 | |
1534 | -#: ui/00default.xml:338 | |
1539 | +#: ui/00default.xml:74 | |
1535 | 1540 | msgid "Select Field" |
1536 | 1541 | msgstr "Selecionar campo" |
1537 | 1542 | |
1538 | -#: ui/00default.xml:337 | |
1543 | +#: ui/00default.xml:73 | |
1539 | 1544 | msgid "Select all" |
1540 | 1545 | msgstr "Selecionar tudo" |
1541 | 1546 | |
1542 | -#: ui/00default.xml:390 | |
1547 | +#: ui/00default.xml:126 | |
1543 | 1548 | msgid "Select by rectangles" |
1544 | 1549 | msgstr "Seleção retangular" |
1545 | 1550 | |
... | ... | @@ -1551,7 +1556,7 @@ msgstr "Selecione arquivo a receber" |
1551 | 1556 | msgid "Select file to send" |
1552 | 1557 | msgstr "Selecione arquivo a enviar" |
1553 | 1558 | |
1554 | -#: ui/00default.xml:375 | |
1559 | +#: ui/00default.xml:111 | |
1555 | 1560 | msgid "Select font" |
1556 | 1561 | msgstr "Selecione fonte" |
1557 | 1562 | |
... | ... | @@ -1575,7 +1580,7 @@ msgstr "Certificado auto assinado" |
1575 | 1580 | msgid "Self signed certificate in certificate chain" |
1576 | 1581 | msgstr "Certificado auto assinado na cadeia de certificados" |
1577 | 1582 | |
1578 | -#: ui/00default.xml:319 | |
1583 | +#: ui/00default.xml:55 | |
1579 | 1584 | msgid "Send file" |
1580 | 1585 | msgstr "Enviar arquivo" |
1581 | 1586 | |
... | ... | @@ -1587,7 +1592,7 @@ msgstr "Enviar arquivo para o servidor" |
1587 | 1592 | msgid "Send messages to syslog" |
1588 | 1593 | msgstr "Enviar mensagens para o log do sistema" |
1589 | 1594 | |
1590 | -#: ui/00default.xml:318 | |
1595 | +#: ui/00default.xml:54 | |
1591 | 1596 | msgid "Send/Receive" |
1592 | 1597 | msgstr "Enviar/Receber" |
1593 | 1598 | |
... | ... | @@ -1595,7 +1600,7 @@ msgstr "Enviar/Receber" |
1595 | 1600 | msgid "Session name" |
1596 | 1601 | msgstr "Nome da sessão" |
1597 | 1602 | |
1598 | -#: ui/00default.xml:356 | |
1603 | +#: ui/00default.xml:92 | |
1599 | 1604 | msgid "Set hostname" |
1600 | 1605 | msgstr "Selecione servidor" |
1601 | 1606 | |
... | ... | @@ -1611,19 +1616,19 @@ msgstr "Desativa toggles" |
1611 | 1616 | msgid "Set toggles ON" |
1612 | 1617 | msgstr "Ativa toggles" |
1613 | 1618 | |
1614 | -#: ui/00default.xml:371 | |
1619 | +#: ui/00default.xml:107 | |
1615 | 1620 | msgid "Settings" |
1616 | 1621 | msgstr "Configurações" |
1617 | 1622 | |
1618 | -#: ui/00default.xml:393 | |
1623 | +#: ui/00default.xml:129 | |
1619 | 1624 | msgid "Show Underline" |
1620 | 1625 | msgstr "Mostrar sublinhado" |
1621 | 1626 | |
1622 | -#: ui/99debug.xml:213 | |
1627 | +#: ui/99debug.xml:579 | |
1623 | 1628 | msgid "Show test pattern" |
1624 | 1629 | msgstr "Mostrar padrão de teste" |
1625 | 1630 | |
1626 | -#: ui/00default.xml:395 | |
1631 | +#: ui/00default.xml:131 | |
1627 | 1632 | msgid "Smart paste" |
1628 | 1633 | msgstr "Colar inteligente" |
1629 | 1634 | |
... | ... | @@ -1671,6 +1676,18 @@ msgstr "T_otal" |
1671 | 1676 | msgid "Terminal colors" |
1672 | 1677 | msgstr "Cores do terminal" |
1673 | 1678 | |
1679 | +#: ui/09scripts.xml:298 | |
1680 | +msgid "Teste01" | |
1681 | +msgstr "Teste01" | |
1682 | + | |
1683 | +#: ui/09scripts.xml:302 | |
1684 | +msgid "Teste02" | |
1685 | +msgstr "Teste02" | |
1686 | + | |
1687 | +#: ui/09scripts.xml:306 | |
1688 | +msgid "Teste03" | |
1689 | +msgstr "Teste03" | |
1690 | + | |
1674 | 1691 | #: host.c:216 |
1675 | 1692 | msgid "Text before '['" |
1676 | 1693 | msgstr "Texto antes de '['" |
... | ... | @@ -1902,15 +1919,15 @@ msgid "" |
1902 | 1919 | "This version of %s was built without support for secure sockets layer (SSL)." |
1903 | 1920 | msgstr "Esta versão do %s foi gerada sem suporte para conexões seguras (SSL)." |
1904 | 1921 | |
1905 | -#: ui/00default.xml:412 | |
1922 | +#: ui/00default.xml:148 | |
1906 | 1923 | msgid "Toolbar" |
1907 | 1924 | msgstr "Barra de ferramentas" |
1908 | 1925 | |
1909 | -#: ui/99debug.xml:205 | |
1926 | +#: ui/99debug.xml:571 | |
1910 | 1927 | msgid "Trace" |
1911 | 1928 | msgstr "Trace" |
1912 | 1929 | |
1913 | -#: ui/00default.xml:384 | |
1930 | +#: ui/00default.xml:120 | |
1914 | 1931 | msgid "Track Cursor" |
1915 | 1932 | msgstr "Mostrar posição do cursor" |
1916 | 1933 | |
... | ... | @@ -2118,7 +2135,7 @@ msgstr "Unsupported passthru host session" |
2118 | 2135 | msgid "Unsupported socks 4 proxy" |
2119 | 2136 | msgstr "Unsupported socks 4 proxy" |
2120 | 2137 | |
2121 | -#: ui/00default.xml:397 | |
2138 | +#: ui/00default.xml:133 | |
2122 | 2139 | msgid "Use +/- for field navigation" |
2123 | 2140 | msgstr "Usar teclas +/- para navegar por campos" |
2124 | 2141 | |
... | ... | @@ -2131,7 +2148,7 @@ msgstr "Variável" |
2131 | 2148 | msgid "Version %s - Revision %s" |
2132 | 2149 | msgstr "Versão %s - Revisão %s" |
2133 | 2150 | |
2134 | -#: ui/99debug.xml:208 | |
2151 | +#: ui/99debug.xml:574 | |
2135 | 2152 | msgid "View Field Delimiters" |
2136 | 2153 | msgstr "Mostrar delimitadores de campo" |
2137 | 2154 | |
... | ... | @@ -2159,7 +2176,7 @@ msgstr "Europa ocidental (ISO 8859-1)" |
2159 | 2176 | msgid "White" |
2160 | 2177 | msgstr "Branco" |
2161 | 2178 | |
2162 | -#: ui/00default.xml:423 | |
2179 | +#: ui/00default.xml:159 | |
2163 | 2180 | msgid "Window" |
2164 | 2181 | msgstr "Janela" |
2165 | 2182 | |
... | ... | @@ -2227,19 +2244,19 @@ msgstr "_Procurar" |
2227 | 2244 | msgid "_Color table:" |
2228 | 2245 | msgstr "Tabela de cores:" |
2229 | 2246 | |
2230 | -#: ui/00default.xml:366 | |
2247 | +#: ui/00default.xml:102 | |
2231 | 2248 | msgid "_Connect" |
2232 | 2249 | msgstr "_Conectar" |
2233 | 2250 | |
2234 | -#: ui/00default.xml:367 | |
2251 | +#: ui/00default.xml:103 | |
2235 | 2252 | msgid "_Disconnect" |
2236 | 2253 | msgstr "_Desconectar" |
2237 | 2254 | |
2238 | -#: ui/99debug.xml:200 | |
2255 | +#: ui/00default.xml:61 | |
2239 | 2256 | msgid "_Edit" |
2240 | 2257 | msgstr "_Editar" |
2241 | 2258 | |
2242 | -#: ui/rexx.xml:256 | |
2259 | +#: ui/00default.xml:36 | |
2243 | 2260 | msgid "_File" |
2244 | 2261 | msgstr "_Arquivo" |
2245 | 2262 | |
... | ... | @@ -2267,11 +2284,11 @@ msgstr "Nome do _Host:" |
2267 | 2284 | msgid "_Local file name:" |
2268 | 2285 | msgstr "Arquivo _local:" |
2269 | 2286 | |
2270 | -#: ui/00default.xml:356 | |
2287 | +#: ui/00default.xml:92 | |
2271 | 2288 | msgid "_Network" |
2272 | 2289 | msgstr "_Rede" |
2273 | 2290 | |
2274 | -#: ui/00default.xml:381 | |
2291 | +#: ui/00default.xml:117 | |
2275 | 2292 | msgid "_Options" |
2276 | 2293 | msgstr "_Opções" |
2277 | 2294 | |
... | ... | @@ -2299,7 +2316,7 @@ msgstr "Arquivo _texto" |
2299 | 2316 | msgid "_To" |
2300 | 2317 | msgstr "_Para" |
2301 | 2318 | |
2302 | -#: ui/rexx.xml:258 | |
2319 | +#: ui/00default.xml:87 | |
2303 | 2320 | msgid "_View" |
2304 | 2321 | msgstr "_Exibir" |
2305 | 2322 | |
... | ... | @@ -2346,19 +2363,6 @@ msgid "unknown error" |
2346 | 2363 | msgstr "Erro desconhecido" |
2347 | 2364 | |
2348 | 2365 | #, fuzzy |
2349 | -#~ msgid "Script" | |
2350 | -#~ msgstr "Scripts" | |
2351 | - | |
2352 | -#~ msgid "Teste01" | |
2353 | -#~ msgstr "Teste01" | |
2354 | - | |
2355 | -#~ msgid "Teste02" | |
2356 | -#~ msgstr "Teste02" | |
2357 | - | |
2358 | -#~ msgid "Teste03" | |
2359 | -#~ msgstr "Teste03" | |
2360 | - | |
2361 | -#, fuzzy | |
2362 | 2366 | #~ msgid "Cross hair Cursor" |
2363 | 2367 | #~ msgstr "Cursor mira" |
2364 | 2368 | ... | ... |
pw3270.nsi.in
... | ... | @@ -61,7 +61,7 @@ SubSection "@PACKAGE@" SecMain |
61 | 61 | file "/oname=$INSTDIR\@PACKAGE@.exe" ".bin\Release\@PACKAGE@.exe" |
62 | 62 | file "/oname=$INSTDIR\@PACKAGE@.ico" "src\pw3270\@PACKAGE@.ico" |
63 | 63 | file "/oname=$INSTDIR\lib3270.dll.@PACKAGE_VERSION@" ".bin\Release\lib3270.dll.@PACKAGE_VERSION@" |
64 | - file "/oname=$INSTDIR\libpw3270.dll.@PACKAGE_VERSION@" ".bin\Release\libpw3270.dll.@PACKAGE_VERSION@" | |
64 | + file "/oname=$INSTDIR\pw3270.dll.@PACKAGE_VERSION@" ".bin\Release\pw3270.dll.@PACKAGE_VERSION@" | |
65 | 65 | |
66 | 66 | # Configuration files |
67 | 67 | file "/oname=$INSTDIR\@PACKAGE@-logo.png" "src\pw3270\@PACKAGE@-logo.png" | ... | ... |
src/lib3270/Makefile.in
... | ... | @@ -108,30 +108,30 @@ include sources.mak |
108 | 108 | |
109 | 109 | #---[ Misc targets ]----------------------------------------------------------- |
110 | 110 | |
111 | -Release: $(BINRLS)/@DLLPREFIX@3270@DLLEXT@ | |
111 | +Release: $(BINRLS)/lib3270@DLLEXT@ | |
112 | 112 | |
113 | 113 | install: Release |
114 | 114 | $(MKDIR) $(DESTDIR)$(libdir) |
115 | - $(INSTALL_PROGRAM) $(BINRLS)/@DLLPREFIX@3270@DLLEXT@.@VERSION@ $(DESTDIR)$(libdir) | |
116 | - $(LN_S) @DLLPREFIX@3270@DLLEXT@.@VERSION@ $(DESTDIR)$(libdir)/@DLLPREFIX@3270@DLLEXT@.@MAJOR_VERSION@ | |
117 | - $(LN_S) @DLLPREFIX@3270@DLLEXT@.@MAJOR_VERSION@ $(DESTDIR)$(libdir)/@DLLPREFIX@3270@DLLEXT@ | |
115 | + $(INSTALL_PROGRAM) $(BINRLS)/lib3270@DLLEXT@.@VERSION@ $(DESTDIR)$(libdir) | |
116 | + $(LN_S) lib3270@DLLEXT@.@VERSION@ $(DESTDIR)$(libdir)/lib3270@DLLEXT@.@MAJOR_VERSION@ | |
117 | + $(LN_S) lib3270@DLLEXT@.@MAJOR_VERSION@ $(DESTDIR)$(libdir)/lib3270@DLLEXT@ | |
118 | 118 | |
119 | -Debug: $(BINDBG)/@DLLPREFIX@3270@DLLEXT@ | |
119 | +Debug: $(BINDBG)/lib3270@DLLEXT@ | |
120 | 120 | |
121 | -$(BINDBG)/@DLLPREFIX@3270@DLLEXT@: $(BINDBG)/@DLLPREFIX@3270@DLLEXT@.@VERSION@ | |
121 | +$(BINDBG)/lib3270@DLLEXT@: $(BINDBG)/lib3270@DLLEXT@.@VERSION@ | |
122 | 122 | @rm -f $@ |
123 | - @cd $(BINDBG) && $(LN_S) @DLLPREFIX@3270@DLLEXT@.@VERSION@ @DLLPREFIX@3270@DLLEXT@ | |
123 | + @cd $(BINDBG) && $(LN_S) lib3270@DLLEXT@.@VERSION@ lib3270@DLLEXT@ | |
124 | 124 | |
125 | -$(BINDBG)/@DLLPREFIX@3270@DLLEXT@.@VERSION@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) | |
125 | +$(BINDBG)/lib3270@DLLEXT@.@VERSION@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) | |
126 | 126 | @echo " CCLD `basename $@`" |
127 | 127 | @$(MKDIR) `dirname $@` |
128 | 128 | @$(LD) $(DLL_FLAGS) $(LDFLAGS) @LDSOFLAGS@ @LDLIBFLAGS@ -o $@ $^ $(LIBS) |
129 | 129 | |
130 | -$(BINRLS)/@DLLPREFIX@3270@DLLEXT@: $(BINRLS)/@DLLPREFIX@3270@DLLEXT@.@VERSION@ | |
130 | +$(BINRLS)/lib3270@DLLEXT@: $(BINRLS)/lib3270@DLLEXT@.@VERSION@ | |
131 | 131 | @rm -f $@ |
132 | - @cd $(BINRLS) && $(LN_S) @DLLPREFIX@3270@DLLEXT@.@VERSION@ @DLLPREFIX@3270@DLLEXT@ | |
132 | + @cd $(BINRLS) && $(LN_S) lib3270@DLLEXT@.@VERSION@ lib3270@DLLEXT@ | |
133 | 133 | |
134 | -$(BINRLS)/@DLLPREFIX@3270@DLLEXT@.@VERSION@: $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) | |
134 | +$(BINRLS)/lib3270@DLLEXT@.@VERSION@: $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) | |
135 | 135 | @echo " CCLD `basename $@`" |
136 | 136 | @$(MKDIR) `dirname $@` |
137 | 137 | @$(LD) $(DLL_FLAGS) $(LDFLAGS) @LDSOFLAGS@ @LDLIBFLAGS@ -o $@ $^ $(LIBS) |
... | ... | @@ -145,9 +145,9 @@ $(BINDBG)/testprogram$(EXEEXT): $(OBJDBG)/testprogram.o $(foreach SRC, $(basenam |
145 | 145 | $(DEBDIR)/lib3270.install: Makefile |
146 | 146 | @echo " GEN `basename $@`" |
147 | 147 | @$(MKDIR) `dirname $@` |
148 | - @echo "$(libdir)/@DLLPREFIX@3270@DLLEXT@.@VERSION@" > $@ | |
149 | - @echo "$(libdir)/@DLLPREFIX@3270@DLLEXT@.@MAJOR_VERSION@" >> $@ | |
150 | - @echo "$(libdir)/@DLLPREFIX@3270@DLLEXT@" >> $@ | |
148 | + @echo "$(libdir)/lib3270@DLLEXT@.@VERSION@" > $@ | |
149 | + @echo "$(libdir)/lib3270@DLLEXT@.@MAJOR_VERSION@" >> $@ | |
150 | + @echo "$(libdir)/lib3270@DLLEXT@" >> $@ | |
151 | 151 | |
152 | 152 | $(BINDIR)/pot/lib3270.pot: $(foreach SRC, $(basename $(SOURCES)), $(TMPDIR)/pot/$(SRC).pot) |
153 | 153 | @rm -f $@ | ... | ... |
src/plugins/hllapi/calls.c
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) |
27 | 27 | * |
28 | 28 | */ |
29 | - | |
29 | + | |
30 | 30 | #include <windows.h> |
31 | 31 | #include <lib3270.h> |
32 | 32 | #include <malloc.h> |
... | ... | @@ -34,30 +34,30 @@ |
34 | 34 | #include <errno.h> |
35 | 35 | #include <pw3270/hllapi.h> |
36 | 36 | #include <stdio.h> |
37 | - #include <lib3270/log.h> | |
37 | + #include <lib3270/log.h> | |
38 | 38 | #include "client.h" |
39 | - | |
40 | - #undef trace | |
39 | + | |
40 | + #undef trace | |
41 | 41 | #define trace( fmt, ... ) { FILE *out = fopen("c:\\Users\\Perry\\hllapi.log","a"); if(out) { fprintf(out, "%s(%d) " fmt "\n", __FILE__, __LINE__, __VA_ARGS__ ); fclose(out); } } |
42 | 42 | |
43 | 43 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ |
44 | - | |
45 | - HMODULE hModule = NULL; | |
44 | + | |
45 | + HMODULE hModule = NULL; | |
46 | 46 | void * hSession = NULL; |
47 | 47 | |
48 | - | |
49 | - static void * (*session_new)(const char *model) = NULL; | |
48 | + | |
49 | + static void * (*session_new)(const char *model) = NULL; | |
50 | 50 | static void (*session_free)(void *h) = NULL; |
51 | 51 | static const char * (*get_revision)(void) = NULL; |
52 | 52 | static int (*host_connect)(void *h,const char *n, int wait) = NULL; |
53 | 53 | static int (*host_is_connected)(void *h) = NULL; |
54 | - static int (*wait_for_ready)(void *h, int seconds) = NULL; | |
54 | + static int (*wait_for_ready)(void *h, int seconds) = NULL; | |
55 | 55 | static void (*host_disconnect)(void *h) = NULL; |
56 | 56 | static int (*script_sleep)(void *h, int seconds) = NULL; |
57 | 57 | static LIB3270_MESSAGE (*get_message)(void *h) = NULL; |
58 | - static char * (*get_text)(void *h, int row, int col, int len) = NULL; | |
58 | + static char * (*get_text)(void *h, int row, int col, int len) = NULL; | |
59 | 59 | static char * (*get_text_at_offset)(void *h, int offset, int len) = NULL; |
60 | - | |
60 | + | |
61 | 61 | static void * (*release_memory)(void *p) = NULL; |
62 | 62 | static int (*action_enter)(void *h) = NULL; |
63 | 63 | static int (*set_text_at)(void *h, int row, int col, const unsigned char *str) = NULL; |
... | ... | @@ -70,15 +70,15 @@ |
70 | 70 | static int (*erase_eof)(void *hSession) = NULL; |
71 | 71 | static int (*do_print)(void *h) = NULL; |
72 | 72 | |
73 | - static const struct _entry_point | |
74 | - { | |
75 | - void **call; | |
76 | - void * pipe; | |
77 | - const char * name; | |
78 | - } entry_point[] = | |
79 | - { | |
80 | - { (void **) &session_new, (void *) hllapi_pipe_init, "lib3270_session_new" }, | |
81 | - { (void **) &session_free, (void *) hllapi_pipe_deinit, "lib3270_session_free" }, | |
73 | + static const struct _entry_point | |
74 | + { | |
75 | + void **call; | |
76 | + void * pipe; | |
77 | + const char * name; | |
78 | + } entry_point[] = | |
79 | + { | |
80 | + { (void **) &session_new, (void *) hllapi_pipe_init, "lib3270_session_new" }, | |
81 | + { (void **) &session_free, (void *) hllapi_pipe_deinit, "lib3270_session_free" }, | |
82 | 82 | { (void **) &get_revision, (void *) hllapi_pipe_get_revision, "lib3270_get_revision" }, |
83 | 83 | { (void **) &host_connect, (void *) hllapi_pipe_connect, "lib3270_connect" }, |
84 | 84 | { (void **) &host_disconnect, (void *) hllapi_pipe_disconnect, "lib3270_disconnect" }, |
... | ... | @@ -99,201 +99,201 @@ |
99 | 99 | { (void **) &emulate_input, (void *) hllapi_pipe_emulate_input, "lib3270_emulate_input" }, |
100 | 100 | { (void **) &erase_eof, (void *) hllapi_pipe_erase_eof, "lib3270_eraseeof" }, |
101 | 101 | { (void **) &do_print, (void *) hllapi_pipe_print, "lib3270_print" }, |
102 | - | |
103 | - { NULL, NULL, NULL } | |
104 | - }; | |
105 | - | |
106 | -// http://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx | |
107 | -#ifndef LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | |
108 | - #define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000 | |
109 | -#endif // LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | |
110 | - | |
111 | -#ifndef LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | |
112 | - #define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100 | |
113 | -#endif // LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | |
114 | - | |
102 | + | |
103 | + { NULL, NULL, NULL } | |
104 | + }; | |
105 | + | |
106 | +// http://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx | |
107 | +#ifndef LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | |
108 | + #define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000 | |
109 | +#endif // LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | |
110 | + | |
111 | +#ifndef LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | |
112 | + #define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100 | |
113 | +#endif // LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | |
114 | + | |
115 | 115 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
116 | - | |
117 | - __declspec (dllexport) DWORD __stdcall hllapi_init(LPSTR mode) | |
118 | - { | |
119 | - if(!mode) | |
120 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
121 | - | |
122 | - trace("%s(%s)",__FUNCTION__,(char *) mode); | |
123 | - | |
124 | - if(mode && *mode) | |
125 | - { | |
126 | - // Get pointers to the pipe based calls | |
127 | - int f; | |
128 | - | |
129 | - trace("%s: Loading pipe based calls",__FUNCTION__); | |
130 | - for(f=0;entry_point[f].name;f++) | |
131 | - *entry_point[f].call = entry_point[f].pipe; | |
132 | - | |
133 | - } | |
134 | - else | |
135 | - { | |
136 | - // Direct mode, load lib3270.dll, get pointers to the calls | |
116 | + | |
117 | + __declspec (dllexport) DWORD __stdcall hllapi_init(LPSTR mode) | |
118 | + { | |
119 | + if(!mode) | |
120 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
121 | + | |
122 | + trace("%s(%s)",__FUNCTION__,(char *) mode); | |
123 | + | |
124 | + if(mode && *mode) | |
125 | + { | |
126 | + // Get pointers to the pipe based calls | |
127 | + int f; | |
128 | + | |
129 | + trace("%s: Loading pipe based calls",__FUNCTION__); | |
130 | + for(f=0;entry_point[f].name;f++) | |
131 | + *entry_point[f].call = entry_point[f].pipe; | |
132 | + | |
133 | + } | |
134 | + else | |
135 | + { | |
136 | + // Direct mode, load lib3270.dll, get pointers to the calls | |
137 | 137 | static const char *dllname = "lib3270.dll." PACKAGE_VERSION; |
138 | - | |
139 | - int f; | |
140 | - HMODULE kernel; | |
141 | - HANDLE cookie = NULL; | |
142 | - DWORD rc; | |
143 | - HANDLE (*AddDllDirectory)(PCWSTR NewDirectory); | |
144 | - BOOL (*RemoveDllDirectory)(HANDLE Cookie); | |
145 | - UINT errorMode; | |
146 | - char datadir[4096]; | |
147 | - | |
148 | - trace("hModule=%p",hModule); | |
149 | - if(hModule) | |
150 | - return -EBUSY; | |
151 | - | |
152 | - kernel = LoadLibrary("kernel32.dll"); | |
153 | - AddDllDirectory = (HANDLE (*)(PCWSTR)) GetProcAddress(kernel,"AddDllDirectory"); | |
154 | - RemoveDllDirectory = (BOOL (*)(HANDLE)) GetProcAddress(kernel,"RemoveDllDirectory"); | |
155 | - | |
138 | + | |
139 | + int f; | |
140 | + HMODULE kernel; | |
141 | + HANDLE cookie = NULL; | |
142 | + DWORD rc; | |
143 | + HANDLE (*AddDllDirectory)(PCWSTR NewDirectory); | |
144 | + BOOL (*RemoveDllDirectory)(HANDLE Cookie); | |
145 | + UINT errorMode; | |
146 | + char datadir[4096]; | |
147 | + | |
148 | + trace("hModule=%p",hModule); | |
149 | + if(hModule) | |
150 | + return -EBUSY; | |
151 | + | |
152 | + kernel = LoadLibrary("kernel32.dll"); | |
153 | + AddDllDirectory = (HANDLE (*)(PCWSTR)) GetProcAddress(kernel,"AddDllDirectory"); | |
154 | + RemoveDllDirectory = (BOOL (*)(HANDLE)) GetProcAddress(kernel,"RemoveDllDirectory"); | |
155 | + | |
156 | 156 | // Notify user in case of error loading protocol DLL |
157 | - // http://msdn.microsoft.com/en-us/library/windows/desktop/ms680621(v=vs.85).aspx | |
158 | - errorMode = SetErrorMode(1); | |
159 | - | |
160 | - memset(datadir,' ',4095); | |
161 | - datadir[4095] = 0; | |
162 | - | |
163 | - if(hllapi_get_datadir(datadir)) | |
164 | - { | |
165 | - char buffer[4096]; | |
166 | - wchar_t path[4096]; | |
167 | - | |
168 | - mbstowcs(path, datadir, 4095); | |
169 | - trace("Datadir=[%s] AddDllDirectory=%p RemoveDllDirectory=%p\n",datadir,AddDllDirectory,RemoveDllDirectory); | |
170 | - if(AddDllDirectory) | |
171 | - cookie = AddDllDirectory(path); | |
172 | - | |
173 | -#ifdef DEBUG | |
174 | - snprintf(buffer,4096,"%s\\.bin\\Debug\\%s",datadir,dllname); | |
175 | -#else | |
176 | - snprintf(buffer,4096,"%s\\%s",datadir,dllname); | |
177 | -#endif // DEBUG | |
178 | - | |
179 | - hModule = LoadLibrary(buffer); | |
180 | - | |
181 | - trace("%s hModule=%p rc=%d",buffer,hModule,(int) GetLastError()); | |
182 | - | |
157 | + // http://msdn.microsoft.com/en-us/library/windows/desktop/ms680621(v=vs.85).aspx | |
158 | + errorMode = SetErrorMode(1); | |
159 | + | |
160 | + memset(datadir,' ',4095); | |
161 | + datadir[4095] = 0; | |
162 | + | |
163 | + if(hllapi_get_datadir(datadir)) | |
164 | + { | |
165 | + char buffer[4096]; | |
166 | + wchar_t path[4096]; | |
167 | + | |
168 | + mbstowcs(path, datadir, 4095); | |
169 | + trace("Datadir=[%s] AddDllDirectory=%p RemoveDllDirectory=%p\n",datadir,AddDllDirectory,RemoveDllDirectory); | |
170 | + if(AddDllDirectory) | |
171 | + cookie = AddDllDirectory(path); | |
172 | + | |
173 | +#ifdef DEBUG | |
174 | + snprintf(buffer,4096,"%s\\.bin\\Debug\\%s",datadir,dllname); | |
175 | +#else | |
176 | + snprintf(buffer,4096,"%s\\%s",datadir,dllname); | |
177 | +#endif // DEBUG | |
178 | + | |
179 | + hModule = LoadLibrary(buffer); | |
180 | + | |
181 | + trace("%s hModule=%p rc=%d",buffer,hModule,(int) GetLastError()); | |
182 | + | |
183 | 183 | if(hModule == NULL) |
184 | 184 | { |
185 | 185 | // Enable DLL error popup and try again with full path |
186 | 186 | SetErrorMode(0); |
187 | - hModule = LoadLibraryEx(buffer,NULL,LOAD_LIBRARY_SEARCH_DEFAULT_DIRS|LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); | |
188 | - } | |
189 | - | |
190 | - rc = GetLastError(); | |
191 | - | |
192 | - trace("%s hModule=%p rc=%d",buffer,hModule,(int) rc); | |
193 | - } | |
194 | - else | |
195 | - { | |
196 | - hModule = LoadLibrary(dllname); | |
197 | - rc = GetLastError(); | |
198 | - } | |
199 | - | |
200 | - SetErrorMode(errorMode); | |
201 | - | |
202 | - trace("%s hModule=%p rc=%d",dllname,hModule,(int) rc); | |
203 | - | |
204 | - if(cookie && RemoveDllDirectory) | |
205 | - RemoveDllDirectory(cookie); | |
206 | - | |
207 | - if(kernel) | |
208 | - FreeLibrary(kernel); | |
209 | - | |
210 | - if(!hModule) | |
211 | - return rc; | |
212 | - | |
213 | - // Get library entry pointers | |
214 | - for(f=0;entry_point[f].name;f++) | |
215 | - { | |
216 | - void *ptr = (void *) GetProcAddress(hModule,entry_point[f].name); | |
217 | - | |
218 | - trace("%d %s=%p\n",f,entry_point[f].name,ptr); | |
219 | - | |
220 | - if(!ptr) | |
221 | - { | |
222 | - trace("Can´t load \"%s\"\n",entry_point[f].name); | |
223 | - hllapi_deinit(); | |
224 | - return -ENOENT; | |
225 | - } | |
226 | - *entry_point[f].call = ptr; | |
227 | - } | |
228 | - | |
229 | - } | |
230 | - // Get session handle | |
231 | - hSession = session_new((const char *) mode); | |
232 | - trace("%s ok hSession=%p\n",__FUNCTION__,hSession); | |
233 | - | |
234 | - return hSession ? 0 : -1; | |
187 | + hModule = LoadLibraryEx(buffer,NULL,LOAD_LIBRARY_SEARCH_DEFAULT_DIRS|LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); | |
188 | + } | |
189 | + | |
190 | + rc = GetLastError(); | |
191 | + | |
192 | + trace("%s hModule=%p rc=%d",buffer,hModule,(int) rc); | |
193 | + } | |
194 | + else | |
195 | + { | |
196 | + hModule = LoadLibrary(dllname); | |
197 | + rc = GetLastError(); | |
198 | + } | |
199 | + | |
200 | + SetErrorMode(errorMode); | |
201 | + | |
202 | + trace("%s hModule=%p rc=%d",dllname,hModule,(int) rc); | |
203 | + | |
204 | + if(cookie && RemoveDllDirectory) | |
205 | + RemoveDllDirectory(cookie); | |
206 | + | |
207 | + if(kernel) | |
208 | + FreeLibrary(kernel); | |
209 | + | |
210 | + if(!hModule) | |
211 | + return rc; | |
212 | + | |
213 | + // Get library entry pointers | |
214 | + for(f=0;entry_point[f].name;f++) | |
215 | + { | |
216 | + void *ptr = (void *) GetProcAddress(hModule,entry_point[f].name); | |
217 | + | |
218 | + trace("%d %s=%p\n",f,entry_point[f].name,ptr); | |
219 | + | |
220 | + if(!ptr) | |
221 | + { | |
222 | + trace("Can´t load \"%s\"\n",entry_point[f].name); | |
223 | + hllapi_deinit(); | |
224 | + return -ENOENT; | |
225 | + } | |
226 | + *entry_point[f].call = ptr; | |
227 | + } | |
228 | + | |
229 | + } | |
230 | + // Get session handle | |
231 | + hSession = session_new((const char *) mode); | |
232 | + trace("%s ok hSession=%p\n",__FUNCTION__,hSession); | |
233 | + | |
234 | + return hSession ? 0 : -1; | |
235 | + } | |
236 | + | |
237 | + __declspec (dllexport) DWORD __stdcall hllapi_deinit(void) | |
238 | + { | |
239 | + int f; | |
240 | + | |
241 | + // Release session | |
242 | + if(hSession && session_free) | |
243 | + session_free(hSession); | |
244 | + | |
245 | + for(f=0;entry_point[f].name;f++) | |
246 | + *entry_point[f].call = NULL; | |
247 | + | |
248 | + if(hModule != NULL) | |
249 | + { | |
250 | + FreeLibrary(hModule); | |
251 | + hModule = NULL; | |
252 | + } | |
253 | + | |
254 | + return 0; | |
255 | + } | |
256 | + | |
257 | + __declspec (dllexport) DWORD __stdcall hllapi_get_revision(void) | |
258 | + { | |
259 | + if(!get_revision) | |
260 | + return 0; | |
261 | + return (DWORD) atoi(get_revision()); | |
262 | + } | |
263 | + | |
264 | + __declspec (dllexport) DWORD __stdcall hllapi_connect(LPSTR uri, WORD wait) | |
265 | + { | |
266 | + if(!(host_connect && hSession && uri)) | |
267 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
268 | + | |
269 | + return host_connect(hSession,uri,wait); | |
270 | + } | |
271 | + | |
272 | + __declspec (dllexport) DWORD __stdcall hllapi_is_connected(void) | |
273 | + { | |
274 | + if(!(host_is_connected && hSession)) | |
275 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
276 | + | |
277 | + return host_is_connected(hSession); | |
235 | 278 | } |
236 | - | |
237 | - __declspec (dllexport) DWORD __stdcall hllapi_deinit(void) | |
238 | - { | |
239 | - int f; | |
240 | - | |
241 | - // Release session | |
242 | - if(hSession && session_free) | |
243 | - session_free(hSession); | |
244 | - | |
245 | - for(f=0;entry_point[f].name;f++) | |
246 | - *entry_point[f].call = NULL; | |
247 | - | |
248 | - if(hModule != NULL) | |
249 | - { | |
250 | - FreeLibrary(hModule); | |
251 | - hModule = NULL; | |
252 | - } | |
253 | - | |
254 | - return 0; | |
255 | - } | |
256 | - | |
257 | - __declspec (dllexport) DWORD __stdcall hllapi_get_revision(void) | |
258 | - { | |
259 | - if(!get_revision) | |
260 | - return 0; | |
261 | - return (DWORD) atoi(get_revision()); | |
262 | - } | |
263 | - | |
264 | - __declspec (dllexport) DWORD __stdcall hllapi_connect(LPSTR uri, WORD wait) | |
265 | - { | |
266 | - if(!(host_connect && hSession && uri)) | |
267 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
268 | - | |
269 | - return host_connect(hSession,uri,wait); | |
270 | - } | |
271 | - | |
272 | - __declspec (dllexport) DWORD __stdcall hllapi_is_connected(void) | |
273 | - { | |
274 | - if(!(host_is_connected && hSession)) | |
275 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
276 | - | |
277 | - return host_is_connected(hSession); | |
278 | - } | |
279 | 279 | |
280 | 280 | __declspec (dllexport) DWORD __stdcall hllapi_get_state(void) |
281 | 281 | { |
282 | - switch(hllapi_get_message_id()) | |
283 | - { | |
282 | + switch(hllapi_get_message_id()) | |
283 | + { | |
284 | 284 | case LIB3270_MESSAGE_NONE: /* 0 - No message */ |
285 | - return HLLAPI_STATUS_SUCCESS; | |
286 | - | |
287 | - case LIB3270_MESSAGE_DISCONNECTED: /* 4 - Disconnected from host */ | |
288 | - return HLLAPI_STATUS_DISCONNECTED; | |
289 | - | |
290 | - case LIB3270_MESSAGE_MINUS: | |
291 | - case LIB3270_MESSAGE_PROTECTED: | |
292 | - case LIB3270_MESSAGE_NUMERIC: | |
293 | - case LIB3270_MESSAGE_OVERFLOW: | |
294 | - case LIB3270_MESSAGE_INHIBIT: | |
295 | - case LIB3270_MESSAGE_KYBDLOCK: | |
296 | - return HLLAPI_STATUS_KEYBOARD_LOCKED; | |
285 | + return HLLAPI_STATUS_SUCCESS; | |
286 | + | |
287 | + case LIB3270_MESSAGE_DISCONNECTED: /* 4 - Disconnected from host */ | |
288 | + return HLLAPI_STATUS_DISCONNECTED; | |
289 | + | |
290 | + case LIB3270_MESSAGE_MINUS: | |
291 | + case LIB3270_MESSAGE_PROTECTED: | |
292 | + case LIB3270_MESSAGE_NUMERIC: | |
293 | + case LIB3270_MESSAGE_OVERFLOW: | |
294 | + case LIB3270_MESSAGE_INHIBIT: | |
295 | + case LIB3270_MESSAGE_KYBDLOCK: | |
296 | + return HLLAPI_STATUS_KEYBOARD_LOCKED; | |
297 | 297 | |
298 | 298 | case LIB3270_MESSAGE_SYSWAIT: |
299 | 299 | case LIB3270_MESSAGE_TWAIT: |
... | ... | @@ -301,152 +301,152 @@ |
301 | 301 | case LIB3270_MESSAGE_X: |
302 | 302 | case LIB3270_MESSAGE_RESOLVING: |
303 | 303 | case LIB3270_MESSAGE_CONNECTING: |
304 | - return HLLAPI_STATUS_WAITING; | |
305 | - } | |
304 | + return HLLAPI_STATUS_WAITING; | |
305 | + } | |
306 | 306 | |
307 | 307 | return HLLAPI_STATUS_SYSTEM_ERROR; |
308 | 308 | } |
309 | - | |
310 | - __declspec (dllexport) DWORD __stdcall hllapi_disconnect(void) | |
311 | - { | |
312 | - if(!(host_disconnect && hSession)) | |
313 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
314 | - | |
315 | - host_disconnect(hSession); | |
316 | - | |
317 | - return 0; | |
318 | - } | |
319 | - | |
320 | - __declspec (dllexport) DWORD __stdcall hllapi_wait_for_ready(WORD seconds) | |
321 | - { | |
322 | - if(!(wait_for_ready && hSession)) | |
323 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
324 | - | |
325 | - trace("%s seconds=%d\n", __FUNCTION__, (int) seconds); | |
326 | - | |
327 | - return (DWORD) wait_for_ready(hSession,(int) seconds); | |
328 | - } | |
329 | - | |
330 | - __declspec (dllexport) DWORD __stdcall hllapi_wait(WORD seconds) | |
331 | - { | |
332 | - if(!(script_sleep && hSession)) | |
333 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
334 | - | |
335 | - return (DWORD) script_sleep(hSession,(int) seconds); | |
336 | - } | |
337 | - | |
338 | - __declspec (dllexport) DWORD __stdcall hllapi_get_message_id(void) | |
339 | - { | |
340 | - if(!(get_message && hSession)) | |
341 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
342 | - return (DWORD) get_message(hSession); | |
343 | - } | |
344 | - | |
345 | - __declspec (dllexport) DWORD __stdcall hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer) | |
346 | - { | |
347 | - char * text; | |
348 | - int len; | |
349 | - | |
350 | - if(!(get_text && release_memory && hSession)) | |
351 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
352 | - | |
353 | - trace("%s row=%d col=%d buffer=%p",__FUNCTION__,row,col,buffer); | |
354 | - len = strlen(buffer); | |
355 | - | |
356 | - trace(" len=%d",len); | |
357 | - | |
358 | - text = get_text(hSession,row,col,len); | |
359 | - | |
360 | - trace(" text=%p errno=%d %s\n",text,errno,strerror(errno)); | |
361 | - | |
309 | + | |
310 | + __declspec (dllexport) DWORD __stdcall hllapi_disconnect(void) | |
311 | + { | |
312 | + if(!(host_disconnect && hSession)) | |
313 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
314 | + | |
315 | + host_disconnect(hSession); | |
316 | + | |
317 | + return 0; | |
318 | + } | |
319 | + | |
320 | + __declspec (dllexport) DWORD __stdcall hllapi_wait_for_ready(WORD seconds) | |
321 | + { | |
322 | + if(!(wait_for_ready && hSession)) | |
323 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
324 | + | |
325 | + trace("%s seconds=%d\n", __FUNCTION__, (int) seconds); | |
326 | + | |
327 | + return (DWORD) wait_for_ready(hSession,(int) seconds); | |
328 | + } | |
329 | + | |
330 | + __declspec (dllexport) DWORD __stdcall hllapi_wait(WORD seconds) | |
331 | + { | |
332 | + if(!(script_sleep && hSession)) | |
333 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
334 | + | |
335 | + return (DWORD) script_sleep(hSession,(int) seconds); | |
336 | + } | |
337 | + | |
338 | + __declspec (dllexport) DWORD __stdcall hllapi_get_message_id(void) | |
339 | + { | |
340 | + if(!(get_message && hSession)) | |
341 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
342 | + return (DWORD) get_message(hSession); | |
343 | + } | |
344 | + | |
345 | + __declspec (dllexport) DWORD __stdcall hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer) | |
346 | + { | |
347 | + char * text; | |
348 | + int len; | |
349 | + | |
350 | + if(!(get_text && release_memory && hSession)) | |
351 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
352 | + | |
353 | + trace("%s row=%d col=%d buffer=%p",__FUNCTION__,row,col,buffer); | |
354 | + len = strlen(buffer); | |
355 | + | |
356 | + trace(" len=%d",len); | |
357 | + | |
358 | + text = get_text(hSession,row,col,len); | |
359 | + | |
360 | + trace(" text=%p errno=%d %s\n",text,errno,strerror(errno)); | |
361 | + | |
362 | 362 | if(!text) |
363 | 363 | { |
364 | 364 | int rc = hllapi_get_state(); |
365 | 365 | return rc == HLLAPI_STATUS_SUCCESS ? -1 : rc; |
366 | 366 | } |
367 | - | |
367 | + | |
368 | 368 | strncpy(buffer,text,len); |
369 | - release_memory(text); | |
370 | - | |
371 | - trace("text:\n%s\n",buffer); | |
372 | - | |
373 | - return HLLAPI_STATUS_SUCCESS; | |
374 | - } | |
375 | - | |
376 | - __declspec (dllexport) DWORD __stdcall hllapi_enter(void) | |
377 | - { | |
378 | - if(!(action_enter && hSession)) | |
379 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
380 | - | |
381 | - return (DWORD) action_enter(hSession); | |
382 | - } | |
383 | - | |
384 | - __declspec (dllexport) DWORD __stdcall hllapi_set_text_at(WORD row, WORD col, LPSTR text) | |
385 | - { | |
386 | - if(!(set_text_at && hSession)) | |
387 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
388 | - | |
389 | - return (DWORD) set_text_at(hSession,row,col,(const unsigned char *) text); | |
390 | - } | |
391 | - | |
392 | - __declspec (dllexport) DWORD __stdcall hllapi_cmp_text_at(WORD row, WORD col, LPSTR text) | |
393 | - { | |
394 | - if(!(cmp_text_at && hSession)) | |
395 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
396 | - | |
397 | - return (DWORD) cmp_text_at(hSession,row,col,(const char *) text); | |
398 | - } | |
399 | - | |
400 | - __declspec (dllexport) DWORD __stdcall hllapi_pfkey(WORD key) | |
401 | - { | |
402 | - if(!(pfkey && hSession)) | |
403 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
404 | - | |
369 | + release_memory(text); | |
370 | + | |
371 | + trace("text:\n%s\n",buffer); | |
372 | + | |
373 | + return HLLAPI_STATUS_SUCCESS; | |
374 | + } | |
375 | + | |
376 | + __declspec (dllexport) DWORD __stdcall hllapi_enter(void) | |
377 | + { | |
378 | + if(!(action_enter && hSession)) | |
379 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
380 | + | |
381 | + return (DWORD) action_enter(hSession); | |
382 | + } | |
383 | + | |
384 | + __declspec (dllexport) DWORD __stdcall hllapi_set_text_at(WORD row, WORD col, LPSTR text) | |
385 | + { | |
386 | + if(!(set_text_at && hSession)) | |
387 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
388 | + | |
389 | + return (DWORD) set_text_at(hSession,row,col,(const unsigned char *) text); | |
390 | + } | |
391 | + | |
392 | + __declspec (dllexport) DWORD __stdcall hllapi_cmp_text_at(WORD row, WORD col, LPSTR text) | |
393 | + { | |
394 | + if(!(cmp_text_at && hSession)) | |
395 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
396 | + | |
397 | + return (DWORD) cmp_text_at(hSession,row,col,(const char *) text); | |
398 | + } | |
399 | + | |
400 | + __declspec (dllexport) DWORD __stdcall hllapi_pfkey(WORD key) | |
401 | + { | |
402 | + if(!(pfkey && hSession)) | |
403 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
404 | + | |
405 | 405 | return (DWORD) pfkey(hSession,key); |
406 | - } | |
406 | + } | |
407 | + | |
408 | + __declspec (dllexport) DWORD __stdcall hllapi_pakey(WORD key) | |
409 | + { | |
410 | + if(!(pfkey && hSession)) | |
411 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
407 | 412 | |
408 | - __declspec (dllexport) DWORD __stdcall hllapi_pakey(WORD key) | |
409 | - { | |
410 | - if(!(pfkey && hSession)) | |
411 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
412 | - | |
413 | 413 | return (DWORD) pakey(hSession,key); |
414 | - } | |
415 | - | |
416 | - __declspec (dllexport) DWORD __stdcall hllapi_get_datadir(LPSTR datadir) | |
417 | - { | |
418 | - HKEY hKey = 0; | |
419 | - unsigned long datalen = strlen(datadir); | |
420 | - | |
421 | - *datadir = 0; | |
422 | - | |
423 | - if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\pw3270",0,KEY_QUERY_VALUE,&hKey) == ERROR_SUCCESS) | |
424 | - { | |
414 | + } | |
415 | + | |
416 | + __declspec (dllexport) DWORD __stdcall hllapi_get_datadir(LPSTR datadir) | |
417 | + { | |
418 | + HKEY hKey = 0; | |
419 | + unsigned long datalen = strlen(datadir); | |
420 | + | |
421 | + *datadir = 0; | |
422 | + | |
423 | + if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\pw3270",0,KEY_QUERY_VALUE,&hKey) == ERROR_SUCCESS) | |
424 | + { | |
425 | 425 | unsigned long datatype; // #defined in winnt.h (predefined types 0-11) |
426 | - if(RegQueryValueExA(hKey,"datadir",NULL,&datatype,(LPBYTE) datadir,&datalen) != ERROR_SUCCESS) | |
427 | - *datadir = 0; | |
426 | + if(RegQueryValueExA(hKey,"datadir",NULL,&datatype,(LPBYTE) datadir,&datalen) != ERROR_SUCCESS) | |
427 | + *datadir = 0; | |
428 | 428 | RegCloseKey(hKey); |
429 | 429 | } |
430 | - | |
431 | - return *datadir; | |
432 | - } | |
433 | - | |
430 | + | |
431 | + return *datadir; | |
432 | + } | |
433 | + | |
434 | 434 | __declspec (dllexport) DWORD __stdcall hllapi_setcursor(WORD pos) |
435 | 435 | { |
436 | - if(!(setcursor && hSession)) | |
437 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
438 | - trace("%s(%d)",__FUNCTION__,pos); | |
436 | + if(!(setcursor && hSession)) | |
437 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
438 | + trace("%s(%d)",__FUNCTION__,pos); | |
439 | 439 | return setcursor(hSession,pos-1); |
440 | - } | |
440 | + } | |
441 | 441 | |
442 | 442 | __declspec (dllexport) DWORD __stdcall hllapi_getcursor() |
443 | 443 | { |
444 | - if(!(getcursor && hSession)) | |
445 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
444 | + if(!(getcursor && hSession)) | |
445 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
446 | 446 | return getcursor(hSession)+1; |
447 | - } | |
448 | - | |
449 | - __declspec (dllexport) DWORD __stdcall hllapi_get_screen(WORD offset, LPSTR buffer, WORD len) | |
447 | + } | |
448 | + | |
449 | + __declspec (dllexport) DWORD __stdcall hllapi_get_screen(WORD offset, LPSTR buffer, WORD len) | |
450 | 450 | { |
451 | 451 | size_t szBuffer = strlen(buffer); |
452 | 452 | char * text; |
... | ... | @@ -465,16 +465,18 @@ |
465 | 465 | |
466 | 466 | hllapi_free(text); |
467 | 467 | |
468 | - return HLLAPI_STATUS_SUCCESS; | |
469 | - } | |
468 | + return HLLAPI_STATUS_SUCCESS; | |
469 | + } | |
470 | 470 | |
471 | 471 | __declspec (dllexport) DWORD __stdcall hllapi_emulate_input(LPSTR buffer, WORD len, WORD pasting) |
472 | 472 | { |
473 | 473 | |
474 | - if(!(emulate_input && hSession)) | |
474 | + if(!(emulate_input && hSession)) | |
475 | 475 | return HLLAPI_STATUS_DISCONNECTED; |
476 | - trace("%s",__FUNCTION__); | |
477 | - emulate_input(hSession, buffer, len, pasting); | |
476 | + trace("%s(%s)",__FUNCTION__,(char *) buffer); | |
477 | + | |
478 | + if(buffer && *buffer) | |
479 | + emulate_input(hSession, buffer, len, pasting); | |
478 | 480 | |
479 | 481 | return HLLAPI_STATUS_SUCCESS; |
480 | 482 | } |
... | ... | @@ -483,9 +485,9 @@ |
483 | 485 | { |
484 | 486 | if(!erase_eof && hSession) |
485 | 487 | return HLLAPI_STATUS_SYSTEM_ERROR; |
486 | - trace("%s",__FUNCTION__); | |
488 | + trace("%s",__FUNCTION__); | |
487 | 489 | return erase_eof(hSession); |
488 | - } | |
490 | + } | |
489 | 491 | |
490 | 492 | __declspec (dllexport) DWORD __stdcall hllapi_print(void) |
491 | 493 | { |
... | ... | @@ -493,14 +495,14 @@ |
493 | 495 | return HLLAPI_STATUS_SYSTEM_ERROR; |
494 | 496 | |
495 | 497 | return do_print(hSession); |
496 | - } | |
498 | + } | |
497 | 499 | |
498 | 500 | char * hllapi_get_string(int offset, size_t len) |
499 | 501 | { |
500 | - if(!(get_text_at_offset && hSession)) | |
501 | - return NULL; | |
502 | - | |
503 | - return get_text_at_offset(hSession,offset-1,len); | |
502 | + if(!(get_text_at_offset && hSession)) | |
503 | + return NULL; | |
504 | + | |
505 | + return get_text_at_offset(hSession,offset-1,len); | |
504 | 506 | } |
505 | 507 | |
506 | 508 | void hllapi_free(void *p) | ... | ... |
src/plugins/hllapi/client.h
... | ... | @@ -26,36 +26,36 @@ |
26 | 26 | * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) |
27 | 27 | * |
28 | 28 | */ |
29 | - | |
29 | + | |
30 | 30 | #include <windows.h> |
31 | 31 | #include <pw3270/hllapi.h> |
32 | - | |
32 | + | |
33 | 33 | #ifndef ETIMEDOUT |
34 | 34 | #define ETIMEDOUT 1238 |
35 | 35 | #endif // ETIMEDOUT |
36 | - | |
37 | - #define PIPE_BUFFER_LENGTH 8192 | |
38 | - | |
36 | + | |
37 | + #define PIPE_BUFFER_LENGTH 8192 | |
38 | + | |
39 | 39 | #define set_active(x) /* x */ |
40 | - | |
41 | - void * hllapi_pipe_init(const char *id); | |
42 | - void hllapi_pipe_deinit(void *h); | |
43 | - const char * hllapi_pipe_get_revision(void); | |
44 | - void hllapi_pipe_release_memory(void *p); | |
40 | + | |
41 | + void * hllapi_pipe_init(const char *id); | |
42 | + void hllapi_pipe_deinit(void *h); | |
43 | + const char * hllapi_pipe_get_revision(void); | |
44 | + void hllapi_pipe_release_memory(void *p); | |
45 | 45 | int hllapi_pipe_connect(void *h, const char *n, int wait); |
46 | - void hllapi_pipe_disconnect(void *h); | |
47 | - LIB3270_MESSAGE hllapi_pipe_get_message(void *h); | |
48 | - char * hllapi_pipe_get_text_at(void *h, int row, int col, int len); | |
46 | + void hllapi_pipe_disconnect(void *h); | |
47 | + LIB3270_MESSAGE hllapi_pipe_get_message(void *h); | |
48 | + char * hllapi_pipe_get_text_at(void *h, int row, int col, int len); | |
49 | 49 | char * hllapi_pipe_get_text(void *h, int offset, int len); |
50 | - int hllapi_pipe_enter(void *h); | |
51 | - int hllapi_pipe_erase_eof(void *h); | |
52 | - int hllapi_pipe_set_text_at(void *h, int row, int col, const unsigned char *str); | |
53 | - int hllapi_pipe_cmp_text_at(void *h, int row, int col, const char *text); | |
54 | - int hllapi_pipe_pfkey(void *h, int key); | |
55 | - int hllapi_pipe_pakey(void *h, int key); | |
56 | - int hllapi_pipe_wait_for_ready(void *h, int seconds); | |
57 | - int hllapi_pipe_sleep(void *h, int seconds); | |
58 | - int hllapi_pipe_is_connected(void *h); | |
50 | + int hllapi_pipe_enter(void *h); | |
51 | + int hllapi_pipe_erase_eof(void *h); | |
52 | + int hllapi_pipe_set_text_at(void *h, int row, int col, const unsigned char *str); | |
53 | + int hllapi_pipe_cmp_text_at(void *h, int row, int col, const char *text); | |
54 | + int hllapi_pipe_pfkey(void *h, int key); | |
55 | + int hllapi_pipe_pakey(void *h, int key); | |
56 | + int hllapi_pipe_wait_for_ready(void *h, int seconds); | |
57 | + int hllapi_pipe_sleep(void *h, int seconds); | |
58 | + int hllapi_pipe_is_connected(void *h); | |
59 | 59 | int hllapi_pipe_getcursor(void *h); |
60 | 60 | int hllapi_pipe_setcursor(void *h, int baddr); |
61 | 61 | int hllapi_pipe_emulate_input(void *hSession, const char *s, int len, int pasting); |
... | ... | @@ -65,4 +65,4 @@ |
65 | 65 | void hllapi_free(void *p); |
66 | 66 | |
67 | 67 | |
68 | - | |
68 | + | ... | ... |
src/plugins/hllapi/hllapi.c
... | ... | @@ -32,12 +32,12 @@ |
32 | 32 | #include <string.h> |
33 | 33 | #include <errno.h> |
34 | 34 | #include <pw3270/hllapi.h> |
35 | - #include <stdio.h> | |
35 | + #include <stdio.h> | |
36 | 36 | #include <time.h> |
37 | 37 | #include <lib3270/log.h> |
38 | 38 | #include "client.h" |
39 | - | |
40 | - #undef trace | |
39 | + | |
40 | + #undef trace | |
41 | 41 | #define trace( fmt, ... ) { FILE *out = fopen("c:\\Users\\Perry\\hllapi.log","a"); if(out) { fprintf(out, "%s(%d) " fmt "\n", __FILE__, __LINE__, __VA_ARGS__ ); fclose(out); } } |
42 | 42 | |
43 | 43 | /*--[ Prototipes ]-----------------------------------------------------------------------------------*/ |
... | ... | @@ -69,7 +69,7 @@ |
69 | 69 | { HLLAPI_CMD_DISCONNECTPS, disconnect_ps }, |
70 | 70 | { HLLAPI_CMD_GETREVISION, get_library_revision }, |
71 | 71 | { HLLAPI_CMD_QUERYCURSOR, get_cursor_position }, |
72 | - { HLLAPI_CMD_SETCURSOR, set_cursor_position }, | |
72 | + { HLLAPI_CMD_SETCURSOR, set_cursor_position }, | |
73 | 73 | { HLLAPI_CMD_COPYPSTOSTR, copy_ps_to_str }, |
74 | 74 | { HLLAPI_CMD_INPUTSTRING, input_string }, |
75 | 75 | { HLLAPI_CMD_WAIT, wait_system }, |
... | ... | @@ -84,7 +84,7 @@ |
84 | 84 | static const char control_char = '@'; |
85 | 85 | |
86 | 86 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
87 | - | |
87 | + | |
88 | 88 | #ifdef _WIN32 |
89 | 89 | __declspec (dllexport) int __stdcall hllapi(LPWORD func, LPSTR buffer, LPWORD length, LPWORD rc) |
90 | 90 | #else |
... | ... | @@ -92,17 +92,17 @@ |
92 | 92 | #endif // _WIN32 |
93 | 93 | { |
94 | 94 | int f; |
95 | - | |
96 | - trace("%s(%d)",__FUNCTION__,*func); | |
97 | - | |
95 | + | |
96 | + trace("%s(%d)",__FUNCTION__,*func); | |
97 | + | |
98 | 98 | for(f=0;f< (sizeof (hllapi_call) / sizeof ((hllapi_call)[0]));f++) |
99 | 99 | { |
100 | 100 | if(hllapi_call[f].func == *func) |
101 | 101 | return hllapi_call[f].exec(buffer,length,rc); |
102 | - } | |
103 | - | |
102 | + } | |
103 | + | |
104 | 104 | return invalid_request(buffer, length, rc); |
105 | -} | |
105 | +} | |
106 | 106 | |
107 | 107 | static int invalid_request(char *buffer, unsigned short *length, unsigned short *rc) |
108 | 108 | { |
... | ... | @@ -111,33 +111,33 @@ static int invalid_request(char *buffer, unsigned short *length, unsigned short |
111 | 111 | } |
112 | 112 | |
113 | 113 | static int connect_ps(char *buffer, unsigned short *length, unsigned short *rc) |
114 | -{ | |
115 | - char *tempbuffer = NULL; | |
116 | - | |
117 | - trace("%s: len=%d buflen=%d",__FUNCTION__,*length,strlen(buffer)); | |
118 | - | |
119 | - if(strlen(buffer) > *length) | |
120 | - buffer[*length] = 0; | |
121 | - | |
122 | - if(!strrchr(buffer,':')) | |
123 | - { | |
124 | - int sz = strlen(buffer); | |
125 | - | |
126 | - tempbuffer = malloc(sz+2); | |
127 | - strcpy(tempbuffer,buffer); | |
128 | - tempbuffer[sz-1] = ':'; | |
129 | - tempbuffer[sz] = buffer[sz-1]; | |
130 | - tempbuffer[sz+1] = 0; | |
131 | - buffer = tempbuffer; | |
132 | - } | |
114 | +{ | |
115 | + char *tempbuffer = NULL; | |
116 | + | |
117 | + trace("%s: len=%d buflen=%d",__FUNCTION__,*length,strlen(buffer)); | |
118 | + | |
119 | + if(strlen(buffer) > *length) | |
120 | + buffer[*length] = 0; | |
121 | + | |
122 | + if(!strrchr(buffer,':')) | |
123 | + { | |
124 | + int sz = strlen(buffer); | |
125 | + | |
126 | + tempbuffer = malloc(sz+2); | |
127 | + strcpy(tempbuffer,buffer); | |
128 | + tempbuffer[sz-1] = ':'; | |
129 | + tempbuffer[sz] = buffer[sz-1]; | |
130 | + tempbuffer[sz+1] = 0; | |
131 | + buffer = tempbuffer; | |
132 | + } | |
133 | 133 | |
134 | 134 | if(hllapi_init(buffer) == 0) |
135 | 135 | *rc = HLLAPI_STATUS_SUCCESS; |
136 | 136 | else |
137 | - *rc = HLLAPI_STATUS_UNAVAILABLE; | |
138 | - | |
139 | - if(tempbuffer) | |
140 | - free(tempbuffer); | |
137 | + *rc = HLLAPI_STATUS_UNAVAILABLE; | |
138 | + | |
139 | + if(tempbuffer) | |
140 | + free(tempbuffer); | |
141 | 141 | |
142 | 142 | return 0; |
143 | 143 | } |
... | ... | @@ -155,32 +155,32 @@ static int get_library_revision(char *buffer, unsigned short *length, unsigned s |
155 | 155 | } |
156 | 156 | |
157 | 157 | static int get_cursor_position(char *buffer, unsigned short *length, unsigned short *rc) |
158 | -{ | |
158 | +{ | |
159 | 159 | int pos = hllapi_getcursor(); |
160 | - | |
161 | - trace("%s(%d)",__FUNCTION__,pos); | |
162 | - | |
163 | - if(pos < 0) | |
164 | - return -1; | |
165 | - | |
166 | - *rc = pos; | |
160 | + | |
161 | + trace("%s(%d)",__FUNCTION__,pos); | |
162 | + | |
163 | + if(pos < 0) | |
164 | + return -1; | |
165 | + | |
166 | + *rc = pos; | |
167 | 167 | return 0; |
168 | 168 | } |
169 | 169 | |
170 | 170 | static int set_cursor_position(char *buffer, unsigned short *length, unsigned short *rc) |
171 | -{ | |
171 | +{ | |
172 | 172 | trace("%s(%d)",__FUNCTION__,*rc); |
173 | 173 | *rc = hllapi_setcursor(*rc); |
174 | 174 | return 0; |
175 | 175 | } |
176 | 176 | |
177 | -static int copy_ps_to_str(char *buffer, unsigned short *length, unsigned short *rc) | |
178 | -{ | |
179 | - // Length Length of the target data string. | |
180 | - // PS Position Position within the host presentation space of the first byte in your target data string. | |
181 | - return hllapi_get_screen(*rc,buffer,*length); | |
177 | +static int copy_ps_to_str(char *buffer, unsigned short *length, unsigned short *rc) | |
178 | +{ | |
179 | + // Length Length of the target data string. | |
180 | + // PS Position Position within the host presentation space of the first byte in your target data string. | |
181 | + return hllapi_get_screen(*rc,buffer,*length); | |
182 | 182 | } |
183 | - | |
183 | + | |
184 | 184 | static int input_string(char *input, unsigned short *length, unsigned short *rc) |
185 | 185 | { |
186 | 186 | size_t szText; |
... | ... | @@ -203,6 +203,8 @@ static int input_string(char *input, unsigned short *length, unsigned short *rc) |
203 | 203 | |
204 | 204 | *rc = 0; |
205 | 205 | |
206 | + trace("input[%s]",text); | |
207 | + | |
206 | 208 | if(strchr(text,control_char)) |
207 | 209 | { |
208 | 210 | // Convert control char |
... | ... | @@ -213,6 +215,7 @@ static int input_string(char *input, unsigned short *length, unsigned short *rc) |
213 | 215 | { |
214 | 216 | *(ptr++) = 0; |
215 | 217 | |
218 | + trace("input[%s]",buffer); | |
216 | 219 | hllapi_emulate_input(buffer,-1,0); |
217 | 220 | |
218 | 221 | switch(*(ptr++)) |
... | ... | @@ -282,7 +285,8 @@ static int input_string(char *input, unsigned short *length, unsigned short *rc) |
282 | 285 | |
283 | 286 | } |
284 | 287 | |
285 | - hllapi_emulate_input(buffer,-1,0); | |
288 | + if(*buffer) | |
289 | + hllapi_emulate_input(buffer,-1,0); | |
286 | 290 | |
287 | 291 | } |
288 | 292 | else |
... | ... | @@ -295,40 +299,40 @@ static int input_string(char *input, unsigned short *length, unsigned short *rc) |
295 | 299 | return 0; |
296 | 300 | } |
297 | 301 | |
298 | -static int search_ps(char *buffer, unsigned short *length, unsigned short *ps) | |
299 | -{ | |
300 | - /* | |
301 | - * Data String Target string for search. | |
302 | - * Length Length of the target data string. Overridden in EOT mode. | |
303 | - * PS Position Position within the host presentation space where the search is to begin (SRCHFRWD option) or to end | |
304 | - * (SRCHBKWD option). Overridden in SRCHALL (default) mode. | |
305 | - * | |
306 | - * Return in *ps: | |
307 | - * | |
308 | - * = 0 The string was not found. | |
309 | - * > 0 The string was found at the indicated host presentation space position. | |
310 | - * | |
311 | - * Return code: | |
312 | - * | |
313 | - * 0 The Search Presentation Space function was successful. | |
314 | - * 1 Your program is not connected to a host session. | |
315 | - * 2 An error was made in specifying parameters. | |
316 | - * 7 The host presentation space position is not valid. | |
317 | - * 9 A system error was encountered. | |
318 | - * 24 The search string was not found. | |
319 | - * | |
320 | - */ | |
302 | +static int search_ps(char *buffer, unsigned short *length, unsigned short *ps) | |
303 | +{ | |
304 | + /* | |
305 | + * Data String Target string for search. | |
306 | + * Length Length of the target data string. Overridden in EOT mode. | |
307 | + * PS Position Position within the host presentation space where the search is to begin (SRCHFRWD option) or to end | |
308 | + * (SRCHBKWD option). Overridden in SRCHALL (default) mode. | |
309 | + * | |
310 | + * Return in *ps: | |
311 | + * | |
312 | + * = 0 The string was not found. | |
313 | + * > 0 The string was found at the indicated host presentation space position. | |
314 | + * | |
315 | + * Return code: | |
316 | + * | |
317 | + * 0 The Search Presentation Space function was successful. | |
318 | + * 1 Your program is not connected to a host session. | |
319 | + * 2 An error was made in specifying parameters. | |
320 | + * 7 The host presentation space position is not valid. | |
321 | + * 9 A system error was encountered. | |
322 | + * 24 The search string was not found. | |
323 | + * | |
324 | + */ | |
321 | 325 | size_t szBuffer = strlen(buffer); |
322 | 326 | char * text; |
323 | - int rc = -1; | |
324 | - | |
325 | - if(*length < szBuffer) | |
326 | - szBuffer = *length; | |
327 | + int rc = -1; | |
328 | + | |
329 | + if(*length < szBuffer) | |
330 | + szBuffer = *length; | |
327 | 331 | |
328 | 332 | |
329 | 333 | text = hllapi_get_string(*ps,szBuffer); |
330 | 334 | if(!text) |
331 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
335 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
332 | 336 | |
333 | 337 | if(strncmp(text,buffer,szBuffer)) |
334 | 338 | { |
... | ... | @@ -344,18 +348,18 @@ static int search_ps(char *buffer, unsigned short *length, unsigned short *ps) |
344 | 348 | } |
345 | 349 | |
346 | 350 | hllapi_free(text); |
347 | - | |
348 | - return rc; | |
351 | + | |
352 | + return rc; | |
349 | 353 | } |
350 | - | |
351 | -static int copy_ps(char *buffer, unsigned short *length, unsigned short *rc) | |
352 | -{ | |
353 | - /* | |
354 | - * Data String Preallocated target string the size of your host presentation space. This can vary depending on how your host presentation space is configured. When the Set Session Parameters (9) function with the EAB option is issued, the length of the data string must be at least twice the length of the presentation space. | |
355 | - * DBCS Only: When the EAD option is specified, the length of the data string must be at least three times the length of the presentation space. When both the EAB and EAD options are specified, the length of the data string must be at least four times the length of the presentation space. | |
356 | - * | |
357 | - * Length NA (the length of the host presentation space is implied). | |
358 | - * PS Position NA. | |
354 | + | |
355 | +static int copy_ps(char *buffer, unsigned short *length, unsigned short *rc) | |
356 | +{ | |
357 | + /* | |
358 | + * Data String Preallocated target string the size of your host presentation space. This can vary depending on how your host presentation space is configured. When the Set Session Parameters (9) function with the EAB option is issued, the length of the data string must be at least twice the length of the presentation space. | |
359 | + * DBCS Only: When the EAD option is specified, the length of the data string must be at least three times the length of the presentation space. When both the EAB and EAD options are specified, the length of the data string must be at least four times the length of the presentation space. | |
360 | + * | |
361 | + * Length NA (the length of the host presentation space is implied). | |
362 | + * PS Position NA. | |
359 | 363 | * |
360 | 364 | * Return values: |
361 | 365 | * |
... | ... | @@ -363,10 +367,10 @@ static int copy_ps(char *buffer, unsigned short *length, unsigned short *rc) |
363 | 367 | * 1 Your program is not connected to a host session. |
364 | 368 | * 4 The host presentation space contents were copied. The connected host presentation space was waiting for host response. |
365 | 369 | * 5 The host presentation space was copied. The keyboard was locked. |
366 | - * 9 A system error was encountered. | |
367 | - * | |
368 | - */ | |
369 | - size_t szBuffer = strlen(buffer); | |
370 | + * 9 A system error was encountered. | |
371 | + * | |
372 | + */ | |
373 | + size_t szBuffer = strlen(buffer); | |
370 | 374 | char * text; |
371 | 375 | |
372 | 376 | if(!hllapi_is_connected()) |
... | ... | @@ -382,42 +386,42 @@ static int copy_ps(char *buffer, unsigned short *length, unsigned short *rc) |
382 | 386 | hllapi_free(text); |
383 | 387 | |
384 | 388 | return hllapi_get_state(); |
385 | -} | |
386 | - | |
387 | -static int wait_system(char *buffer, unsigned short *length, unsigned short *rc) | |
388 | -{ | |
389 | - /* | |
390 | - * Checks the status of the host-connected presentation space. If the session is | |
391 | - * waiting for a host response (indicated by XCLOCK (X []) or XSYSTEM), the Wait | |
392 | - * function causes HLLAPI to wait up to 1 minute to see if the condition clears. | |
393 | - * | |
394 | - */ | |
395 | - | |
396 | - /* | |
397 | - * Return Code Definition | |
398 | - * | |
399 | - * 0 The keyboard is unlocked and ready for input. | |
400 | - * 1 Your application program is not connected to a valid session. | |
401 | - * 4 Timeout while still in XCLOCK (X []) or XSYSTEM. | |
402 | - * 5 The keyboard is locked. | |
403 | - * 9 A system error was encountered. | |
404 | - * | |
405 | - */ | |
406 | - time_t end = time(0) + 3600; | |
407 | - | |
408 | - while(time(0) < end) | |
389 | +} | |
390 | + | |
391 | +static int wait_system(char *buffer, unsigned short *length, unsigned short *rc) | |
392 | +{ | |
393 | + /* | |
394 | + * Checks the status of the host-connected presentation space. If the session is | |
395 | + * waiting for a host response (indicated by XCLOCK (X []) or XSYSTEM), the Wait | |
396 | + * function causes HLLAPI to wait up to 1 minute to see if the condition clears. | |
397 | + * | |
398 | + */ | |
399 | + | |
400 | + /* | |
401 | + * Return Code Definition | |
402 | + * | |
403 | + * 0 The keyboard is unlocked and ready for input. | |
404 | + * 1 Your application program is not connected to a valid session. | |
405 | + * 4 Timeout while still in XCLOCK (X []) or XSYSTEM. | |
406 | + * 5 The keyboard is locked. | |
407 | + * 9 A system error was encountered. | |
408 | + * | |
409 | + */ | |
410 | + time_t end = time(0) + 3600; | |
411 | + | |
412 | + while(time(0) < end) | |
409 | 413 | { |
410 | 414 | int state = hllapi_get_state(); |
411 | 415 | |
412 | 416 | if(state != HLLAPI_STATUS_WAITING) |
413 | - return state; | |
414 | - | |
415 | - if(hllapi_wait(1)) | |
416 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
417 | - | |
418 | - } | |
419 | - | |
420 | - return HLLAPI_STATUS_TIMEOUT; | |
417 | + return state; | |
418 | + | |
419 | + if(hllapi_wait(1)) | |
420 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
421 | + | |
422 | + } | |
423 | + | |
424 | + return HLLAPI_STATUS_TIMEOUT; | |
421 | 425 | } |
422 | 426 | |
423 | 427 | static int copy_str_to_ps(char *text, unsigned short *length, unsigned short *ps) |
... | ... | @@ -440,10 +444,10 @@ static int copy_str_to_ps(char *text, unsigned short *length, unsigned short *ps |
440 | 444 | * 9 A system error was encountered. |
441 | 445 | * |
442 | 446 | */ |
443 | - size_t szText = strlen(text); | |
444 | - | |
445 | - if(*length < szText) | |
446 | - szText = *length; | |
447 | + size_t szText = strlen(text); | |
448 | + | |
449 | + if(*length < szText) | |
450 | + szText = *length; | |
447 | 451 | |
448 | 452 | if(!szText) |
449 | 453 | return 2; |
... | ... | @@ -454,18 +458,18 @@ static int copy_str_to_ps(char *text, unsigned short *length, unsigned short *ps |
454 | 458 | break; |
455 | 459 | |
456 | 460 | case LIB3270_MESSAGE_DISCONNECTED: |
457 | - return HLLAPI_STATUS_DISCONNECTED; | |
458 | - | |
459 | - case LIB3270_MESSAGE_MINUS: | |
460 | - case LIB3270_MESSAGE_PROTECTED: | |
461 | - case LIB3270_MESSAGE_NUMERIC: | |
462 | - case LIB3270_MESSAGE_OVERFLOW: | |
463 | - case LIB3270_MESSAGE_INHIBIT: | |
464 | - case LIB3270_MESSAGE_KYBDLOCK: | |
461 | + return HLLAPI_STATUS_DISCONNECTED; | |
462 | + | |
463 | + case LIB3270_MESSAGE_MINUS: | |
464 | + case LIB3270_MESSAGE_PROTECTED: | |
465 | + case LIB3270_MESSAGE_NUMERIC: | |
466 | + case LIB3270_MESSAGE_OVERFLOW: | |
467 | + case LIB3270_MESSAGE_INHIBIT: | |
468 | + case LIB3270_MESSAGE_KYBDLOCK: | |
465 | 469 | return HLLAPI_STATUS_KEYBOARD_LOCKED; |
466 | 470 | |
467 | 471 | default: |
468 | - return HLLAPI_STATUS_SYSTEM_ERROR; | |
472 | + return HLLAPI_STATUS_SYSTEM_ERROR; | |
469 | 473 | } |
470 | 474 | |
471 | 475 | return hllapi_emulate_input(text,szText,0); | ... | ... |
src/plugins/hllapi/pluginmain.c
... | ... | @@ -30,13 +30,15 @@ |
30 | 30 | * Hélio Passos |
31 | 31 | * |
32 | 32 | */ |
33 | - | |
34 | - #include "server.h" #include <pw3270/plugin.h> | |
35 | - #include <pw3270/ipcpackets.h> | |
33 | + | |
34 | + #include "server.h" | |
35 | + #include <pw3270/plugin.h> | |
36 | + #include <pw3270/v3270.h> | |
37 | + #include <pw3270/ipcpackets.h> | |
36 | 38 | #include <lib3270/actions.h> |
37 | - | |
39 | + | |
38 | 40 | /*--[ Defines ]--------------------------------------------------------------------------------------*/ |
39 | - | |
41 | + | |
40 | 42 | #pragma pack(1) |
41 | 43 | |
42 | 44 | typedef struct _pipe_source |
... | ... | @@ -57,16 +59,16 @@ |
57 | 59 | } pipe_source; |
58 | 60 | |
59 | 61 | #pragma pack() |
60 | - | |
62 | + | |
61 | 63 | |
62 | 64 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ |
63 | 65 | |
64 | 66 | static const gchar control_char = '@'; |
65 | 67 | |
66 | 68 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
67 | - | |
69 | + | |
68 | 70 | static void IO_accept(pipe_source *source) |
69 | - { | |
71 | + { | |
70 | 72 | set_active(FALSE); |
71 | 73 | |
72 | 74 | if(ConnectNamedPipe(source->hPipe,&source->overlap)) |
... | ... | @@ -133,157 +135,160 @@ |
133 | 135 | |
134 | 136 | return FALSE; |
135 | 137 | } |
136 | - | |
137 | - static void send_text(pipe_source *source, char *text) | |
138 | - { | |
139 | - struct hllapi_packet_text *pkt; | |
140 | - DWORD szBlock; | |
141 | - | |
142 | - if(text) | |
143 | - { | |
144 | - szBlock = sizeof(struct hllapi_packet_text)+strlen(text); | |
145 | - pkt = g_malloc0(szBlock); | |
146 | - pkt->packet_id = 0; | |
147 | - strcpy(pkt->text,text); | |
148 | - lib3270_free(text); | |
149 | - } | |
150 | - else | |
151 | - { | |
152 | - szBlock = sizeof(struct hllapi_packet_text); | |
153 | - pkt = g_malloc0(szBlock); | |
154 | - pkt->packet_id = errno ? errno : -1; | |
155 | - } | |
156 | - | |
157 | - WriteFile(source->hPipe,pkt,szBlock,&szBlock,NULL); | |
158 | - | |
138 | + | |
139 | + static void send_text(pipe_source *source, char *text) | |
140 | + { | |
141 | + struct hllapi_packet_text *pkt; | |
142 | + DWORD szBlock; | |
143 | + | |
144 | + if(text) | |
145 | + { | |
146 | + szBlock = sizeof(struct hllapi_packet_text)+strlen(text); | |
147 | + pkt = g_malloc0(szBlock); | |
148 | + pkt->packet_id = 0; | |
149 | + strcpy(pkt->text,text); | |
150 | + lib3270_free(text); | |
151 | + } | |
152 | + else | |
153 | + { | |
154 | + szBlock = sizeof(struct hllapi_packet_text); | |
155 | + pkt = g_malloc0(szBlock); | |
156 | + pkt->packet_id = errno ? errno : -1; | |
157 | + } | |
158 | + | |
159 | + WriteFile(source->hPipe,pkt,szBlock,&szBlock,NULL); | |
160 | + | |
159 | 161 | g_free(pkt); |
160 | - } | |
161 | - | |
162 | - static void send_result(pipe_source *source, int rc) | |
163 | - { | |
164 | - struct hllapi_packet_result pkt = { rc }; | |
165 | - DWORD wrote = sizeof(pkt); | |
162 | + } | |
163 | + | |
164 | + static void send_result(pipe_source *source, int rc) | |
165 | + { | |
166 | + struct hllapi_packet_result pkt = { rc }; | |
167 | + DWORD wrote = sizeof(pkt); | |
166 | 168 | WriteFile(source->hPipe,&pkt,wrote,&wrote,NULL); |
167 | - } | |
168 | - | |
169 | + } | |
170 | + | |
169 | 171 | static void process_input(pipe_source *source, DWORD cbRead) |
170 | - { | |
171 | - | |
172 | - trace("%s id=%d",__FUNCTION__,((struct hllapi_packet_query *) source->buffer)->packet_id); | |
173 | - | |
174 | - switch(((struct hllapi_packet_query *) source->buffer)->packet_id) | |
175 | - { | |
176 | - case HLLAPI_PACKET_CONNECT: | |
177 | - send_result(source,lib3270_connect( lib3270_get_default_session_handle(), | |
178 | - ((struct hllapi_packet_connect *) source->buffer)->hostname, | |
172 | + { | |
173 | + | |
174 | + trace("%s id=%d",__FUNCTION__,((struct hllapi_packet_query *) source->buffer)->packet_id); | |
175 | + | |
176 | + switch(((struct hllapi_packet_query *) source->buffer)->packet_id) | |
177 | + { | |
178 | + case HLLAPI_PACKET_CONNECT: | |
179 | + send_result(source,lib3270_connect( lib3270_get_default_session_handle(), | |
180 | + ((struct hllapi_packet_connect *) source->buffer)->hostname, | |
179 | 181 | ((struct hllapi_packet_connect *) source->buffer)->wait)); |
180 | - break; | |
181 | - | |
182 | - case HLLAPI_PACKET_DISCONNECT: | |
183 | - send_result(source,lib3270_disconnect(lib3270_get_default_session_handle())); | |
184 | - break; | |
185 | - | |
186 | - case HLLAPI_PACKET_GET_PROGRAM_MESSAGE: | |
187 | - send_result(source,lib3270_get_program_message(lib3270_get_default_session_handle())); | |
188 | - break; | |
189 | - | |
190 | - case HLLAPI_PACKET_IS_CONNECTED: | |
191 | - send_result(source,lib3270_in_tn3270e(lib3270_get_default_session_handle())); | |
192 | - break; | |
193 | - | |
194 | - case HLLAPI_PACKET_IS_READY: | |
195 | - send_result(source,lib3270_is_ready(lib3270_get_default_session_handle())); | |
196 | - break; | |
197 | - | |
198 | - case HLLAPI_PACKET_ENTER: | |
199 | - send_result(source,lib3270_enter(lib3270_get_default_session_handle())); | |
200 | - break; | |
201 | - | |
202 | - case HLLAPI_PACKET_PRINT: | |
203 | - send_result(source,lib3270_print(lib3270_get_default_session_handle())); | |
204 | - break; | |
205 | - | |
206 | - case HLLAPI_PACKET_ERASE_EOF: | |
207 | - send_result(source,lib3270_eraseeof(lib3270_get_default_session_handle())); | |
208 | - break; | |
209 | - | |
210 | - case HLLAPI_PACKET_PFKEY: | |
211 | - send_result(source,lib3270_pfkey( lib3270_get_default_session_handle(), | |
212 | - ((struct hllapi_packet_keycode *) source->buffer)->keycode)); | |
213 | - break; | |
214 | - | |
215 | - case HLLAPI_PACKET_PAKEY: | |
216 | - send_result(source,lib3270_pakey( lib3270_get_default_session_handle(), | |
217 | - ((struct hllapi_packet_keycode *) source->buffer)->keycode)); | |
218 | - break; | |
219 | - | |
220 | - case HLLAPI_PACKET_SET_CURSOR_POSITION: | |
221 | - send_result(source,lib3270_set_cursor_position( lib3270_get_default_session_handle(), | |
222 | - ((struct hllapi_packet_cursor *) source->buffer)->row, | |
223 | - ((struct hllapi_packet_cursor *) source->buffer)->col)); | |
224 | - break; | |
225 | - | |
226 | - case HLLAPI_PACKET_SET_TEXT_AT: | |
227 | - send_result(source,lib3270_set_text_at( lib3270_get_default_session_handle(), | |
228 | - ((struct hllapi_packet_text_at *) source->buffer)->row, | |
229 | - ((struct hllapi_packet_text_at *) source->buffer)->col, | |
230 | - (unsigned char *) ((struct hllapi_packet_text_at *) source->buffer)->text)); | |
231 | - break; | |
232 | - | |
233 | - case HLLAPI_PACKET_GET_TEXT_AT: | |
234 | - send_text(source,lib3270_get_text_at( lib3270_get_default_session_handle(), | |
235 | - ((struct hllapi_packet_at *) source->buffer)->row, | |
236 | - ((struct hllapi_packet_at *) source->buffer)->col, | |
237 | - ((struct hllapi_packet_at *) source->buffer)->len)); | |
238 | - break; | |
239 | - | |
240 | - case HLLAPI_PACKET_GET_TEXT_AT_OFFSET: | |
241 | - send_text(source,lib3270_get_text( lib3270_get_default_session_handle(), | |
242 | - ((struct hllapi_packet_query_offset *) source->buffer)->addr, | |
243 | - ((struct hllapi_packet_query_offset *) source->buffer)->len)); | |
244 | - break; | |
245 | - | |
246 | - case HLLAPI_PACKET_CMP_TEXT_AT: | |
247 | - send_result(source,lib3270_cmp_text_at( lib3270_get_default_session_handle(), | |
248 | - ((struct hllapi_packet_text_at *) source->buffer)->row, | |
249 | - ((struct hllapi_packet_text_at *) source->buffer)->col, | |
250 | - ((struct hllapi_packet_text_at *) source->buffer)->text)); | |
251 | - break; | |
252 | - | |
253 | - case HLLAPI_PACKET_INPUT_STRING: | |
254 | - send_result(source,lib3270_input_string(lib3270_get_default_session_handle(), | |
255 | - (unsigned char *) ((struct hllapi_packet_text *) source->buffer)->text)); | |
256 | - break; | |
182 | + break; | |
183 | + | |
184 | + case HLLAPI_PACKET_DISCONNECT: | |
185 | + send_result(source,lib3270_disconnect(lib3270_get_default_session_handle())); | |
186 | + break; | |
187 | + | |
188 | + case HLLAPI_PACKET_GET_PROGRAM_MESSAGE: | |
189 | + send_result(source,lib3270_get_program_message(lib3270_get_default_session_handle())); | |
190 | + break; | |
191 | + | |
192 | + case HLLAPI_PACKET_IS_CONNECTED: | |
193 | + send_result(source,lib3270_in_tn3270e(lib3270_get_default_session_handle())); | |
194 | + break; | |
195 | + | |
196 | + case HLLAPI_PACKET_IS_READY: | |
197 | + send_result(source,lib3270_is_ready(lib3270_get_default_session_handle())); | |
198 | + break; | |
199 | + | |
200 | + case HLLAPI_PACKET_ENTER: | |
201 | + send_result(source,lib3270_enter(lib3270_get_default_session_handle())); | |
202 | + break; | |
203 | + | |
204 | + case HLLAPI_PACKET_PRINT: | |
205 | + send_result(source,lib3270_print(lib3270_get_default_session_handle())); | |
206 | + break; | |
207 | + | |
208 | + case HLLAPI_PACKET_ERASE_EOF: | |
209 | + send_result(source,lib3270_eraseeof(lib3270_get_default_session_handle())); | |
210 | + break; | |
211 | + | |
212 | + case HLLAPI_PACKET_PFKEY: | |
213 | + send_result(source,lib3270_pfkey( lib3270_get_default_session_handle(), | |
214 | + ((struct hllapi_packet_keycode *) source->buffer)->keycode)); | |
215 | + break; | |
216 | + | |
217 | + case HLLAPI_PACKET_PAKEY: | |
218 | + send_result(source,lib3270_pakey( lib3270_get_default_session_handle(), | |
219 | + ((struct hllapi_packet_keycode *) source->buffer)->keycode)); | |
220 | + break; | |
221 | + | |
222 | + case HLLAPI_PACKET_SET_CURSOR_POSITION: | |
223 | + send_result(source,lib3270_set_cursor_position( lib3270_get_default_session_handle(), | |
224 | + ((struct hllapi_packet_cursor *) source->buffer)->row, | |
225 | + ((struct hllapi_packet_cursor *) source->buffer)->col)); | |
226 | + break; | |
227 | + | |
228 | + case HLLAPI_PACKET_SET_TEXT_AT: | |
229 | + send_result(source,lib3270_set_text_at( lib3270_get_default_session_handle(), | |
230 | + ((struct hllapi_packet_text_at *) source->buffer)->row, | |
231 | + ((struct hllapi_packet_text_at *) source->buffer)->col, | |
232 | + (unsigned char *) ((struct hllapi_packet_text_at *) source->buffer)->text)); | |
233 | + break; | |
234 | + | |
235 | + case HLLAPI_PACKET_GET_TEXT_AT: | |
236 | + send_text(source,lib3270_get_text_at( lib3270_get_default_session_handle(), | |
237 | + ((struct hllapi_packet_at *) source->buffer)->row, | |
238 | + ((struct hllapi_packet_at *) source->buffer)->col, | |
239 | + ((struct hllapi_packet_at *) source->buffer)->len)); | |
240 | + break; | |
241 | + | |
242 | + case HLLAPI_PACKET_GET_TEXT_AT_OFFSET: | |
243 | + send_text(source,lib3270_get_text( lib3270_get_default_session_handle(), | |
244 | + ((struct hllapi_packet_query_offset *) source->buffer)->addr, | |
245 | + ((struct hllapi_packet_query_offset *) source->buffer)->len)); | |
246 | + break; | |
247 | + | |
248 | + case HLLAPI_PACKET_CMP_TEXT_AT: | |
249 | + send_result(source,lib3270_cmp_text_at( lib3270_get_default_session_handle(), | |
250 | + ((struct hllapi_packet_text_at *) source->buffer)->row, | |
251 | + ((struct hllapi_packet_text_at *) source->buffer)->col, | |
252 | + ((struct hllapi_packet_text_at *) source->buffer)->text)); | |
253 | + break; | |
254 | + | |
255 | + case HLLAPI_PACKET_INPUT_STRING: | |
256 | + send_result(source,lib3270_input_string(lib3270_get_default_session_handle(), | |
257 | + (unsigned char *) ((struct hllapi_packet_text *) source->buffer)->text)); | |
258 | + break; | |
257 | 259 | |
258 | 260 | case HLLAPI_PACKET_EMULATE_INPUT: |
259 | - send_result(source,lib3270_emulate_input(lib3270_get_default_session_handle(), | |
261 | + send_result(source,lib3270_emulate_input(lib3270_get_default_session_handle(), | |
260 | 262 | (const char *) ((struct hllapi_packet_emulate_input *) source->buffer)->text, |
261 | 263 | (int) ((struct hllapi_packet_emulate_input *) source->buffer)->len, |
262 | 264 | (int) ((struct hllapi_packet_emulate_input *) source->buffer)->pasting)); |
263 | - break; | |
265 | + break; | |
264 | 266 | |
265 | - case HLLAPI_PACKET_SET_CURSOR: | |
266 | - send_result(source,lib3270_set_cursor_address(lib3270_get_default_session_handle(), | |
267 | - ((struct hllapi_packet_addr *) source->buffer)->addr)); | |
267 | + case HLLAPI_PACKET_SET_CURSOR: | |
268 | + send_result(source,lib3270_set_cursor_address(lib3270_get_default_session_handle(), | |
269 | + ((struct hllapi_packet_addr *) source->buffer)->addr)); | |
268 | 270 | break; |
269 | 271 | |
270 | 272 | case HLLAPI_PACKET_GET_CURSOR: |
271 | - send_result(source,lib3270_get_cursor_address(lib3270_get_default_session_handle())); | |
272 | - break; | |
273 | + send_result(source,lib3270_get_cursor_address(lib3270_get_default_session_handle())); | |
274 | + break; | |
273 | 275 | |
274 | 276 | case HLLAPI_PACKET_GET_CSTATE: |
275 | - send_result(source,lib3270_get_connection_state(lib3270_get_default_session_handle())); | |
276 | - break; | |
277 | - case HLLAPI_PACKET_SET_TOGGLE: | |
278 | - send_result(source,lib3270_set_toggle(lib3270_get_default_session_handle(), | |
279 | - ((struct hllapi_packet_set *) source->buffer)->id, ((struct hllapi_packet_set *) source->buffer)->value)); break; | |
280 | - default: | |
281 | - send_result(source, EINVAL); | |
282 | - g_message("Invalid remote request (id=%d)",source->buffer[0]); | |
283 | - } | |
284 | - | |
277 | + send_result(source,lib3270_get_connection_state(lib3270_get_default_session_handle())); | |
278 | + break; | |
279 | + | |
280 | + case HLLAPI_PACKET_SET_TOGGLE: | |
281 | + send_result(source,lib3270_set_toggle(lib3270_get_default_session_handle(), | |
282 | + ((struct hllapi_packet_set *) source->buffer)->id, | |
283 | + ((struct hllapi_packet_set *) source->buffer)->value)); | |
284 | + break; | |
285 | + default: | |
286 | + send_result(source, EINVAL); | |
287 | + g_message("Invalid remote request (id=%d)",source->buffer[0]); | |
288 | + } | |
289 | + | |
285 | 290 | } |
286 | - | |
291 | + | |
287 | 292 | static void read_input_pipe(pipe_source *source) |
288 | 293 | { |
289 | 294 | DWORD cbRead = 0; |
... | ... | @@ -332,7 +337,7 @@ |
332 | 337 | } |
333 | 338 | |
334 | 339 | } |
335 | - | |
340 | + | |
336 | 341 | static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data) |
337 | 342 | { |
338 | 343 | /* |
... | ... | @@ -378,8 +383,8 @@ |
378 | 383 | ((pipe_source *) source)->state = PIPE_STATE_READ; |
379 | 384 | break; |
380 | 385 | |
381 | - case PIPE_STATE_UNDEFINED: | |
382 | - break; | |
386 | + case PIPE_STATE_UNDEFINED: | |
387 | + break; | |
383 | 388 | |
384 | 389 | //#ifdef DEBUG |
385 | 390 | // default: |
... | ... | @@ -445,12 +450,12 @@ |
445 | 450 | |
446 | 451 | for(id='A';id < 'Z';id++) |
447 | 452 | { |
448 | - gchar * pipename = g_strdup_printf("\\\\.\\pipe\\%s_%c",pw3270_get_session_name(window),id); | |
449 | - gchar * ptr; | |
453 | + gchar * pipename = g_strdup_printf("\\\\.\\pipe\\%s_%c",pw3270_get_session_name(window),id); | |
454 | + gchar * ptr; | |
450 | 455 | HANDLE hPipe; |
451 | - | |
452 | - for(ptr=pipename;*ptr;ptr++) | |
453 | - *ptr = g_ascii_tolower(*ptr); | |
456 | + | |
457 | + for(ptr=pipename;*ptr;ptr++) | |
458 | + *ptr = g_ascii_tolower(*ptr); | |
454 | 459 | |
455 | 460 | hPipe = CreateNamedPipe( TEXT(pipename), // pipe name |
456 | 461 | PIPE_ACCESS_DUPLEX | // read/write access |
... | ... | @@ -477,9 +482,9 @@ |
477 | 482 | IO_finalize, |
478 | 483 | IO_closure, |
479 | 484 | NULL |
480 | - }; | |
481 | - pipe_source * source; | |
482 | - gchar * session = g_strdup_printf("%s:%c",pw3270_get_session_name(window),id); | |
485 | + }; | |
486 | + pipe_source * source; | |
487 | + gchar * session = g_strdup_printf("%s:%c",pw3270_get_session_name(window),id); | |
483 | 488 | |
484 | 489 | pw3270_set_session_name(window,session); |
485 | 490 | g_free(session); |
... | ... | @@ -499,17 +504,18 @@ |
499 | 504 | } |
500 | 505 | |
501 | 506 | popup_lasterror( "%s", _( "Can´t create remote control pipe" )); |
502 | - | |
507 | + | |
503 | 508 | return -1; |
504 | 509 | } |
505 | 510 | |
506 | 511 | LIB3270_EXPORT int pw3270_plugin_stop(GtkWidget *window) |
507 | 512 | { |
508 | - | |
513 | + | |
509 | 514 | return 0; |
510 | 515 | } |
511 | - | |
516 | + | |
512 | 517 | G_GNUC_INTERNAL void set_active(gboolean on) |
513 | 518 | { |
519 | + trace("%s(%s)",__FUNCTION__,on ? "Active" : "Inactive"); | |
514 | 520 | v3270_set_script(v3270_get_default_widget(),'H',on); |
515 | 521 | } | ... | ... |
src/plugins/hllapi/server.h
... | ... | @@ -26,8 +26,8 @@ |
26 | 26 | * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) |
27 | 27 | * |
28 | 28 | */ |
29 | - | |
30 | - #include <lib3270/config.h> | |
29 | + | |
30 | + #include <lib3270/config.h> | |
31 | 31 | #define ENABLE_NLS |
32 | 32 | #define GETTEXT_PACKAGE PACKAGE_NAME |
33 | 33 | |
... | ... | @@ -36,14 +36,14 @@ |
36 | 36 | #include <gtk/gtk.h> |
37 | 37 | |
38 | 38 | #include <lib3270.h> |
39 | - #include <lib3270/log.h> | |
39 | + #include <lib3270/log.h> | |
40 | 40 | #include <pw3270.h> |
41 | 41 | #include <pw3270/hllapi.h> |
42 | - | |
42 | + | |
43 | 43 | #include <windows.h> |
44 | - | |
45 | - #define PIPE_BUFFER_LENGTH HLLAPI_MAXLENGTH+30 | |
46 | - | |
44 | + | |
45 | + #define PIPE_BUFFER_LENGTH HLLAPI_MAXLENGTH+30 | |
46 | + | |
47 | 47 | G_GNUC_INTERNAL void popup_lasterror(const gchar *fmt, ...); |
48 | 48 | G_GNUC_INTERNAL void set_active(gboolean on); |
49 | - | |
49 | + | ... | ... |
src/plugins/hllapi/testprogram.c
... | ... | @@ -35,43 +35,43 @@ |
35 | 35 | #define BUFFER_LENGTH 8000 |
36 | 36 | |
37 | 37 | /*---[ Implement ]--------------------------------------------------------------------------------*/ |
38 | - | |
38 | + | |
39 | 39 | int main(int numpar, char *param[]) |
40 | - { | |
41 | - const char *session = "pw3270:a"; | |
42 | - | |
43 | - printf("init(%s)=%d\n",session,(int) hllapi_init((LPSTR) session)); | |
44 | - printf("revision=%d\n",(int) hllapi_get_revision()); | |
45 | - printf("connect=%d\n",(int) hllapi_connect("fandezhi.efglobe.com:23",0)); | |
46 | - printf("wait=%d\n",(int) hllapi_wait(3)); | |
47 | - printf("connected=%s\n",(int) hllapi_is_connected() ? "Yes" : "No"); | |
48 | - | |
49 | -// printf("disconnect=%d\n",(int) hllapi_disconnect("fandezhi.efglobe.com:23",1)); | |
50 | - | |
51 | - | |
52 | - printf("deinit=%d\n",(int) hllapi_deinit()); | |
53 | - | |
54 | -/* | |
55 | - DWORD revision; | |
56 | - int rc; | |
57 | - | |
58 | - rc = hllapi_init(""); | |
59 | - if(rc) | |
60 | - { | |
61 | - printf("Init exits with rc=%d\n",rc); | |
62 | - return rc; | |
63 | - } | |
64 | - | |
65 | - if(!hllapi_get_revision(&revision)) | |
66 | - printf("Library revision is %d\n",(int) revision); | |
67 | - | |
68 | - | |
69 | - printf("Deinit exits with rc=%d\n",rc); | |
70 | - rc = hllapi_deinit(); | |
71 | -*/ | |
40 | + { | |
41 | + const char *session = "pw3270:a"; | |
42 | + | |
43 | + printf("init(%s)=%d\n",session,(int) hllapi_init((LPSTR) session)); | |
44 | + printf("revision=%d\n",(int) hllapi_get_revision()); | |
45 | + printf("connect=%d\n",(int) hllapi_connect("fandezhi.efglobe.com:23",0)); | |
46 | + printf("wait=%d\n",(int) hllapi_wait(3)); | |
47 | + printf("connected=%s\n",(int) hllapi_is_connected() ? "Yes" : "No"); | |
48 | + | |
49 | +// printf("disconnect=%d\n",(int) hllapi_disconnect("fandezhi.efglobe.com:23",1)); | |
50 | + | |
51 | + | |
52 | + printf("deinit=%d\n",(int) hllapi_deinit()); | |
53 | + | |
54 | +/* | |
55 | + DWORD revision; | |
56 | + int rc; | |
57 | + | |
58 | + rc = hllapi_init(""); | |
59 | + if(rc) | |
60 | + { | |
61 | + printf("Init exits with rc=%d\n",rc); | |
62 | + return rc; | |
63 | + } | |
64 | + | |
65 | + if(!hllapi_get_revision(&revision)) | |
66 | + printf("Library revision is %d\n",(int) revision); | |
67 | + | |
68 | + | |
69 | + printf("Deinit exits with rc=%d\n",rc); | |
70 | + rc = hllapi_deinit(); | |
71 | +*/ | |
72 | 72 | return 0; |
73 | - } | |
74 | - | |
73 | + } | |
74 | + | |
75 | 75 | /* |
76 | 76 | int main(int numpar, char *param[]) |
77 | 77 | { |
... | ... | @@ -136,4 +136,4 @@ |
136 | 136 | |
137 | 137 | return 0; |
138 | 138 | } |
139 | -*/ | |
139 | +*/ | ... | ... |
src/plugins/rx3270/local.cc
... | ... | @@ -234,18 +234,18 @@ dynamic::dynamic() |
234 | 234 | #ifdef WIN32 |
235 | 235 | static const char *dllname = "lib3270.dll." PACKAGE_VERSION; |
236 | 236 | |
237 | - int f; | |
238 | 237 | HMODULE kernel; |
239 | 238 | HANDLE cookie = NULL; |
240 | 239 | DWORD rc; |
241 | - HANDLE (*AddDllDirectory)(PCWSTR NewDirectory); | |
242 | - BOOL (*RemoveDllDirectory)(HANDLE Cookie); | |
240 | + HANDLE WINAPI (*AddDllDirectory)(PCWSTR NewDirectory); | |
241 | + BOOL WINAPI (*RemoveDllDirectory)(HANDLE Cookie); | |
243 | 242 | UINT errorMode; |
244 | 243 | char datadir[4096]; |
244 | + char buffer[4096]; | |
245 | 245 | |
246 | 246 | kernel = LoadLibrary("kernel32.dll"); |
247 | - AddDllDirectory = (HANDLE (*)(PCWSTR)) GetProcAddress(kernel,"AddDllDirectory"); | |
248 | - RemoveDllDirectory = (BOOL (*)(HANDLE)) GetProcAddress(kernel,"RemoveDllDirectory"); | |
247 | + AddDllDirectory = (HANDLE WINAPI (*)(PCWSTR)) GetProcAddress(kernel,"AddDllDirectory"); | |
248 | + RemoveDllDirectory = (BOOL WINAPI (*)(HANDLE)) GetProcAddress(kernel,"RemoveDllDirectory"); | |
249 | 249 | |
250 | 250 | // Notify user in case of error loading protocol DLL |
251 | 251 | // http://msdn.microsoft.com/en-us/library/windows/desktop/ms680621(v=vs.85).aspx |
... | ... | @@ -256,13 +256,15 @@ dynamic::dynamic() |
256 | 256 | |
257 | 257 | if(get_datadir(datadir)) |
258 | 258 | { |
259 | - char buffer[4096]; | |
260 | - wchar_t path[4096]; | |
261 | - | |
262 | - mbstowcs(path, datadir, 4095); | |
263 | 259 | trace("Datadir=[%s] AddDllDirectory=%p RemoveDllDirectory=%p\n",datadir,AddDllDirectory,RemoveDllDirectory); |
260 | + | |
264 | 261 | if(AddDllDirectory) |
262 | + { | |
263 | + wchar_t *path = (wchar_t *) malloc(4096*sizeof(wchar_t)); | |
264 | + mbstowcs(path, datadir, 4095); | |
265 | 265 | cookie = AddDllDirectory(path); |
266 | + free(path); | |
267 | + } | |
266 | 268 | |
267 | 269 | #ifdef DEBUG |
268 | 270 | snprintf(buffer,4096,"%s\\.bin\\Debug\\%s",datadir,dllname); |
... | ... | @@ -270,9 +272,10 @@ dynamic::dynamic() |
270 | 272 | snprintf(buffer,4096,"%s\\%s",datadir,dllname); |
271 | 273 | #endif // DEBUG |
272 | 274 | |
275 | + trace("Loading [%s] [%s]",buffer,datadir); | |
273 | 276 | hModule = LoadLibrary(buffer); |
274 | 277 | |
275 | - trace("%s hModule=%p rc=%d",buffer,hModule,(int) GetLastError()); | |
278 | + trace("Module=%p rc=%d",hModule,(int) GetLastError()); | |
276 | 279 | |
277 | 280 | if(hModule == NULL) |
278 | 281 | { | ... | ... |