Commit e3479ffa620100bc2f03f8da432cc1e6ba194d50

Authored by Perry Werneck
Committed by GitHub
2 parents c764cf96 0bf059d7
Exists in master and in 2 other branches develop, macos

Merge pull request #23 from PerryWerneck/develop

Updating master after testing the develop version.
README.md
... ... @@ -97,7 +97,13 @@ Windows native with MSYS2
97 97  
98 98 1. Install and update MSYS2
99 99  
100   - * Download and install msys2 from https://www.msys2.org/ (Don't forget to update the package database and core system packages using pacman -Syu)
  100 + * Download and install [msys2](https://www.msys2.org/)
  101 + * Update msys:
  102 +
  103 + ```shell
  104 + pacman -Syu
  105 + ```
  106 + Afther this close and reopen mingw shell.
101 107  
102 108 2. Update system path
103 109  
... ... @@ -106,7 +112,7 @@ Windows native with MSYS2
106 112 3. Install devel packages using pacman on mingw shell
107 113  
108 114 ```shell
109   - pacman -S --needed mingw-w64-x86_64-gcc automake autoconf make git pkg-config mingw-w64-x86_64-gettext mingw-w64-x86_64-openssl libtool
  115 + pacman -S --needed mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext mingw-w64-x86_64-openssl libtool
110 116 ```
111 117 Afther this close and reopen mingw shell.
112 118  
... ...
configure.ac
... ... @@ -519,11 +519,13 @@ AC_DEFINE(LIB3270_SDK_VERSION,$app_cv_sdkversion,[The SDK version number])
519 519 AC_SUBST(LIB3270_SDK_VERSION,$app_cv_sdkversion)
520 520  
521 521 AC_ARG_WITH([default-host], [AS_HELP_STRING([--with-default-host], [Set lib3270 default host url])],
522   - [ app_default_host="$withval"],
  522 + [ app_default_host="\"$withval\""],
523 523 [ app_default_host=""])
524 524  
525   -AC_DEFINE_UNQUOTED(LIB3270_DEFAULT_HOST, $app_default_host, ["The default tn3270 host"])
526   -AC_SUBST(LIB3270_DEFAULT_HOST,$app_default_host)
  525 +if test "$app_default_host" != ""; then
  526 + AC_DEFINE_UNQUOTED(LIB3270_DEFAULT_HOST, $app_default_host, ["The default tn3270 host"])
  527 + AC_SUBST(LIB3270_DEFAULT_HOST,$app_default_host)
  528 +fi
527 529  
528 530 AC_ARG_ENABLE([static],
529 531 [AS_HELP_STRING([--enable-static], [Enable build and install the static library])],
... ...
locale/pt_BR.po
1 1 #
2   -# Perry Werneck <perry.werneck@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020.
  2 +# Perry Werneck <perry.werneck@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020, 2021.
3 3 #
4 4 msgid ""
5 5 msgstr ""
6 6 "Project-Id-Version: pw3270 5.0\n"
7 7 "Report-Msgid-Bugs-To: \n"
8   -"POT-Creation-Date: 2021-01-06 11:33-0300\n"
9   -"PO-Revision-Date: 2020-11-04 20:42-0300\n"
  8 +"POT-Creation-Date: 2021-09-01 23:49-0300\n"
  9 +"PO-Revision-Date: 2021-09-01 23:53-0300\n"
10 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11   -"Language-Team: Português <>\n"
  11 +"Language-Team: Português <perry.werneck@gmail.com>\n"
12 12 "Language: pt_BR\n"
13 13 "MIME-Version: 1.0\n"
14 14 "Content-Type: text/plain; charset=UTF-8\n"
... ... @@ -16,63 +16,63 @@ msgstr &quot;&quot;
16 16 "X-Poedit-Language: Portuguese\n"
17 17 "X-Poedit-Country: BRAZIL\n"
18 18 "X-Poedit-SourceCharset: utf-8\n"
19   -"Plural-Forms: nplurals=2; plural=(n != 1);\n"
  19 +"Plural-Forms: nplurals=2; plural=(n > 1);\n"
20 20 "X-Generator: Gtranslator 2.91.7\n"
21 21  
22   -#: src/core/ctlr.c:187
  22 +#: src/core/ctlr.c:178
23 23 #, c-format
24 24 msgid "%dx%d is negative or zero"
25 25 msgstr "%dx%d é negativa ou zero"
26 26  
27   -#: src/core/ctlr.c:201
  27 +#: src/core/ctlr.c:190
28 28 #, c-format
29 29 msgid "%dx%d screen size is bigger than the maximum size"
30 30 msgstr "Tela %dx%d é maior que o tamanho máximo"
31 31  
32   -#: src/network_modules/tools.c:197 src/network_modules/tools.c:214
  32 +#: src/network_modules/tools.c:175 src/network_modules/tools.c:191
33 33 #, c-format
34 34 msgid "%s"
35 35 msgstr "%s"
36 36  
37   -#: src/core/keyboard/kybd.c:1925
  37 +#: src/core/keyboard/kybd.c:1758
38 38 #, c-format
39 39 msgid "%s: Bell not supported"
40 40 msgstr "%s: Alerta sonoro não suportado"
41 41  
42   -#: src/core/keyboard/kybd.c:2084
  42 +#: src/core/keyboard/kybd.c:1903
43 43 #, c-format
44 44 msgid "%s: Missing hex digits after \\x"
45 45 msgstr "%s: Faltando dígitos hexadecimais após \\x"
46 46  
47   -#: src/core/keyboard/kybd.c:2024
  47 +#: src/core/keyboard/kybd.c:1856
48 48 #, c-format
49 49 msgid "%s: Unknown character after \\p"
50 50 msgstr "%s: Caractere desconhecido depois de \\p"
51 51  
52   -#: src/core/keyboard/kybd.c:2060
  52 +#: src/core/keyboard/kybd.c:1884
53 53 #, c-format
54 54 msgid "%s: Unknown character after \\pa"
55 55 msgstr "%s: Caractere desconhecido depois de \\pa"
56 56  
57   -#: src/core/keyboard/kybd.c:2038
  57 +#: src/core/keyboard/kybd.c:1867
58 58 #, c-format
59 59 msgid "%s: Unknown character after \\pf"
60 60 msgstr "%s: Caractere desconhecido depois de \\pf"
61 61  
62   -#: src/core/keyboard/kybd.c:1976
  62 +#: src/core/keyboard/kybd.c:1809
63 63 #, c-format
64 64 msgid "%s: Vertical tab not supported"
65 65 msgstr "%s: Tabulação vertical não é suportada"
66 66  
67   -#: src/core/telnet.c:1902
  67 +#: src/core/telnet.c:1785
68 68 msgid "3270 Mode"
69 69 msgstr "Modo 3270"
70 70  
71   -#: src/core/actions/table.c:693
  71 +#: src/core/actions/table.c:678
72 72 msgid "3270-style backspace"
73 73 msgstr "Backspace no estilo 3270"
74 74  
75   -#: src/network_modules/openssl/messages.c:288
  75 +#: src/network_modules/openssl/messages.c:294
76 76 msgid ""
77 77 "A CA certificate is invalid. Either it is not a CA or its extensions are not "
78 78 "consistent with the supplied purpose."
... ... @@ -80,33 +80,33 @@ msgstr &quot;&quot;
80 80 "A CA certificate is invalid. Either it is not a CA or its extensions are not "
81 81 "consistent with the supplied purpose."
82 82  
83   -#: src/core/actions/table.c:707
  83 +#: src/core/actions/table.c:692
84 84 msgid "ATTN key, per RFC 2355. Sends IP, regardless"
85 85 msgstr "Tecla ATTN, pela RFC 2355."
86 86  
87   -#: src/core/ft/ft.c:104
  87 +#: src/core/ft/ft.c:100
88 88 msgid "Abort sent; awaiting response"
89 89 msgstr "Cancelamento enviado; aguardando resposta"
90 90  
91   -#: src/core/ft/ft.c:676
  91 +#: src/core/ft/ft.c:612
92 92 msgid "Aborting..."
93 93 msgstr "Cancelando..."
94 94  
95   -#: src/core/ft/ft.c:102
  95 +#: src/core/ft/ft.c:98
96 96 msgid "Ack received, data flowing"
97 97 msgstr "Confirmação recebida, transferindo dados"
98 98  
99   -#: src/core/paste.c:398
  99 +#: src/core/paste.c:373
100 100 msgid "Action failed"
101 101 msgstr "Ação falhou"
102 102  
103   -#: src/core/toggles/table.c:264
  103 +#: src/core/toggles/table.c:256
104 104 msgid "Alert sound"
105 105 msgstr "Aviso sonoro"
106 106  
107   -#: src/network_modules/openssl/start.c:268
  107 +#: src/network_modules/openssl/start.c:264
108 108 msgid "An EOF was observed that violates the protocol"
109   -msgstr ""
  109 +msgstr "Um EOF que viola o protocolo foi encontrado"
110 110  
111 111 #: src/core/ft/ftmessages.c:67
112 112 msgid "An error exists in the PC's file name."
... ... @@ -129,27 +129,27 @@ msgstr &quot;&quot;
129 129 msgid "An invalid SEND or RECEIVE parameter was sent to the host."
130 130 msgstr "Um parametro de ENVIO/RECEBIMENTO inválido foi enviado para o host."
131 131  
132   -#: src/core/actions/table.c:706
  132 +#: src/core/actions/table.c:691
133 133 msgid "Attn"
134 134 msgstr "Attn"
135 135  
136   -#: src/network_modules/openssl/messages.c:357
  136 +#: src/network_modules/openssl/messages.c:363
137 137 msgid "Authority and issuer serial number mismatch"
138 138 msgstr "Divergência nos números de série da autoridade e emissor "
139 139  
140   -#: src/network_modules/openssl/messages.c:347
  140 +#: src/network_modules/openssl/messages.c:353
141 141 msgid "Authority and subject key identifier mismatch"
142 142 msgstr "Authority and subject key identifier mismatch"
143 143  
144   -#: src/core/toggles/table.c:283
  144 +#: src/core/toggles/table.c:275
145 145 msgid "Auto Resize"
146 146 msgstr "Redimensionamento automático"
147 147  
148   -#: src/core/toggles/table.c:183 src/core/toggles/table.c:184
  148 +#: src/core/toggles/table.c:318 src/core/toggles/table.c:319
149 149 msgid "Auto-Reconnect"
150 150 msgstr "Reconectar automaticamente"
151 151  
152   -#: src/core/toggles/table.c:244
  152 +#: src/core/toggles/table.c:236
153 153 msgid "Automatically connect to host on startup"
154 154 msgstr "Conecta automaticamente na inicialização"
155 155  
... ... @@ -163,23 +163,27 @@ msgstr &quot;&quot;
163 163 "a character, and will automatically convert leading NULLs to blanks so that "
164 164 "input data is not squeezed to the left"
165 165  
166   -#: src/core/toggles/table.c:185
  166 +#: src/core/toggles/table.c:320
167 167 msgid "Automatically reconnect to the host if it ever disconnects"
168 168 msgstr "Reconecta automaticamente caso o servidor desconecte"
169 169  
170   -#: src/core/ft/ft.c:103
  170 +#: src/core/ft/ft.c:99
171 171 msgid "Awaiting chance to send an abort"
172 172 msgstr "Aguardando para enviar pedido de cancelamento"
173 173  
174   -#: src/core/actions/table.c:692
  174 +#: src/core/actions/table.c:677
175 175 msgid "Back space"
176 176 msgstr "Back space"
177 177  
178   -#: src/core/actions/table.c:519
  178 +#: src/core/actions/table.c:504
179 179 msgid "Backspaces the cursor until it hits the front of a word"
180 180 msgstr "Volta o cursor até que atinga o início de uma palavra"
181 181  
182   -#: src/core/toggles/table.c:265
  182 +#: src/core/windows/connect.c:123
  183 +msgid "Bad winsock version"
  184 +msgstr "Versão winsock inválida"
  185 +
  186 +#: src/core/toggles/table.c:257
183 187 msgid "Beep on errors"
184 188 msgstr "Emitir som nos erros"
185 189  
... ... @@ -187,19 +191,19 @@ msgstr &quot;Emitir som nos erros&quot;
187 191 msgid "Blank Fill"
188 192 msgstr "Completar com espaços"
189 193  
190   -#: src/core/toggles/table.c:63 src/core/toggles/table.c:64
  194 +#: src/core/toggles/table.c:62 src/core/toggles/table.c:63
191 195 msgid "Blinking Cursor"
192 196 msgstr "Cursor piscante"
193 197  
194   -#: src/core/toggles/table.c:213 src/core/toggles/table.c:214
  198 +#: src/core/toggles/table.c:205 src/core/toggles/table.c:206
195 199 msgid "Bold"
196 200 msgstr "Negrito"
197 201  
198   -#: src/core/actions/table.c:720 src/core/actions/table.c:721
  202 +#: src/core/actions/table.c:705 src/core/actions/table.c:706
199 203 msgid "Break"
200 204 msgstr "Break"
201 205  
202   -#: src/network_modules/tools.c:128
  206 +#: src/network_modules/tools.c:113
203 207 msgid "Broken pipe"
204 208 msgstr "Conexão interrompida"
205 209  
... ... @@ -223,83 +227,115 @@ msgstr &quot;Arquivo CMS não encontrado, transferência cancelada&quot;
223 227 msgid "CRL signature failure"
224 228 msgstr "Erro na assinatura CRL"
225 229  
226   -#: src/core/toggles/init.c:89 src/core/linux/connect.c:339
  230 +#: src/core/toggles/init.c:83 src/core/windows/connect.c:372
227 231 #, c-format
228 232 msgid "Can't %s network keep-alive"
229 233 msgstr "Não foi possível %s opção \"keep-alive\""
230 234  
231   -#: src/core/linux/connect.c:221 src/core/linux/connect.c:268
  235 +#: src/core/windows/ldap.c:149
  236 +msgid "Can't bind to LDAP server"
  237 +msgstr "Não foi possível conectar ao servidor LDAP"
  238 +
  239 +#: src/core/windows/connect.c:232 src/core/windows/connect.c:276
232 240 #, c-format
233 241 msgid "Can't connect to %s:%s"
234 242 msgstr "Não foi possível conectar a %s:%s"
235 243  
236   -#: src/core/linux/connect.c:170
  244 +#: src/core/windows/http.c:110
  245 +msgid "Can't connect to HTTP server."
  246 +msgstr "Não foi possível conectar ao servidor HTTP"
  247 +
  248 +#: src/core/windows/connect.c:197
237 249 msgid "Can't connect to host"
238 250 msgstr "Não foi possível conectar no host"
239 251  
  252 +#: src/core/windows/http.c:121
  253 +msgid "Can't create HTTP request."
  254 +msgstr "Não foi possível criar requisição HTTP"
  255 +
240 256 #: src/network_modules/openssl/start.c:71
241 257 msgid "Can't decode CRL data"
242 258 msgstr "Não foi possível decodificar dados do CRL"
243 259  
244   -#: src/core/linux/ldap.c:171
  260 +#: src/core/windows/ldap.c:204
245 261 msgid "Can't decode certificate revocation list"
246 262 msgstr "Não foi possível decodificar a lista de certificados revogados"
247 263  
248   -#: src/core/connect.c:176
  264 +#: src/core/connect.c:166
249 265 msgid "Can't determine the TLS/SSL state"
250 266 msgstr "Não foi possível determinar o estado TLS/SSL"
251 267  
252   -#: src/core/ft/ft.c:431
  268 +#: src/core/ft/ft.c:391
253 269 msgid "Can't get file size"
254 270 msgstr "Não foi possível obter o tamanho do arquivo"
255 271  
256   -#: src/core/linux/curl.c:181
257   -msgid "Can't initialize curl operation"
258   -msgstr "Erro ao inicializar operação CURL"
  272 +#: src/core/windows/ldap.c:133
  273 +msgid "Can't initialize LDAP"
  274 +msgstr "Erro ao inicializar LDAP"
259 275  
260   -#: src/network_modules/openssl/context.c:179
  276 +#: src/network_modules/openssl/context.c:164
261 277 msgid "Can't initialize the TLS/SSL context."
262 278 msgstr "Erro ao inicializar contexto TLS/SSL"
263 279  
264   -#: src/core/session.c:216
  280 +#: src/core/session.c:198
265 281 msgid "Can't load"
266 282 msgstr "Não foi possível carregar"
267 283  
268   -#: src/core/session.c:202
  284 +#: src/core/windows/http.c:99
  285 +msgid "Can't open HTTP session"
  286 +msgstr "Não foi possível abrir sessão HTTP"
  287 +
  288 +#: src/core/session.c:186
269 289 msgid "Can't print"
270 290 msgstr "Não é possível imprimir"
271 291  
272   -#: src/core/session.c:209
  292 +#: src/core/windows/http.c:173
  293 +msgid "Can't read HTTP response size."
  294 +msgstr "Não posso obter tamanho da resposta HTTP"
  295 +
  296 +#: src/core/session.c:192
273 297 msgid "Can't save"
274 298 msgstr "Não é possível salvar"
275 299  
276   -#: src/network_modules/tools.c:213
  300 +#: src/core/windows/http.c:134
  301 +msgid "Can't send HTTP request."
  302 +msgstr "Não posso enviar requisição HTTP"
  303 +
  304 +#: src/core/windows/ldap.c:141
  305 +msgid "Can't set LDAP protocol version"
  306 +msgstr "Não é possível setar a versão do protocolo LDAP"
  307 +
  308 +#: src/network_modules/tools.c:190
277 309 msgid "Can't set socket to blocking mode."
278 310 msgstr "Não foi possível mudar o socket para o modo blocante."
279 311  
280   -#: src/network_modules/tools.c:213
  312 +#: src/network_modules/tools.c:190
281 313 msgid "Can't set socket to non blocking mode"
282 314 msgstr "Não foi possível setar o socket para o modo não blocante."
283 315  
284   -#: src/core/ft/ft.c:208
  316 +#: src/core/ft/ft.c:192
285 317 msgid "Can't start file transfer."
286 318 msgstr "Não foi possível iniciar transferência de arquivo."
287 319  
288   -#: src/core/ft/ft.c:160
  320 +#: src/core/windows/connect.c:124
  321 +msgid "Can't use this system winsock"
  322 +msgstr "Não posso usar a winsock do sistema"
  323 +
  324 +#: src/core/ft/ft.c:151
289 325 msgid "Cancelled by user"
290 326 msgstr "Cancelado pelo usuário"
291 327  
292   -#: src/core/telnet.c:982
  328 +#: src/core/telnet.c:928
293 329 msgid "Cannot connect to specified LU"
294 330 msgstr "Não foi possível conectar na LU pedida"
295 331  
296   -#: src/network_modules/openssl/start.c:215
  332 +#: src/network_modules/openssl/start.c:213
297 333 msgid "Cant create a new SSL structure for current connection."
298 334 msgstr ""
299 335 "Não foi possível criar uma nova estrutura de controle SSL para a conexão "
300 336 "atual."
301 337  
302   -#: src/network_modules/openssl/start.c:233
  338 +#: src/network_modules/openssl/start.c:230
303 339 msgid ""
304 340 "Cant set the file descriptor for the input/output facility for the TLS/SSL "
305 341 "(encrypted) side of ssl."
... ... @@ -315,15 +351,15 @@ msgstr &quot;O certificado expirou&quot;
315 351 msgid "Certificate is not yet valid"
316 352 msgstr "O certificado ainda não é válido"
317 353  
318   -#: src/network_modules/openssl/messages.c:317
  354 +#: src/network_modules/openssl/messages.c:323
319 355 msgid "Certificate not trusted"
320 356 msgstr "O certificado não é confiável"
321 357  
322   -#: src/network_modules/openssl/messages.c:327
  358 +#: src/network_modules/openssl/messages.c:333
323 359 msgid "Certificate rejected"
324 360 msgstr "Certificado rejeitado"
325 361  
326   -#: src/network_modules/openssl/messages.c:277
  362 +#: src/network_modules/openssl/messages.c:283
327 363 msgid "Certificate revoked"
328 364 msgstr "Certificado revogado"
329 365  
... ... @@ -331,23 +367,23 @@ msgstr &quot;Certificado revogado&quot;
331 367 msgid "Certificate signature failure"
332 368 msgstr "Falha na assinatura do certificado"
333 369  
334   -#: src/core/toggles/table.c:285
  370 +#: src/core/toggles/table.c:277
335 371 msgid "Change screen size on alternative screen"
336 372 msgstr "Mudar tamanho do terminal em tela alternativa"
337 373  
338   -#: src/core/telnet.c:1907
  374 +#: src/core/telnet.c:1790
339 375 msgid "Charset"
340 376 msgstr "Tabela de caracteres"
341 377  
342   -#: src/core/actions/table.c:780
  378 +#: src/core/actions/table.c:765
343 379 msgid "Charset table"
344 380 msgstr "Tabela de caracteres"
345 381  
346   -#: src/core/actions/table.c:603
  382 +#: src/core/actions/table.c:588
347 383 msgid "Clear"
348 384 msgstr "Limpar"
349 385  
350   -#: src/core/actions/table.c:604
  386 +#: src/core/actions/table.c:589
351 387 msgid "Clear AID key"
352 388 msgstr "Clear AID"
353 389  
... ... @@ -355,213 +391,214 @@ msgstr &quot;Clear AID&quot;
355 391 msgid "Command incomplete: file transfer canceled"
356 392 msgstr "Comando incompleto, transferência cancelada"
357 393  
358   -#: src/core/telnet.c:1901
  394 +#: src/core/telnet.c:1784
359 395 msgid "Connect"
360 396 msgstr "Conectar"
361 397  
362   -#: src/core/toggles/table.c:243
  398 +#: src/core/toggles/table.c:235
363 399 msgid "Connect on startup"
364 400 msgstr "Conectar ao iniciar"
365 401  
366   -#: src/core/telnet.c:1879
  402 +#: src/core/telnet.c:1764
367 403 msgid "Connected initial"
368 404 msgstr "Connected initial"
369 405  
370   -#: src/core/telnet.c:1899
  406 +#: src/core/telnet.c:1782
371 407 msgid "Connecting"
372 408 msgstr "Conectando"
373 409  
374   -#: src/core/linux/connect.c:325 src/core/linux/connect.c:343
375   -#: src/network_modules/tools.c:181
  410 +#: src/core/windows/connect.c:358 src/core/windows/connect.c:376
  411 +#: src/network_modules/tools.c:160
376 412 msgid "Connection error"
377 413 msgstr "Erro de conexão"
378 414  
379   -#: src/network_modules/openssl/start.c:250
  415 +#: src/network_modules/openssl/start.c:246
380 416 msgid "Connection failed"
381 417 msgstr "Conexão falhou"
382 418  
383   -#: src/network_modules/tools.c:139
  419 +#: src/network_modules/tools.c:122
384 420 msgid "Connection reset by peer"
385 421 msgstr "Conexão foi cancelada pelo servidor"
386 422  
387   -#: src/core/properties/signed.c:59
  423 +#: src/core/properties/signed.c:55
388 424 msgid "Connection state"
389 425 msgstr "Estado da conexão"
390 426  
391 427 #: src/network_modules/openssl/messages.c:78
392   -#: src/network_modules/openssl/messages.c:246
  428 +#: src/network_modules/openssl/messages.c:237
  429 +#: src/network_modules/openssl/messages.c:252
393 430 msgid "Continue"
394 431 msgstr "Continuar"
395 432  
396   -#: src/core/toggles/table.c:163 src/core/toggles/table.c:164
  433 +#: src/core/toggles/table.c:165 src/core/toggles/table.c:166
397 434 msgid "Cross hair cursor"
398 435 msgstr "Cursor mira"
399 436  
400   -#: src/core/properties/unsigned.c:114
  437 +#: src/core/properties/unsigned.c:117
401 438 msgid "Current screen height in rows"
402 439 msgstr "Altura atual da tela em linhas"
403 440  
404   -#: src/core/properties/unsigned.c:107
  441 +#: src/core/properties/unsigned.c:110
405 442 msgid "Current screen width in columns"
406 443 msgstr "Largura atua da tela em colunas"
407 444  
408   -#: src/core/properties/signed.c:67
  445 +#: src/core/properties/signed.c:63
409 446 msgid "Cursor address"
410 447 msgstr "Endereço do cursor"
411 448  
412   -#: src/core/actions/table.c:173
  449 +#: src/core/actions/table.c:158
413 450 msgid "Cursor down 1 position"
414 451 msgstr "Move cursor uma posição para baixo"
415 452  
416   -#: src/core/actions/table.c:187
  453 +#: src/core/actions/table.c:172
417 454 msgid "Cursor left 1 position"
418 455 msgstr "Move o cursor 1 posição para a esquerda"
419 456  
420   -#: src/core/actions/table.c:201
  457 +#: src/core/actions/table.c:186
421 458 msgid "Cursor right 1 position"
422 459 msgstr "Move o cursor uma posição para a direita"
423 460  
424   -#: src/core/actions/table.c:215
  461 +#: src/core/actions/table.c:200
425 462 msgid "Cursor to first field on next line or any lines after that"
426 463 msgstr ""
427 464 "Move o cursor para o primeiro campo da próxima linha ou qualquer linhas "
428 465 "depois dela"
429 466  
430   -#: src/core/actions/table.c:243
  467 +#: src/core/actions/table.c:228
431 468 msgid "Cursor to next unprotected word"
432 469 msgstr "Move o cursor para a próxima palavra desprotegida"
433 470  
434   -#: src/core/actions/table.c:229
  471 +#: src/core/actions/table.c:214
435 472 msgid "Cursor to previous word"
436 473 msgstr "Move o cursor para a palavra anterior"
437 474  
438   -#: src/core/actions/table.c:159
  475 +#: src/core/actions/table.c:144
439 476 msgid "Cursor up 1 position"
440 477 msgstr "Cursor para cima 1 posição"
441 478  
442   -#: src/core/actions/table.c:665
  479 +#: src/core/actions/table.c:650
443 480 msgid "DUP key"
444 481 msgstr "Tecla \"DUP\""
445 482  
446   -#: src/core/ft/ft_cut.c:157 src/core/ft/ft_cut.c:166
  483 +#: src/core/ft/ft_cut.c:163 src/core/ft/ft_cut.c:171
447 484 msgid "Data conversion error"
448 485 msgstr "Erro na conversão de dados"
449 486  
450   -#: src/core/properties/string.c:163
  487 +#: src/core/properties/string.c:159
451 488 msgid "Default host URL"
452 489 msgstr "URL parão para acesso ao host"
453 490  
454   -#: src/core/actions/table.c:650 src/core/actions/table.c:651
  491 +#: src/core/actions/table.c:635 src/core/actions/table.c:636
455 492 msgid "Delete"
456 493 msgstr "Apagar"
457 494  
458   -#: src/core/actions/table.c:532 src/core/actions/table.c:533
  495 +#: src/core/actions/table.c:517 src/core/actions/table.c:518
459 496 msgid "Delete field"
460 497 msgstr "Apagar campo"
461 498  
462   -#: src/core/actions/table.c:518
  499 +#: src/core/actions/table.c:503
463 500 msgid "Delete word"
464 501 msgstr "Apaga palavra"
465 502  
466   -#: src/core/properties/string.c:177
  503 +#: src/core/properties/string.c:173
467 504 msgid "Description of the current security state"
468 505 msgstr "Descrição do estado de segurança atual"
469 506  
470   -#: src/core/telnet.c:1244
  507 +#: src/core/telnet.c:1175
471 508 msgid "Device type rejected"
472 509 msgstr "Tipo de dispositivo rejeitado"
473 510  
474   -#: src/core/actions/table.c:142
  511 +#: src/core/actions/table.c:127
475 512 msgid "Disconnect from host"
476 513 msgstr "Desconecta do servidor"
477 514  
478   -#: src/core/ft/ft.c:266 src/network_modules/openssl/main.c:102
479   -#: src/network_modules/openssl/main.c:153
  515 +#: src/core/ft/ft.c:244 src/network_modules/openssl/main.c:99
  516 +#: src/network_modules/openssl/main.c:147
480 517 msgid "Disconnected from host."
481 518 msgstr "Desconectado do servidor."
482 519  
483   -#: src/core/properties/string.c:124
  520 +#: src/core/properties/string.c:120
484 521 msgid "Display charset"
485 522 msgstr "Tabela de caracteres para a tela"
486 523  
487   -#: src/core/toggles/table.c:85
  524 +#: src/core/toggles/table.c:84
488 525 msgid "Display the cursor location in the OIA (the status line)"
489 526 msgstr "Mostra posição do cursor na lista de informações ao operador"
490 527  
491   -#: src/core/actions/table.c:172
  528 +#: src/core/actions/table.c:157
492 529 msgid "Down"
493 530 msgstr "Descer"
494 531  
495   -#: src/core/actions/table.c:664
  532 +#: src/core/actions/table.c:649
496 533 msgid "Dup"
497 534 msgstr "Dup"
498 535  
499   -#: src/core/telnet.c:777
  536 +#: src/core/telnet.c:728
500 537 msgid "EOR received when not in 3270 mode, ignored."
501 538 msgstr "EOR recebido fora do modo 3270, ignorado."
502 539  
503   -#: src/core/toggles/table.c:305
  540 +#: src/core/windows/http.c:157
  541 +msgid "Empty response from HTTP server."
  542 +msgstr "Recebi resposta vazia do servidor HTTP"
  543 +
  544 +#: src/core/toggles/table.c:298
504 545 msgid "Enable network in/out trace"
505 546 msgstr "Habilitar trace de entrada/saída de rede"
506 547  
507   -#: src/core/toggles/table.c:295
  548 +#: src/core/toggles/table.c:287
508 549 msgid "Enable network keep-alive with SO_KEEPALIVE"
509 550 msgstr "Enable network keep-alive with SO_KEEPALIVE"
510 551  
511   -#: src/core/toggles/table.c:315
  552 +#: src/core/toggles/table.c:309
512 553 msgid "Enable security negotiation trace"
513 554 msgstr "Habilita trace da negociação de segurança"
514 555  
515   -#: src/core/toggles/table.c:294
  556 +#: src/core/toggles/table.c:286
516 557 msgid "Enable use of network keep alive"
517 558 msgstr "Habilita opção \"keep-alive\""
518 559  
519   -#: src/core/actions/table.c:620
  560 +#: src/core/actions/table.c:605
520 561 msgid "Enter"
521 562 msgstr "Enter"
522 563  
523   -#: src/core/actions/table.c:589 src/core/actions/table.c:590
  564 +#: src/core/actions/table.c:574 src/core/actions/table.c:575
524 565 msgid "Erase"
525 566 msgstr "Apagar"
526 567  
527   -#: src/core/actions/table.c:561
  568 +#: src/core/actions/table.c:546
528 569 msgid "Erase EOF"
529 570 msgstr "Erase EOF"
530 571  
531   -#: src/core/actions/table.c:575
  572 +#: src/core/actions/table.c:560
532 573 msgid "Erase EOL"
533 574 msgstr "Erase EOL"
534 575  
535   -#: src/core/actions/table.c:562
  576 +#: src/core/actions/table.c:547
536 577 msgid "Erase End Of Field"
537 578 msgstr "Apaga até o final do campo"
538 579  
539   -#: src/core/actions/table.c:576
  580 +#: src/core/actions/table.c:561
540 581 msgid "Erase End Of Line"
541 582 msgstr "Apaga até o final da linha"
542 583  
543   -#: src/core/actions/table.c:548
  584 +#: src/core/actions/table.c:533
544 585 msgid "Erase all unprotected fields"
545 586 msgstr "Apagar todos os campos desprotegidos"
546 587  
547   -#: src/core/actions/table.c:547
  588 +#: src/core/actions/table.c:532
548 589 msgid "Erase input"
549 590 msgstr "Apagar campos"
550 591  
551   -#: src/network_modules/tools.c:112
  592 +#: src/network_modules/tools.c:100
552 593 msgid "Erro sending data to host"
553 594 msgstr "Erro ao enviar dados para o servidor"
554 595  
555   -#: src/core/util.c:270
556   -msgid "Error"
557   -msgstr "Erro"
558   -
559   -#: src/core/ft/ft_dft.c:454 src/core/ft/ft_cut.c:423
  596 +#: src/core/ft/ft_dft.c:413 src/core/ft/ft_cut.c:408
560 597 #, c-format
561 598 msgid "Error \"%s\" reading from local file (rc=%d)"
562 599 msgstr "Erro \"%s\" lendo arquivo local (rc=%d)"
563 600  
564   -#: src/core/ft/ft_dft.c:332 src/core/ft/ft_cut.c:528
  601 +#: src/core/ft/ft_dft.c:306 src/core/ft/ft_cut.c:504
565 602 #, c-format
566 603 msgid "Error \"%s\" writing to local file (rc=%d)"
567 604 msgstr "Erro \"%s\" gravando arquivo local (rc=%d)"
... ... @@ -574,11 +611,15 @@ msgstr &quot;Erro na transferência do arquivo, transferência cancelada&quot;
574 611 msgid "Error reading file from host: file transfer canceled"
575 612 msgstr "Erro ao ler arquivo do host: Transferência cancelada"
576 613  
577   -#: src/network_modules/openssl/main.c:176
  614 +#: src/network_modules/openssl/main.c:169
578 615 msgid "Error reading from host"
579 616 msgstr "Erro lendo do servidor"
580 617  
581   -#: src/network_modules/tools.c:65 src/network_modules/tools.c:90
  618 +#: src/core/windows/http.c:145
  619 +msgid "Error receiving HTTP response."
  620 +msgstr "Erro recebendo resposta HTTP."
  621 +
  622 +#: src/network_modules/tools.c:66 src/network_modules/tools.c:82
582 623 msgid "Error receiving data from host"
583 624 msgstr "Erro recebendo dados do servidor"
584 625  
... ... @@ -590,23 +631,23 @@ msgstr &quot;Erro ao ler ou gravar no host: Transferência cancelada&quot;
590 631 msgid "Error writing file to host: file transfer canceled"
591 632 msgstr "Erro ao gravar arquivo no host, transferência cancelada"
592 633  
593   -#: src/network_modules/openssl/main.c:125
594   -msgid "Error writing to host"
595   -msgstr "Erro enviando dados para o servidor"
  634 +#: src/network_modules/openssl/main.c:122
  635 +msgid "Error writing to host."
  636 +msgstr "Erro enviando para o servidor"
596 637  
597   -#: src/core/telnet.c:1906
  638 +#: src/core/telnet.c:1789
598 639 msgid "Exiting"
599 640 msgstr "Saindo"
600 641  
601   -#: src/core/actions/table.c:678
  642 +#: src/core/actions/table.c:663
602 643 msgid "FM key"
603 644 msgstr "Tecla \"FM\""
604 645  
605   -#: src/core/actions/table.c:679
  646 +#: src/core/actions/table.c:664
606 647 msgid "Field Mark"
607 648 msgstr "Field Mark"
608 649  
609   -#: src/core/actions/table.c:458
  650 +#: src/core/actions/table.c:443
610 651 msgid "Field end"
611 652 msgstr "Final do campo"
612 653  
... ... @@ -618,11 +659,11 @@ msgstr &quot;Transferência completa&quot;
618 659 msgid "File transfer complete with records segmented"
619 660 msgstr "Transferência completa com registros segmentados"
620 661  
621   -#: src/core/ft/ft.c:271
  662 +#: src/core/ft/ft.c:247
622 663 msgid "File transfer is already active in this session."
623 664 msgstr "Transferência de arquivos já está ativa nesta sessão."
624 665  
625   -#: src/core/actions/table.c:472
  666 +#: src/core/actions/table.c:457
626 667 msgid "First field"
627 668 msgstr "Primeiro campo"
628 669  
... ... @@ -642,31 +683,31 @@ msgstr &quot;Erro de formato no campo \&quot;notAfter\&quot; do certificado&quot;
642 683 msgid "Format error in certificate's notBefore field"
643 684 msgstr "Erro de formato no campo \"notBefore\" do certificado"
644 685  
645   -#: src/core/properties/boolean.c:181
  686 +#: src/core/properties/boolean.c:177
646 687 msgid "Formatted screen"
647 688 msgstr "Tela formatada"
648 689  
649   -#: src/core/toggles/table.c:173 src/core/toggles/table.c:174
  690 +#: src/core/toggles/table.c:175 src/core/toggles/table.c:176
650 691 msgid "Full Screen"
651 692 msgstr "Tela cheia"
652 693  
653   -#: src/core/telnet.c:1900
  694 +#: src/core/telnet.c:1783
654 695 msgid "Half connect"
655 696 msgstr "Half connect"
656 697  
657   -#: src/core/properties/boolean.c:160
  698 +#: src/core/properties/boolean.c:156
658 699 msgid "Has selected area"
659 700 msgstr "Tem área selecionada"
660 701  
661   -#: src/core/properties/string.c:117
  702 +#: src/core/properties/string.c:113
662 703 msgid "Host charset"
663 704 msgstr "Página de código do host"
664 705  
665   -#: src/core/ft/ft.c:685
  706 +#: src/core/ft/ft.c:620
666 707 msgid "Host disconnected, transfer cancelled"
667 708 msgstr "Servidor desconectou, transferência cancelada"
668 709  
669   -#: src/core/telnet.c:1302
  710 +#: src/core/telnet.c:1233
670 711 msgid "Host illegally added function(s)"
671 712 msgstr "Host illegally added function(s)"
672 713  
... ... @@ -674,35 +715,35 @@ msgstr &quot;Host illegally added function(s)&quot;
674 715 msgid "Host program error code xxxxxxxxxx: file transfer canceled"
675 716 msgstr "Erro código xxxxxxxxxx no aplicativo do host: Transferência cancelada"
676 717  
677   -#: src/core/telnet.c:1227
  718 +#: src/core/telnet.c:1163
678 719 msgid "Host rejected device type or request type"
679 720 msgstr "Servidor rejeitou o tipo de dispositivo ou requisição"
680 721  
681   -#: src/core/telnet.c:1240
  722 +#: src/core/telnet.c:1173
682 723 msgid "Host rejected resource(s)"
683 724 msgstr "Servidor rejeitou recurso(s)"
684 725  
685   -#: src/core/properties/string.c:94
  726 +#: src/core/properties/string.c:90
686 727 msgid "Host type name"
687 728 msgstr "Nome do tipo de host"
688 729  
689   -#: src/core/properties/unsigned.c:87
  730 +#: src/core/properties/unsigned.c:90
690 731 msgid "Host type number"
691 732 msgstr "Numero do tipo de host"
692 733  
693   -#: src/core/options.c:49
  734 +#: src/core/options.c:48
694 735 msgid "IBM AS/400"
695 736 msgstr "IBM AS/400"
696 737  
697   -#: src/core/options.c:43
  738 +#: src/core/options.c:42
698 739 msgid "IBM S/390"
699 740 msgstr "IBM S/390"
700 741  
701   -#: src/core/properties/signed.c:81
  742 +#: src/core/properties/signed.c:77
702 743 msgid "ID of the session security state"
703 744 msgstr "Identificação do estado de segurança da sessão"
704 745  
705   -#: src/core/toggles/table.c:205
  746 +#: src/core/toggles/table.c:197
706 747 msgid ""
707 748 "If set the characters pasted over protected areas will be skipped to avoid "
708 749 "locks"
... ... @@ -710,15 +751,15 @@ msgstr &quot;&quot;
710 751 "Se ativo caracters colados sobre áreas protegidas serão ignorados para "
711 752 "evitar o bloqueio do terminal"
712 753  
713   -#: src/core/toggles/table.c:225
  754 +#: src/core/toggles/table.c:217
714 755 msgid "If set the selection will not be removed on screen changes"
715 756 msgstr "Se ativo a seleção não será removida quando a tela mudar"
716 757  
717   -#: src/core/toggles/table.c:175
  758 +#: src/core/toggles/table.c:177
718 759 msgid "If set, asks to place the toplevel window in the fullscreen state"
719 760 msgstr "Se ativo pede para colocar a janela principal em modo de tela cheia"
720 761  
721   -#: src/core/toggles/table.c:145
  762 +#: src/core/toggles/table.c:147
722 763 msgid ""
723 764 "If set, puts restrictions on how pasted text is placed on the screen. The "
724 765 "position of the cursor at the time the paste operation is begun is used as a "
... ... @@ -740,15 +781,15 @@ msgstr &quot;&quot;
740 781 "Se ativo o emulador de terminal assume automaticamente uma quebra de linha "
741 782 "quando chega ao final de uma linha"
742 783  
743   -#: src/core/toggles/table.c:65
  784 +#: src/core/toggles/table.c:64
744 785 msgid "If set, the cursor blinks"
745 786 msgstr "Se ativo o cursor pisca"
746 787  
747   -#: src/core/toggles/table.c:54
  788 +#: src/core/toggles/table.c:53
748 789 msgid "If set, the terminal operates in uppercase-only mode"
749 790 msgstr "Se ativo o terminal opera apenas com caracteres maiúsculos"
750 791  
751   -#: src/core/toggles/table.c:155
  792 +#: src/core/toggles/table.c:157
752 793 msgid ""
753 794 "If set, the terminal will always select rectangular areas of the screen. "
754 795 "Otherwise, it selects continuous regions of the screen"
... ... @@ -756,7 +797,7 @@ msgstr &quot;&quot;
756 797 "Se ativo o terminal sempre selecionará áreas retangulares, se inativo "
757 798 "selecionará áreas contínuas da tela"
758 799  
759   -#: src/core/toggles/table.c:165
  800 +#: src/core/toggles/table.c:167
760 801 msgid ""
761 802 "If set, the terminal will display a crosshair over the cursor: lines "
762 803 "extending the full width and height of the screen, centered over the cursor "
... ... @@ -766,7 +807,7 @@ msgstr &quot;&quot;
766 807 "extending the full width and height of the screen, centered over the cursor "
767 808 "position. This makes locating the cursor on the screen much easier"
768 809  
769   -#: src/core/toggles/table.c:75
  810 +#: src/core/toggles/table.c:74
770 811 msgid ""
771 812 "If set, the time taken by the host to process an AID is displayed on the "
772 813 "status line"
... ... @@ -774,7 +815,7 @@ msgstr &quot;&quot;
774 815 "If set, the time taken by the host to process an AID is displayed on the "
775 816 "status line"
776 817  
777   -#: src/core/ft/ft_cut.c:505
  818 +#: src/core/ft/ft_cut.c:484
778 819 msgid "Illegal frame length"
779 820 msgstr "Comprimento de frame inválido"
780 821  
... ... @@ -786,16 +827,11 @@ msgstr &quot;Opção incorreta, transferência cancelada&quot;
786 827 msgid "Incorrect request code: file transfer canceled"
787 828 msgstr "Código de requisição incorreto, transferência cancelada"
788 829  
789   -#: src/core/toggles/table.c:193
  830 +#: src/core/toggles/table.c:185
790 831 msgid "Insert"
791 832 msgstr "Inserção"
792 833  
793   -#: src/core/util.c:63 src/core/util.c:73 src/core/util.c:85 src/core/util.c:180
794   -#: src/core/util.c:196 src/core/util.c:208 src/core/util.c:223
795   -msgid "Internal error"
796   -msgstr "Erro interno"
797   -
798   -#: src/network_modules/openssl/messages.c:287
  834 +#: src/network_modules/openssl/messages.c:293
799 835 msgid "Invalid CA certificate"
800 836 msgstr "Certificado CA inválido"
801 837  
... ... @@ -819,160 +855,158 @@ msgstr &quot;Opção xxxxxxxx inválida sem SPACE: Transferência cancelada&quot;
819 855 msgid "Invalid option xxxxxxxx: file transfer canceled"
820 856 msgstr "Opção xxxxxxxx inválida: Transferência cancelada"
821 857  
822   -#: src/core/ctlr.c:185 src/core/ctlr.c:199 src/core/ctlr.c:214
823   -#: src/core/ctlr.c:228
  858 +#: src/core/ctlr.c:176 src/core/ctlr.c:188 src/core/ctlr.c:201
  859 +#: src/core/ctlr.c:213
824 860 msgid "Invalid oversize"
825 861 msgstr "Valor inválido para 'oversize'"
826 862  
827   -#: src/core/properties/boolean.c:81
  863 +#: src/core/properties/boolean.c:77
828 864 msgid "Is connection secure"
829 865 msgstr "A conexão é segura ?"
830 866  
831   -#: src/core/properties/boolean.c:174
  867 +#: src/core/properties/boolean.c:170
832 868 msgid "Is starting (no first screen)?"
833 869 msgstr "Está iniciando (não recebeu a primeira tela)?"
834 870  
835   -#: src/core/properties/boolean.c:74
  871 +#: src/core/properties/boolean.c:70
836 872 msgid "Is terminal connected"
837 873 msgstr "O terminal está conectado"
838 874  
839   -#: src/core/properties/boolean.c:153
  875 +#: src/core/properties/boolean.c:149
840 876 msgid "Is terminal in the INITIAL_E state?"
841 877 msgstr "O terminal está no estad INITIAL_E?"
842 878  
843   -#: src/core/properties/boolean.c:67
  879 +#: src/core/properties/boolean.c:63
844 880 msgid "Is terminal ready"
845 881 msgstr "O terminal está pronto"
846 882  
847   -#: src/core/toggles/table.c:223 src/core/toggles/table.c:224
  883 +#: src/core/toggles/table.c:215 src/core/toggles/table.c:216
848 884 msgid "Keep selected"
849 885 msgstr "Manter selecionado"
850 886  
851   -#: src/network_modules/openssl/messages.c:367
  887 +#: src/network_modules/openssl/messages.c:373
852 888 msgid "Key usage does not include certificate signing"
853 889 msgstr "Uso da chave não permite assinatura de certificados"
854 890  
855   -#: src/core/paste.c:400
  891 +#: src/core/paste.c:375
856 892 msgid "Keyboard is locked"
857 893 msgstr "Teclado está bloqueado"
858 894  
859   -#: src/core/properties/unsigned.c:158
  895 +#: src/core/properties/unsigned.c:169
860 896 msgid "Keyboard lock status"
861 897 msgstr "Estado de bloqueio do teclado"
862 898  
863   -#: src/core/linux/ldap.c:151
864   -#, fuzzy
865   -msgid "LDAP search did not produce any attributes."
866   -msgstr "Pesquisa LDAP não produziu nenhum atributo."
  899 +#: src/core/windows/ldap.c:179
  900 +msgid "LDAP Search did not produce any attributes."
  901 +msgstr "Pesquisa LDAP não produziu atributos."
867 902  
868   -#: src/core/linux/ldap.c:161
869   -#, fuzzy
870   -msgid "LDAP search did not produce any values."
871   -msgstr "Pesquisa LDAP não produziu nenhum valor."
  903 +#: src/core/windows/ldap.c:186
  904 +msgid "LDAPSearch did not produce any values."
  905 +msgstr "Pesquisa LDAP não produziu valores."
872 906  
873   -#: src/core/properties/signed.c:74
  907 +#: src/core/properties/signed.c:70
874 908 msgid "Latest program message"
875 909 msgstr "Última mensagem de programa"
876 910  
877   -#: src/core/actions/table.c:186
  911 +#: src/core/actions/table.c:171
878 912 msgid "Left"
879 913 msgstr "Esquerda"
880 914  
881   -#: src/core/telnet.c:1903
  915 +#: src/core/telnet.c:1786
882 916 msgid "Line mode"
883 917 msgstr "Line mode"
884 918  
885   -#: src/core/properties/boolean.c:188
  919 +#: src/core/properties/boolean.c:184
886 920 msgid "Lock keyboard on operator error"
887 921 msgstr "Bloqueia teclado em caso de erro do operador"
888 922  
889   -#: src/core/toggles/table.c:143
  923 +#: src/core/toggles/table.c:145
890 924 msgid "Margined paste"
891 925 msgstr "Colar com margem"
892 926  
893   -#: src/core/properties/unsigned.c:128
  927 +#: src/core/properties/unsigned.c:131
894 928 msgid "Maximum screen height in rows"
895 929 msgstr "Altura máxima da tela em linhas"
896 930  
897   -#: src/core/properties/unsigned.c:121
  931 +#: src/core/properties/unsigned.c:124
898 932 msgid "Maximum screen width in columns"
899 933 msgstr "Largura maxima da tela em colunas"
900 934  
901   -#: src/core/properties/string.c:86
  935 +#: src/core/properties/string.c:82
902 936 msgid "Model name"
903 937 msgstr "Nome do modelo"
904 938  
905   -#: src/core/toggles/table.c:52
  939 +#: src/core/toggles/table.c:51
906 940 msgid "Monocase"
907 941 msgstr "Só Maiúsculas"
908 942  
909   -#: src/core/actions/table.c:344
  943 +#: src/core/actions/table.c:329
910 944 msgid "Move cursor down and select"
911 945 msgstr "Move cursor para baixo selecionando"
912 946  
913   -#: src/core/actions/table.c:358
  947 +#: src/core/actions/table.c:343
914 948 msgid "Move cursor left and select"
915 949 msgstr "Move cursor para a esquerda selecionando"
916 950  
917   -#: src/core/actions/table.c:372
  951 +#: src/core/actions/table.c:357
918 952 msgid "Move cursor rigth and select"
919 953 msgstr "Move cursor para a direita selecionando"
920 954  
921   -#: src/core/actions/table.c:330
  955 +#: src/core/actions/table.c:315
922 956 msgid "Move cursor up and select"
923 957 msgstr "Move cursor para cima selecionando"
924 958  
925   -#: src/core/actions/table.c:400
  959 +#: src/core/actions/table.c:385
926 960 msgid "Move selection down"
927 961 msgstr "Move seleção para baixo"
928 962  
929   -#: src/core/actions/table.c:414
  963 +#: src/core/actions/table.c:399
930 964 msgid "Move selection left"
931 965 msgstr "Move seleção para a esquerda"
932 966  
933   -#: src/core/actions/table.c:428
  967 +#: src/core/actions/table.c:413
934 968 msgid "Move selection right"
935 969 msgstr "Move seleção para a direita"
936 970  
937   -#: src/core/actions/table.c:386
  971 +#: src/core/actions/table.c:371
938 972 msgid "Move selection up"
939 973 msgstr "Move seleção para cima"
940 974  
941   -#: src/core/actions/table.c:459
  975 +#: src/core/actions/table.c:444
942 976 msgid ""
943 977 "Move the cursor to the first blank after the last non blank in the field"
944 978 msgstr "Move o cursor para o primeiro branco após o último não branco no campo"
945 979  
946   -#: src/core/actions/table.c:473
  980 +#: src/core/actions/table.c:458
947 981 msgid "Move to first unprotected field on screen"
948 982 msgstr "Move para o primeiro campo desprotegido"
949 983  
950   -#: src/core/actions/table.c:487
  984 +#: src/core/actions/table.c:472
951 985 msgid "Move to the next unprotected field on screen"
952 986 msgstr "Move para o próximo campo desprotegido"
953 987  
954   -#: src/core/actions/table.c:501
  988 +#: src/core/actions/table.c:486
955 989 msgid "Move to the previous unprotected field on screen"
956 990 msgstr "Move para o campo desprotegido anterior"
957 991  
958   -#: src/core/telnet.c:314 src/core/linux/event_dispatcher.c:143
959   -#: src/core/linux/connect.c:207
  992 +#: src/core/telnet.c:304 src/core/windows/event_dispatcher.c:135
  993 +#: src/core/windows/connect.c:223
960 994 msgid "Network error"
961 995 msgstr "Erro de rede"
962 996  
963   -#: src/core/toggles/table.c:293
  997 +#: src/core/toggles/table.c:285
964 998 msgid "Network keep alive"
965 999 msgstr "Manter rede ativa"
966 1000  
967   -#: src/core/actions/table.c:214
  1001 +#: src/core/actions/table.c:199
968 1002 msgid "New line"
969 1003 msgstr "Nova linha"
970 1004  
971   -#: src/core/actions/table.c:486
  1005 +#: src/core/actions/table.c:471
972 1006 msgid "Next field"
973 1007 msgstr "Próximo campo"
974 1008  
975   -#: src/core/actions/table.c:242
  1009 +#: src/core/actions/table.c:227
976 1010 msgid "Next word"
977 1011 msgstr "Próxima palavra"
978 1012  
... ... @@ -984,11 +1018,11 @@ msgstr &quot;Sem suporte LDAP&quot;
984 1018 msgid "No TLS/SSL support on this session"
985 1019 msgstr "Sem suporte TLS/SSL nessa sessão"
986 1020  
987   -#: src/core/linux/download.c:55
  1021 +#: src/core/windows/download.c:62
988 1022 msgid "No handler for URL scheme."
989 1023 msgstr "Nenhum manipulador para o esquema de URL"
990 1024  
991   -#: src/network_modules/openssl/messages.c:268
  1025 +#: src/network_modules/openssl/messages.c:274
992 1026 msgid ""
993 1027 "No signatures could be verified because the chain contains only one "
994 1028 "certificate and it is not self signed."
... ... @@ -996,23 +1030,27 @@ msgstr &quot;&quot;
996 1030 "Nenhuma assinatura pode ser verificada, porque a cadeia contém apenas um "
997 1031 "certificado e não é auto assinado."
998 1032  
999   -#: src/core/ft/ft.c:101
  1033 +#: src/core/ft/ft.c:97
1000 1034 msgid "No transfer in progress"
1001 1035 msgstr "Nenhuma transferência em andamento"
1002 1036  
1003   -#: src/core/properties/boolean.c:202
  1037 +#: src/core/properties/boolean.c:198
1004 1038 msgid "Non zero if the download of CRL is enabled"
1005 1039 msgstr "Diferente de zero se o host se o download do CRL está habilitado"
1006 1040  
1007   -#: src/core/properties/boolean.c:97
  1041 +#: src/core/properties/boolean.c:93
1008 1042 msgid "Non zero if the host is AS400."
1009 1043 msgstr "Diferente de zero se o host é AS400"
1010 1044  
1011   -#: src/core/properties/boolean.c:89
  1045 +#: src/core/properties/boolean.c:85
1012 1046 msgid "Non zero if the host is TSO."
1013 1047 msgstr "Diferente de zero se o host é TSO"
1014 1048  
1015   -#: src/core/ft/ft.c:692
  1049 +#: src/core/windows/connect.c:307
  1050 +msgid "Not connected to host"
  1051 +msgstr "Sem conexão com servidor"
  1052 +
  1053 +#: src/core/ft/ft.c:626
1016 1054 msgid "Not in 3270 mode, transfer cancelled"
1017 1055 msgstr "Não está no modo 3270, transferência cancelada"
1018 1056  
... ... @@ -1022,11 +1060,11 @@ msgstr &quot;&quot;
1022 1060 "Permitida apenas uma opção dentre TRACKS, CYLINDERS, AVBLOCK: Transferência "
1023 1061 "cancelada"
1024 1062  
1025   -#: src/core/options.c:55
  1063 +#: src/core/options.c:54
1026 1064 msgid "Other (TSO)"
1027 1065 msgstr "Outro (TSO)"
1028 1066  
1029   -#: src/core/options.c:61
  1067 +#: src/core/options.c:60
1030 1068 msgid "Other (VM/CMS)"
1031 1069 msgstr "Outro (VM/CMS)"
1032 1070  
... ... @@ -1034,32 +1072,32 @@ msgstr &quot;Outro (VM/CMS)&quot;
1034 1072 msgid "Out of memory"
1035 1073 msgstr "Memória insuficiente"
1036 1074  
1037   -#: src/core/actions/table.c:797 src/core/actions/table.c:811
1038   -#: src/core/actions/table.c:825
  1075 +#: src/core/actions/table.c:782 src/core/actions/table.c:796
  1076 +#: src/core/actions/table.c:810
1039 1077 msgid "PA1"
1040 1078 msgstr "PA1"
1041 1079  
1042   -#: src/core/actions/table.c:256
  1080 +#: src/core/actions/table.c:241
1043 1081 msgid "Paste from file"
1044 1082 msgstr "Colar de um arquivo"
1045 1083  
1046   -#: src/core/actions/table.c:257
  1084 +#: src/core/actions/table.c:242
1047 1085 msgid "Paste from text file"
1048 1086 msgstr "Colar de um arquivo texto"
1049 1087  
1050   -#: src/core/actions/table.c:734 src/core/actions/table.c:735
  1088 +#: src/core/actions/table.c:719 src/core/actions/table.c:720
1051 1089 msgid "Paste next"
1052 1090 msgstr "Colar próximo"
1053 1091  
1054   -#: src/core/toggles/table.c:144
  1092 +#: src/core/toggles/table.c:146
1055 1093 msgid "Paste with left margin"
1056 1094 msgstr "Colar com margem esquerda"
1057 1095  
1058   -#: src/network_modules/openssl/messages.c:297
  1096 +#: src/network_modules/openssl/messages.c:303
1059 1097 msgid "Path length constraint exceeded"
1060 1098 msgstr "Path length constraint exceeded"
1061 1099  
1062   -#: src/core/telnet.c:1878
  1100 +#: src/core/telnet.c:1763
1063 1101 msgid "Pending"
1064 1102 msgstr "Pendente"
1065 1103  
... ... @@ -1067,123 +1105,123 @@ msgstr &quot;Pendente&quot;
1067 1105 msgid "Personal computer filespec incorrect: file transfer canceled"
1068 1106 msgstr "Especificação de arquivo PC incorreta: Transferência cancelada"
1069 1107  
1070   -#: src/core/properties/string.c:156
  1108 +#: src/core/properties/string.c:152
1071 1109 msgid "Preferred protocol for CRL download"
1072 1110 msgstr "Protocolo preferido para download da CRL"
1073 1111  
1074   -#: src/core/actions/table.c:500
  1112 +#: src/core/actions/table.c:485
1075 1113 msgid "Previous field"
1076 1114 msgstr "Campo anterior"
1077 1115  
1078   -#: src/core/actions/table.c:228
  1116 +#: src/core/actions/table.c:213
1079 1117 msgid "Previous word"
1080 1118 msgstr "Palavra anterior"
1081 1119  
1082   -#: src/core/telnet.c:1905
  1120 +#: src/core/telnet.c:1788
1083 1121 msgid "Printer"
1084 1122 msgstr "Impressão"
1085 1123  
1086   -#: src/core/actions/table.c:798
  1124 +#: src/core/actions/table.c:783
1087 1125 msgid "Program Action 1"
1088 1126 msgstr "Program Action 1"
1089 1127  
1090   -#: src/core/actions/table.c:812
  1128 +#: src/core/actions/table.c:797
1091 1129 msgid "Program Action 2"
1092 1130 msgstr "Program Action 2"
1093 1131  
1094   -#: src/core/actions/table.c:826
  1132 +#: src/core/actions/table.c:811
1095 1133 msgid "Program Action 3"
1096 1134 msgstr "Program Action 3"
1097 1135  
1098   -#: src/core/rpq.c:236
  1136 +#: src/core/rpq.c:229
1099 1137 #, c-format
1100 1138 msgid "RPQ %s term omitted due to insufficient space"
1101 1139 msgstr "Termo RPQ %s omitido por falta de espaço"
1102 1140  
1103   -#: src/core/rpq.c:346
  1141 +#: src/core/rpq.c:338
1104 1142 #, c-format
1105 1143 msgid "RPQ %s term override ignored"
1106 1144 msgstr "RPQ %s term override ignored"
1107 1145  
1108   -#: src/core/rpq.c:656 src/core/rpq.c:726
  1146 +#: src/core/rpq.c:642 src/core/rpq.c:712
1109 1147 #, c-format
1110 1148 msgid "RPQ ADDRESS term has unrecognized family %u"
1111 1149 msgstr "Família %u não reconhecida no termo RPQ ADDRESS"
1112 1150  
1113   -#: src/core/rpq.c:664 src/core/rpq.c:693 src/core/rpq.c:733
  1151 +#: src/core/rpq.c:650 src/core/rpq.c:679 src/core/rpq.c:719
1114 1152 msgid "RPQ ADDRESS term incomplete due to space limit"
1115 1153 msgstr "Termo RPQ ADDRESS incompleto devido ao limite de espaço"
1116 1154  
1117   -#: src/core/rpq.c:229
  1155 +#: src/core/rpq.c:222
1118 1156 msgid "RPQ Error"
1119 1157 msgstr "Erro RPQ"
1120 1158  
1121   -#: src/core/rpq.c:412 src/core/rpq.c:421
  1159 +#: src/core/rpq.c:403 src/core/rpq.c:412
1122 1160 msgid "RPQ TIMEZONE term is invalid - use +/-hhmm"
1123 1161 msgstr "Termo RPQ TIMEZONE é invalido - usar +/-hhmm"
1124 1162  
1125   -#: src/core/rpq.c:533
  1163 +#: src/core/rpq.c:520
1126 1164 msgid "RPQ USER term has non-hex character"
1127 1165 msgstr "Termo RPQ USER tem caractere não hexadecimal"
1128 1166  
1129   -#: src/core/rpq.c:558
  1167 +#: src/core/rpq.c:545
1130 1168 msgid "RPQ USER term has odd number of hex digits"
1131 1169 msgstr "RPQ USER term has odd number of hex digits"
1132 1170  
1133   -#: src/core/rpq.c:539
  1171 +#: src/core/rpq.c:526
1134 1172 #, c-format
1135 1173 msgid "RPQ USER term truncated after %d bytes"
1136 1174 msgstr "Termo RPQ USER truncado depois de %d bytes"
1137 1175  
1138   -#: src/core/rpq.c:583
  1176 +#: src/core/rpq.c:570
1139 1177 #, c-format
1140 1178 msgid "RPQ USER term truncated after %d characters"
1141 1179 msgstr "Termo RPQ USER truncado depois de %d caracteres"
1142 1180  
1143   -#: src/core/rpq.c:358
  1181 +#: src/core/rpq.c:350
1144 1182 #, c-format
1145 1183 msgid "RPQ term \"%s\" is unrecognized"
1146 1184 msgstr "Termo RPQ desconhecido: \"%s\" "
1147 1185  
1148   -#: src/core/rpq.c:231
  1186 +#: src/core/rpq.c:224
1149 1187 #, c-format
1150 1188 msgid "RPQ term %d is unknown"
1151 1189 msgstr "Termo RPM %d não foi reconhecido"
1152 1190  
1153   -#: src/core/rpq.c:477
  1191 +#: src/core/rpq.c:465
1154 1192 msgid "RPQ timezone exceeds 12 hour UTC offset"
1155 1193 msgstr "RPQ timezone excede as 12 horas de deslocamento da UTC"
1156 1194  
1157   -#: src/core/rpq.c:445 src/core/rpq.c:456
  1195 +#: src/core/rpq.c:434 src/core/rpq.c:444
1158 1196 msgid "RPQ: Unable to determine workstation UTC time"
1159 1197 msgstr "RPQ: Incapaz de determinar a hora UTC da estação de trabalho"
1160 1198  
1161   -#: src/core/rpq.c:434
  1199 +#: src/core/rpq.c:424
1162 1200 msgid "RPQ: Unable to determine workstation local time"
1163 1201 msgstr "RPQ: Incapaz de determinar a hora local da estação de trabalho"
1164 1202  
1165   -#: src/core/rpq.c:669
  1203 +#: src/core/rpq.c:655
1166 1204 #, c-format
1167 1205 msgid "RPQ: can't resolve '%s': %s"
1168 1206 msgstr "RPQ: Não foi possível resolver '%s': %s"
1169 1207  
1170   -#: src/core/rpq.c:682
  1208 +#: src/core/rpq.c:668
1171 1209 msgid "RPQ: gethostbyname error"
1172 1210 msgstr "RPQ: Erro em gethostbyname"
1173 1211  
1174   -#: src/core/actions/table.c:128
  1212 +#: src/core/actions/table.c:113
1175 1213 msgid "Reconnect to the same host"
1176 1214 msgstr "Reconecta ao mesmo servidor"
1177 1215  
1178   -#: src/core/telnet.c:1904
  1216 +#: src/core/telnet.c:1787
1179 1217 msgid "Remodel"
1180 1218 msgstr "Remodel"
1181 1219  
1182   -#: src/core/actions/table.c:287 src/core/actions/table.c:288
  1220 +#: src/core/actions/table.c:272 src/core/actions/table.c:273
1183 1221 msgid "Remove selection"
1184 1222 msgstr "Remover seleção"
1185 1223  
1186   -#: src/core/ft/ft.c:208
  1224 +#: src/core/ft/ft.c:192
1187 1225 msgid "Request failed"
1188 1226 msgstr "Requisição falhou"
1189 1227  
... ... @@ -1191,27 +1229,27 @@ msgstr &quot;Requisição falhou&quot;
1191 1229 msgid "Required host storage unavailable: file transfer canceled"
1192 1230 msgstr "Armazenamento necessário indisponível: Transferência cancelada"
1193 1231  
1194   -#: src/core/actions/table.c:301 src/core/actions/table.c:302
  1232 +#: src/core/actions/table.c:286 src/core/actions/table.c:287
1195 1233 msgid "Reselect"
1196 1234 msgstr "Reselecionar"
1197 1235  
1198   -#: src/core/actions/table.c:635
  1236 +#: src/core/actions/table.c:620
1199 1237 msgid "Reset"
1200 1238 msgstr "Reset"
1201 1239  
1202   -#: src/core/actions/table.c:636
  1240 +#: src/core/actions/table.c:621
1203 1241 msgid "Reset keyboard lock"
1204 1242 msgstr "Reinicia bloqueio de teclado"
1205 1243  
1206   -#: src/core/toggles/table.c:284
  1244 +#: src/core/toggles/table.c:276
1207 1245 msgid "Resize on alternate screen"
1208 1246 msgstr "Mudar tamanho do terminal em tela alternativa"
1209 1247  
1210   -#: src/core/telnet.c:1877 src/core/telnet.c:1898
  1248 +#: src/core/telnet.c:1762 src/core/telnet.c:1781
1211 1249 msgid "Resolving"
1212 1250 msgstr "Resolvendo"
1213 1251  
1214   -#: src/core/actions/table.c:200
  1252 +#: src/core/actions/table.c:185
1215 1253 msgid "Right"
1216 1254 msgstr "Direita"
1217 1255  
... ... @@ -1223,15 +1261,15 @@ msgstr &quot;&quot;
1223 1261 "SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only "
1224 1262 "one option can be used."
1225 1263  
1226   -#: src/network_modules/openssl/start.c:232
  1264 +#: src/network_modules/openssl/start.c:229
1227 1265 msgid "SSL negotiation failed"
1228 1266 msgstr "Negociação SSL falhou"
1229 1267  
1230   -#: src/core/properties/unsigned.c:135
  1268 +#: src/core/properties/unsigned.c:138
1231 1269 msgid "Screen buffer length in bytes"
1232 1270 msgstr "Tamanho do buffer de tela em bytes"
1233 1271  
1234   -#: src/core/properties/string.c:185
  1272 +#: src/core/properties/string.c:181
1235 1273 msgid "Screen oversize if larger than the chosen model"
1236 1274 msgstr "\"oversize\" maior que o modelo escolhido"
1237 1275  
... ... @@ -1239,175 +1277,175 @@ msgstr &quot;\&quot;oversize\&quot; maior que o modelo escolhido&quot;
1239 1277 msgid "Secure connection was successful."
1240 1278 msgstr "Conexão segura efetuada com sucesso."
1241 1279  
1242   -#: src/core/actions/table.c:343
  1280 +#: src/core/actions/table.c:328
1243 1281 msgid "Select Down"
1244 1282 msgstr "Seleciona para baixo"
1245 1283  
1246   -#: src/core/actions/table.c:444
  1284 +#: src/core/actions/table.c:429
1247 1285 msgid "Select Field"
1248 1286 msgstr "Selecionar campo"
1249 1287  
1250   -#: src/core/actions/table.c:357
  1288 +#: src/core/actions/table.c:342
1251 1289 msgid "Select Left"
1252 1290 msgstr "Seleciona à esquerda"
1253 1291  
1254   -#: src/core/actions/table.c:329
  1292 +#: src/core/actions/table.c:314
1255 1293 msgid "Select UP"
1256 1294 msgstr "Seleciona para cima"
1257 1295  
1258   -#: src/core/actions/table.c:273 src/core/actions/table.c:274
  1296 +#: src/core/actions/table.c:258 src/core/actions/table.c:259
1259 1297 msgid "Select all"
1260 1298 msgstr "Selecionar tudo"
1261 1299  
1262   -#: src/core/toggles/table.c:153 src/core/toggles/table.c:154
  1300 +#: src/core/toggles/table.c:155 src/core/toggles/table.c:156
1263 1301 msgid "Select by rectangles"
1264 1302 msgstr "Seleção retangular"
1265 1303  
1266   -#: src/core/actions/table.c:443
  1304 +#: src/core/actions/table.c:428
1267 1305 msgid "Select field"
1268 1306 msgstr "Seleciona campo"
1269 1307  
1270   -#: src/core/actions/table.c:371
  1308 +#: src/core/actions/table.c:356
1271 1309 msgid "Select right"
1272 1310 msgstr "Seleciona a direita"
1273 1311  
1274   -#: src/core/actions/table.c:315 src/core/actions/table.c:316
  1312 +#: src/core/actions/table.c:300 src/core/actions/table.c:301
1275 1313 msgid "Select word"
1276 1314 msgstr "Seleciona palavra"
1277 1315  
1278   -#: src/core/linux/event_dispatcher.c:144
  1316 +#: src/core/windows/event_dispatcher.c:136
1279 1317 msgid "Select() failed when processing for events."
1280 1318 msgstr "Select() falhou ao processar eventos."
1281 1319  
1282   -#: src/core/actions/table.c:399
  1320 +#: src/core/actions/table.c:384
1283 1321 msgid "Selection down"
1284 1322 msgstr "Desce a seleção"
1285 1323  
1286   -#: src/core/actions/table.c:413
  1324 +#: src/core/actions/table.c:398
1287 1325 msgid "Selection left"
1288 1326 msgstr "Move seleção para a esquerda"
1289 1327  
1290   -#: src/core/actions/table.c:427
  1328 +#: src/core/actions/table.c:412
1291 1329 msgid "Selection right"
1292 1330 msgstr "Move seleção para a direita"
1293 1331  
1294   -#: src/core/actions/table.c:385
  1332 +#: src/core/actions/table.c:370
1295 1333 msgid "Selection up"
1296 1334 msgstr "Sobe a seleção"
1297 1335  
1298   -#: src/network_modules/openssl/messages.c:231
  1336 +#: src/network_modules/openssl/messages.c:235
1299 1337 msgid "Self signed certificate"
1300 1338 msgstr "Certificado auto assinado"
1301 1339  
1302   -#: src/network_modules/openssl/messages.c:247
  1340 +#: src/network_modules/openssl/messages.c:253
1303 1341 msgid "Self signed certificate in certificate chain"
1304 1342 msgstr "Certificado auto assinado na cadeia de certificados"
1305 1343  
1306   -#: src/core/actions/table.c:621
  1344 +#: src/core/actions/table.c:606
1307 1345 msgid "Send an \"Enter\" action"
1308 1346 msgstr "Envia um \"Enter\""
1309 1347  
1310   -#: src/core/toggles/table.c:194
  1348 +#: src/core/toggles/table.c:186
1311 1349 msgid "Set insert mode"
1312 1350 msgstr "Set insert mode"
1313 1351  
1314   -#: src/core/toggles/table.c:273
  1352 +#: src/core/toggles/table.c:265
1315 1353 msgid "Show Field"
1316 1354 msgstr "Mostra campos"
1317 1355  
1318   -#: src/core/toggles/table.c:274
  1356 +#: src/core/toggles/table.c:266
1319 1357 msgid "Show Field attributes"
1320 1358 msgstr "Mostra atributos de campo"
1321 1359  
1322   -#: src/core/toggles/table.c:234
  1360 +#: src/core/toggles/table.c:226
1323 1361 msgid "Show Underline"
1324 1362 msgstr "Mostrar sublinhado"
1325 1363  
1326   -#: src/core/actions/table.c:781
  1364 +#: src/core/actions/table.c:766
1327 1365 msgid "Show charset table"
1328 1366 msgstr "Mostra a tabela de caracteres"
1329 1367  
1330   -#: src/core/actions/table.c:767
  1368 +#: src/core/actions/table.c:752
1331 1369 msgid "Show test pattern"
1332 1370 msgstr "Mostra o padrão de teste"
1333 1371  
1334   -#: src/core/toggles/table.c:73 src/core/toggles/table.c:74
  1372 +#: src/core/toggles/table.c:72 src/core/toggles/table.c:73
1335 1373 msgid "Show timer when processing"
1336 1374 msgstr "Show timer when processing"
1337 1375  
1338   -#: src/core/toggles/table.c:203 src/core/toggles/table.c:204
  1376 +#: src/core/toggles/table.c:195 src/core/toggles/table.c:196
1339 1377 msgid "Smart paste"
1340 1378 msgstr "Colar inteligente"
1341 1379  
1342   -#: src/network_modules/tools.c:195 src/network_modules/tools.c:212
  1380 +#: src/network_modules/tools.c:173 src/network_modules/tools.c:189
1343 1381 msgid "Socket error"
1344 1382 msgstr "Erro no socket"
1345 1383  
1346   -#: src/core/toggles/table.c:263
  1384 +#: src/core/toggles/table.c:255
1347 1385 msgid "Sound"
1348 1386 msgstr "Som"
1349 1387  
1350   -#: src/core/properties/boolean.c:132
  1388 +#: src/core/properties/boolean.c:128
1351 1389 msgid "State is 3270, TN3270e or SSCP"
1352 1390 msgstr "Estado do terminal é 3270, TN3270e or SSCP"
1353 1391  
1354   -#: src/core/properties/boolean.c:167
  1392 +#: src/core/properties/boolean.c:163
1355 1393 msgid "Still have text to paste"
1356 1394 msgstr "Ainda existe texto para colar"
1357 1395  
1358   -#: src/network_modules/openssl/messages.c:337
  1396 +#: src/network_modules/openssl/messages.c:343
1359 1397 msgid "Subject issuer mismatch"
1360 1398 msgstr "Divergência na identidade do emissor"
1361 1399  
1362   -#: src/core/actions/table.c:748
  1400 +#: src/core/actions/table.c:733
1363 1401 msgid "Sys Req"
1364 1402 msgstr "Sys Req"
1365 1403  
1366   -#: src/core/actions/table.c:749
  1404 +#: src/core/actions/table.c:734
1367 1405 msgid "Sys Request"
1368 1406 msgstr "Sys Request"
1369 1407  
1370   -#: src/core/telnet.c:1056
  1408 +#: src/core/telnet.c:995
1371 1409 msgid "TLS negotiation failure"
1372 1410 msgstr "Negociação TLS falhou"
1373 1411  
1374   -#: src/core/telnet.c:1881
  1412 +#: src/core/telnet.c:1766
1375 1413 msgid "TN3270 3270"
1376 1414 msgstr "TN3270 3270"
1377 1415  
1378   -#: src/core/telnet.c:1880
  1416 +#: src/core/telnet.c:1765
1379 1417 msgid "TN3270 NVT"
1380 1418 msgstr "TN3270 NVT"
1381 1419  
1382   -#: src/core/telnet.c:1882
  1420 +#: src/core/telnet.c:1767
1383 1421 msgid "TN3270E"
1384 1422 msgstr "TN3270E"
1385 1423  
1386   -#: src/core/telnet.c:1885
  1424 +#: src/core/telnet.c:1770
1387 1425 msgid "TN3270E 3270"
1388 1426 msgstr "TN3270E 3270"
1389 1427  
1390   -#: src/core/telnet.c:1883
  1428 +#: src/core/telnet.c:1768
1391 1429 msgid "TN3270E NVT"
1392 1430 msgstr "TN3270E NVT"
1393 1431  
1394   -#: src/core/telnet.c:1884
  1432 +#: src/core/telnet.c:1769
1395 1433 msgid "TN3270E SSCP-LU"
1396 1434 msgstr "TN3270E SSCP-LU"
1397 1435  
1398   -#: src/core/properties/unsigned.c:96
  1436 +#: src/core/properties/unsigned.c:99
1399 1437 msgid "Terminal model"
1400 1438 msgstr "Modelo do terminal"
1401 1439  
1402   -#: src/core/properties/string.c:108
  1440 +#: src/core/properties/string.c:104
1403 1441 msgid "Terminal name"
1404 1442 msgstr "Nome do terminal"
1405 1443  
1406   -#: src/core/properties/string.c:101
  1444 +#: src/core/properties/string.c:97
1407 1445 msgid "Terminal type"
1408 1446 msgstr "Tipo do terminal"
1409 1447  
1410   -#: src/core/actions/table.c:766
  1448 +#: src/core/actions/table.c:751
1411 1449 msgid "Test pattern"
1412 1450 msgstr "Padrão de teste"
1413 1451  
... ... @@ -1462,26 +1500,21 @@ msgstr &quot;&quot;
1462 1500 "A lista de revogação de certificados (CRL) de um certificado não pôde ser "
1463 1501 "encontrada."
1464 1502  
1465   -#: src/network_modules/openssl/main.c:122
1466   -#: src/network_modules/openssl/main.c:173
  1503 +#: src/network_modules/openssl/main.c:123
  1504 +#: src/network_modules/openssl/main.c:170
1467 1505 #, c-format
1468 1506 msgid "The SSL error message was %s"
1469 1507 msgstr "A mensagem de erro SSL foi \"%s\""
1470 1508  
1471   -#: src/core/linux/connect.c:198
1472   -#, fuzzy, c-format
1473   -msgid "The System error was '%s' (rc=%d)"
1474   -msgstr "O erro do sistema operacional foi \"%s\" (rc=%d)"
1475   -
1476   -#: src/core/linux/ldap.c:86 src/core/linux/ldap.c:95
  1509 +#: src/core/windows/ldap.c:101 src/core/windows/ldap.c:110
1477 1510 msgid "The URL argument should be in the format ldap://[HOST]/[DN]?attribute"
1478 1511 msgstr "A URL deve ser no formato ldap://[HOST]/[DN]?attribute"
1479 1512  
1480   -#: src/network_modules/openssl/messages.c:298
  1513 +#: src/network_modules/openssl/messages.c:304
1481 1514 msgid "The basicConstraints pathlength parameter has been exceeded."
1482 1515 msgstr "The basicConstraints pathlength parameter has been exceeded."
1483 1516  
1484   -#: src/network_modules/openssl/messages.c:248
  1517 +#: src/network_modules/openssl/messages.c:254
1485 1518 msgid ""
1486 1519 "The certificate chain could be built up using the untrusted certificates but "
1487 1520 "the root could not be found locally."
... ... @@ -1489,7 +1522,7 @@ msgstr &quot;&quot;
1489 1522 "The certificate chain could be built up using the untrusted certificates but "
1490 1523 "the root could not be found locally."
1491 1524  
1492   -#: src/network_modules/openssl/messages.c:278
  1525 +#: src/network_modules/openssl/messages.c:284
1493 1526 msgid "The certificate has been revoked."
1494 1527 msgstr "O certificado foi revogado."
1495 1528  
... ... @@ -1527,11 +1560,11 @@ msgstr &quot;&quot;
1527 1560 "signature value could not be determined rather than it not matching the "
1528 1561 "expected value, this is only meaningful for RSA keys."
1529 1562  
1530   -#: src/core/properties/unsigned.c:78
  1563 +#: src/core/properties/unsigned.c:81
1531 1564 msgid "The color type"
1532 1565 msgstr "O tipo de cor"
1533 1566  
1534   -#: src/network_modules/state.c:80
  1567 +#: src/network_modules/state.c:77
1535 1568 msgid "The connection is insecure"
1536 1569 msgstr "A conexão não é segura"
1537 1570  
... ... @@ -1539,7 +1572,7 @@ msgstr &quot;A conexão não é segura&quot;
1539 1572 msgid "The connection is secure and the host identity was confirmed."
1540 1573 msgstr "A conexão é segura e a identidade do servidor foi confirmada."
1541 1574  
1542   -#: src/network_modules/openssl/messages.c:358
  1575 +#: src/network_modules/openssl/messages.c:364
1543 1576 msgid ""
1544 1577 "The current candidate issuer certificate was rejected because its issuer "
1545 1578 "name and serial number was present and did not match the authority key "
... ... @@ -1551,7 +1584,7 @@ msgstr &quot;&quot;
1551 1584 "identifier of the current certificate. Only displayed when the -"
1552 1585 "issuer_checks option is set."
1553 1586  
1554   -#: src/network_modules/openssl/messages.c:368
  1587 +#: src/network_modules/openssl/messages.c:374
1555 1588 msgid ""
1556 1589 "The current candidate issuer certificate was rejected because its keyUsage "
1557 1590 "extension does not permit certificate signing."
... ... @@ -1559,7 +1592,7 @@ msgstr &quot;&quot;
1559 1592 "The current candidate issuer certificate was rejected because its keyUsage "
1560 1593 "extension does not permit certificate signing."
1561 1594  
1562   -#: src/network_modules/openssl/messages.c:348
  1595 +#: src/network_modules/openssl/messages.c:354
1563 1596 msgid ""
1564 1597 "The current candidate issuer certificate was rejected because its subject "
1565 1598 "key identifier was present and did not match the authority key identifier "
... ... @@ -1569,7 +1602,7 @@ msgstr &quot;&quot;
1569 1602 "key identifier was present and did not match the authority key identifier "
1570 1603 "current certificate. Only displayed when the -issuer_checks option is set."
1571 1604  
1572   -#: src/network_modules/openssl/messages.c:338
  1605 +#: src/network_modules/openssl/messages.c:344
1573 1606 msgid ""
1574 1607 "The current candidate issuer certificate was rejected because its subject "
1575 1608 "name did not match the issuer name of the current certificate. Only "
... ... @@ -1579,7 +1612,7 @@ msgstr &quot;&quot;
1579 1612 "name did not match the issuer name of the current certificate. Only "
1580 1613 "displayed when the -issuer_checks option is set."
1581 1614  
1582   -#: src/core/properties/unsigned.c:151
  1615 +#: src/core/properties/unsigned.c:162
1583 1616 msgid "The delay between the host unlocking the keyboard and the actual unlock"
1584 1617 msgstr ""
1585 1618 "Intervalo de tempo entre o desbloqueio de teclado pelo host e o desbloqueio "
... ... @@ -1598,7 +1631,7 @@ msgstr &quot;&quot;
1598 1631 msgid "The file transfer operation has been successfully completed."
1599 1632 msgstr "A transferência de arquivos terminou com sucesso."
1600 1633  
1601   -#: src/core/ctlr.c:230
  1634 +#: src/core/ctlr.c:215
1602 1635 #, c-format
1603 1636 msgid "The height %d is less than model %d rows (%d)"
1604 1637 msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)"
... ... @@ -1609,7 +1642,7 @@ msgid &quot;&quot;
1609 1642 "operation."
1610 1643 msgstr "O host detectou um erro no arquivo durante a operação de recebimento."
1611 1644  
1612   -#: src/network_modules/openssl/messages.c:258
  1645 +#: src/network_modules/openssl/messages.c:264
1613 1646 msgid ""
1614 1647 "The issuer certificate could not be found: this occurs if the issuer "
1615 1648 "certificate of an untrusted certificate cannot be found."
... ... @@ -1625,15 +1658,19 @@ msgstr &quot;&quot;
1625 1658 "The issuer certificate of a looked up certificate could not be found. This "
1626 1659 "normally means the list of trusted certificates is not complete."
1627 1660  
1628   -#: src/core/properties/unsigned.c:97
  1661 +#: src/core/properties/string.c:189
  1662 +msgid "The log file name"
  1663 +msgstr "Define o nome do arquivo de log"
  1664 +
  1665 +#: src/core/properties/unsigned.c:100
1629 1666 msgid "The model number"
1630 1667 msgstr "Nº do modelo"
1631 1668  
1632   -#: src/core/properties/string.c:66
  1669 +#: src/core/properties/string.c:62
1633 1670 msgid "The name of the LU associated with the session"
1634 1671 msgstr "O nome da LU associada à sessão"
1635 1672  
1636   -#: src/core/connect.c:177
  1673 +#: src/core/connect.c:167
1637 1674 msgid ""
1638 1675 "The network module didn't set the TLS/SSL state message, this is not "
1639 1676 "supposed to happen and can be a coding error"
... ... @@ -1641,23 +1678,23 @@ msgstr &quot;&quot;
1641 1678 "O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não "
1642 1679 "deveria acontecer e pode ser um erro de codificação"
1643 1680  
1644   -#: src/core/ctlr.c:229
  1681 +#: src/core/ctlr.c:214
1645 1682 msgid "The oversize height is too small."
1646 1683 msgstr "A altura definida para 'oversize' é muito pequena."
1647 1684  
1648   -#: src/core/ctlr.c:186
  1685 +#: src/core/ctlr.c:177
1649 1686 msgid "The oversize values are invalid."
1650 1687 msgstr "Os valores para 'oversize' não são válidos."
1651 1688  
1652   -#: src/core/ctlr.c:200
  1689 +#: src/core/ctlr.c:189
1653 1690 msgid "The oversize values are too big."
1654 1691 msgstr "Os valores do 'oversize' são muito grandes."
1655 1692  
1656   -#: src/core/ctlr.c:215
  1693 +#: src/core/ctlr.c:202
1657 1694 msgid "The oversize width is too small."
1658 1695 msgstr "A largura do 'oversize' é muito pequena."
1659 1696  
1660   -#: src/network_modules/openssl/messages.c:232
  1697 +#: src/network_modules/openssl/messages.c:238
1661 1698 msgid ""
1662 1699 "The passed certificate is self signed and the same certificate cannot be "
1663 1700 "found in the list of trusted certificates."
... ... @@ -1671,27 +1708,27 @@ msgid &quot;&quot;
1671 1708 msgstr ""
1672 1709 "The public key in the certificate SubjectPublicKeyInfo could not be read."
1673 1710  
1674   -#: src/core/ft/ft.c:277
  1711 +#: src/core/ft/ft.c:251
1675 1712 msgid "The remote file name is invalid."
1676 1713 msgstr "O nome do arquivo remoto não é válido."
1677 1714  
1678   -#: src/network_modules/openssl/messages.c:328
  1715 +#: src/network_modules/openssl/messages.c:334
1679 1716 msgid "The root CA is marked to reject the specified purpose."
1680 1717 msgstr ""
1681 1718 "O certificado raiz está marcado para rejeitar a finalidade especificada."
1682 1719  
1683   -#: src/network_modules/openssl/messages.c:318
  1720 +#: src/network_modules/openssl/messages.c:324
1684 1721 msgid "The root CA is not marked as trusted for the specified purpose."
1685 1722 msgstr ""
1686 1723 "O Certificado raiz não está marcado como confiável para os fins "
1687 1724 "especificados."
1688 1725  
1689   -#: src/network_modules/openssl/main.c:104
1690   -#: src/network_modules/openssl/main.c:155
  1726 +#: src/network_modules/openssl/main.c:101
  1727 +#: src/network_modules/openssl/main.c:149
1691 1728 msgid "The secure connection has been closed cleanly."
1692 1729 msgstr "A conexão segura foi fechada corretamente"
1693 1730  
1694   -#: src/core/properties/string.c:170
  1731 +#: src/core/properties/string.c:166
1695 1732 msgid "The security state"
1696 1733 msgstr "O estado da segurança"
1697 1734  
... ... @@ -1704,37 +1741,58 @@ msgstr &quot;A sessão não é segura&quot;
1704 1741 msgid "The signature of the certificate is invalid."
1705 1742 msgstr "A assinatura do certificado não é válida."
1706 1743  
1707   -#: src/network_modules/openssl/messages.c:308
  1744 +#: src/network_modules/openssl/messages.c:314
1708 1745 msgid "The supplied certificate cannot be used for the specified purpose."
1709 1746 msgstr ""
1710 1747 "O certificado fornecido não pode ser utilizado para a finalidade "
1711 1748 "especificada."
1712 1749  
1713   -#: src/network_modules/tools.c:129 src/network_modules/tools.c:140
  1750 +#: src/network_modules/tools.c:114 src/network_modules/tools.c:123
1714 1751 #, c-format
1715 1752 msgid "The system error code was %d"
1716 1753 msgstr "O erro do sistema operacional foi %d"
1717 1754  
1718   -#: src/network_modules/tools.c:82 src/network_modules/tools.c:154
  1755 +#: src/network_modules/tools.c:83 src/network_modules/tools.c:135
1719 1756 #, c-format
1720 1757 msgid "The system error code was %d (%s)"
1721 1758 msgstr "O erro do sistema operacional foi \"%d\" (%s)"
1722 1759  
1723   -#: src/core/linux/connect.c:228 src/core/linux/connect.c:283
  1760 +#: src/core/windows/connect.c:239
  1761 +#, c-format
  1762 +msgid "The system error was \"%s\""
  1763 +msgstr "O erro do sistema operacional foi \"%s\""
  1764 +
  1765 +#: src/core/windows/connect.c:298 src/core/windows/connect.c:306
  1766 +#: src/core/windows/connect.c:314 src/core/windows/connect.c:324
1724 1767 #, c-format
1725 1768 msgid "The system error was \"%s\" (rc=%d)"
1726 1769 msgstr "O erro do sistema operacional foi \"%s\" (rc=%d)"
1727 1770  
1728   -#: src/network_modules/tools.c:113
  1771 +#: src/core/windows/connect.c:225 src/core/windows/connect.c:360
  1772 +#: src/core/windows/connect.c:378
  1773 +#, c-format
  1774 +msgid "The system error was %s"
  1775 +msgstr "O erro do sistema operacional foi \"%s\""
  1776 +
  1777 +#: src/core/util.c:260
1729 1778 #, c-format
1730   -msgid "The system error was %s (%d)"
1731   -msgstr "O erro do sistema operacional foi \"%s\" (%d)"
  1779 +msgid "The system error was '%s' (rc=%d)"
  1780 +msgstr "O erro do sistema foi \"%s\" (rc=%d)"
1732 1781  
1733   -#: src/core/ctlr.c:216
  1782 +#: src/core/properties/string.c:197
  1783 +msgid "The trace file name"
  1784 +msgstr "O nome do arquivo de trace"
  1785 +
  1786 +#: src/core/ctlr.c:203
1734 1787 #, c-format
1735 1788 msgid "The width %d is less than model %d columns (%d)"
1736 1789 msgstr "A largura %d é menor que a do modelo %d (%d)"
1737 1790  
  1791 +#: src/network_modules/tools.c:67 src/network_modules/tools.c:101
  1792 +#, c-format
  1793 +msgid "The windows error code was %u"
  1794 +msgstr "O erro do windows foi %u"
  1795 +
1738 1796 #: src/core/ft/ftmessages.c:146
1739 1797 msgid "There is not enough space available for data on the host."
1740 1798 msgstr "Não existe espaço suficiente no host para os dados."
... ... @@ -1743,80 +1801,88 @@ msgstr &quot;Não existe espaço suficiente no host para os dados.&quot;
1743 1801 msgid "This is a host program error."
1744 1802 msgstr "Este é um erro no programa do host."
1745 1803  
  1804 +#: src/core/properties/unsigned.c:146
  1805 +msgid "Time for auto-reconnect"
  1806 +msgstr "Tempo para reconexão automática"
  1807 +
  1808 +#: src/core/windows/connect.c:299
  1809 +msgid "Timeout conneting to host"
  1810 +msgstr "Timeout ao conectar com o host"
  1811 +
1746 1812 #: src/core/toggles/table.c:93 src/core/toggles/table.c:94
1747 1813 msgid "Trace Data Stream"
1748 1814 msgstr "Trace Data Stream"
1749 1815  
1750   -#: src/core/toggles/table.c:133
  1816 +#: src/core/toggles/table.c:135
1751 1817 msgid "Trace Events"
1752 1818 msgstr "Trace de Eventos"
1753 1819  
1754   -#: src/core/toggles/table.c:303
  1820 +#: src/core/toggles/table.c:296
1755 1821 msgid "Trace Network"
1756 1822 msgstr "Trace de rede"
1757 1823  
1758   -#: src/core/toggles/table.c:314
  1824 +#: src/core/toggles/table.c:308
1759 1825 msgid "Trace SSL negotiation"
1760 1826 msgstr "Trace da negociação SSL"
1761 1827  
1762   -#: src/core/toggles/table.c:123
  1828 +#: src/core/toggles/table.c:124
1763 1829 msgid "Trace Screen"
1764 1830 msgstr "Trace de tela"
1765 1831  
1766   -#: src/core/toggles/table.c:313
  1832 +#: src/core/toggles/table.c:307
1767 1833 msgid "Trace Security"
1768 1834 msgstr "Trace de segurança"
1769 1835  
1770   -#: src/core/toggles/table.c:134
  1836 +#: src/core/toggles/table.c:136
1771 1837 msgid "Trace interface and application events"
1772 1838 msgstr "Registra eventos da interface gráfica e aplicação"
1773 1839  
1774   -#: src/core/toggles/table.c:304
  1840 +#: src/core/toggles/table.c:297
1775 1841 msgid "Trace network data flow"
1776 1842 msgstr "Trace network data flow"
1777 1843  
1778   -#: src/core/toggles/table.c:124
  1844 +#: src/core/toggles/table.c:125
1779 1845 msgid "Trace screen contents"
1780 1846 msgstr "Trace do conteúdo da tela"
1781 1847  
1782   -#: src/core/toggles/table.c:83
  1848 +#: src/core/toggles/table.c:82
1783 1849 msgid "Track Cursor"
1784 1850 msgstr "Mostrar posição do cursor"
1785 1851  
1786   -#: src/core/toggles/table.c:84
  1852 +#: src/core/toggles/table.c:83
1787 1853 msgid "Track Cursor location"
1788 1854 msgstr "Mostrar posição do cursor"
1789 1855  
1790   -#: src/core/ft/ft_cut.c:371
  1856 +#: src/core/ft/ft_cut.c:360
1791 1857 msgid "Transfer cancelled by host"
1792 1858 msgstr "Transferência cancelada pelo host"
1793 1859  
1794   -#: src/core/ft/ft_dft.c:230 src/core/ft/ft_dft.c:373 src/core/ft/ft_cut.c:400
1795   -#: src/core/ft/ft_cut.c:495
  1860 +#: src/core/ft/ft_dft.c:213 src/core/ft/ft_dft.c:344 src/core/ft/ft_cut.c:387
  1861 +#: src/core/ft/ft_cut.c:475
1796 1862 msgid "Transfer cancelled by user"
1797 1863 msgstr "Transferência cancelada pelo usuário"
1798 1864  
1799   -#: src/core/ft/ft.c:580
  1865 +#: src/core/ft/ft.c:526
1800 1866 msgid "Transfer complete"
1801 1867 msgstr "Transferência completa"
1802 1868  
1803   -#: src/core/ft/ft.c:585
  1869 +#: src/core/ft/ft.c:530
1804 1870 msgid "Transfer failed"
1805 1871 msgstr "Transferência falhou"
1806 1872  
1807   -#: src/core/ft/ft_cut.c:464
  1873 +#: src/core/ft/ft_cut.c:447
1808 1874 msgid "Transmission error"
1809 1875 msgstr "Erro de transmissão"
1810 1876  
1811   -#: src/core/linux/connect.c:171
  1877 +#: src/core/windows/connect.c:198
1812 1878 msgid "Try again"
1813 1879 msgstr "Tentar novamente"
1814 1880  
1815   -#: src/core/properties/string.c:78
  1881 +#: src/core/properties/string.c:74
1816 1882 msgid "URL of the current host"
1817 1883 msgstr "URL do host atual"
1818 1884  
1819   -#: src/core/ft/ft_dft.c:170
  1885 +#: src/core/ft/ft_dft.c:161
1820 1886 msgid "Uknown DFT Open type from host"
1821 1887 msgstr "Host enviou código de abertura DFT desconhecido"
1822 1888  
... ... @@ -1837,7 +1903,7 @@ msgstr &quot;Incapaz de decifrar a assinatura do certificado&quot;
1837 1903 msgid "Unable to get certificate CRL."
1838 1904 msgstr "Incapaz de obter o CRL de um certificado."
1839 1905  
1840   -#: src/core/linux/connect.c:208
  1906 +#: src/core/windows/connect.c:224
1841 1907 msgid "Unable to get connection state."
1842 1908 msgstr "Não foi possível obter o estado da conexão."
1843 1909  
... ... @@ -1845,132 +1911,139 @@ msgstr &quot;Não foi possível obter o estado da conexão.&quot;
1845 1911 msgid "Unable to get issuer certificate"
1846 1912 msgstr "Não foi possível obter emissor do certificado"
1847 1913  
1848   -#: src/network_modules/openssl/messages.c:257
  1914 +#: src/network_modules/openssl/messages.c:263
1849 1915 msgid "Unable to get local issuer certificate"
1850 1916 msgstr "Unable to get local issuer certificate"
1851 1917  
1852   -#: src/core/session.c:216
  1918 +#: src/core/session.c:198
1853 1919 msgid "Unable to load from file"
1854 1920 msgstr "Não foi possível ler do arquivo"
1855 1921  
1856   -#: src/network_modules/openssl/start.c:251
1857   -#, fuzzy
  1922 +#: src/network_modules/openssl/start.c:247
1858 1923 msgid "Unable to negotiate a secure connection with the host"
1859   -msgstr "O cliente foi incapaz de negociar uma conexão segura com o servidor"
  1924 +msgstr "Incapaz de negociar uma conexão segura com o host"
1860 1925  
1861   -#: src/core/paste.c:399
  1926 +#: src/core/paste.c:374
1862 1927 msgid "Unable to paste text"
1863 1928 msgstr "Incapaz de colar texto"
1864 1929  
1865   -#: src/core/session.c:202
  1930 +#: src/core/session.c:186
1866 1931 msgid "Unable to print"
1867 1932 msgstr "Incapaz de imprimir"
1868 1933  
1869   -#: src/core/session.c:209
  1934 +#: src/core/session.c:192
1870 1935 msgid "Unable to save"
1871 1936 msgstr "Incapaz de salvar"
1872 1937  
1873   -#: src/core/ft/ft.c:528
  1938 +#: src/core/ft/ft.c:478
1874 1939 msgid "Unable to send file-transfer request"
1875 1940 msgstr "Não foi possível enviar a requisição de transferência de arquivo"
1876 1941  
1877   -#: src/network_modules/openssl/messages.c:267
  1942 +#: src/network_modules/openssl/messages.c:273
1878 1943 msgid "Unable to verify the first certificate"
1879 1944 msgstr "Não foi possível verificar o primeiro certificado"
1880 1945  
1881   -#: src/core/telnet.c:1876
  1946 +#: src/core/telnet.c:1761
1882 1947 msgid "Unconnected"
1883 1948 msgstr "Não conectado"
1884 1949  
1885   -#: src/core/toggles/table.c:233
  1950 +#: src/core/toggles/table.c:225
1886 1951 msgid "Underline"
1887 1952 msgstr "Sublinhados"
1888 1953  
1889   -#: src/network_modules/openssl/start.c:272
1890   -#, fuzzy
  1954 +#: src/network_modules/openssl/start.c:268
1891 1955 msgid "Unexpected I/O error"
1892   -msgstr "Erro inesperado"
  1956 +msgstr "Erro de I/O inesperado"
1893 1957  
1894   -#: src/core/paste.c:400
  1958 +#: src/core/paste.c:375
1895 1959 msgid "Unexpected error"
1896 1960 msgstr "Erro inesperado"
1897 1961  
1898   -#: src/network_modules/tools.c:153
  1962 +#: src/network_modules/tools.c:134
1899 1963 msgid "Unexpected error writing to network socket"
1900 1964 msgstr "Erro inesperado gravando socket"
1901 1965  
1902   -#: src/core/keyboard/kybd.c:281
  1966 +#: src/core/keyboard/kybd.c:264
1903 1967 #, c-format
1904 1968 msgid "Unexpected type %d in typeahead queue"
1905 1969 msgstr "Tipo inesperado %d na fila de teclado"
1906 1970  
1907   -#: src/core/telnet.c:1889 src/core/telnet.c:1911
  1971 +#: src/core/telnet.c:1774 src/core/telnet.c:1794
1908 1972 msgid "Unknown"
1909 1973 msgstr "Desconhecido"
1910 1974  
1911   -#: src/core/ctlr.c:676
  1975 +#: src/core/ctlr.c:626
1912 1976 #, c-format
1913 1977 msgid "Unknown 3270 Data Stream command: 0x%X"
1914 1978 msgstr "Unknown 3270 Data Stream command: 0x%X"
1915 1979  
1916   -#: src/core/ft/ft_cut.c:379
  1980 +#: src/core/ft/ft_cut.c:368
1917 1981 msgid "Unknown FT control code from host"
1918 1982 msgstr "Servidor enviou código de controle FT desconhecido"
1919 1983  
1920   -#: src/core/keyboard/kybd.c:1688
  1984 +#: src/core/keyboard/kybd.c:1542
1921 1985 #, c-format
1922 1986 msgid "Unknown PA key %d"
1923 1987 msgstr "PA %d desconhecida"
1924 1988  
1925   -#: src/core/keyboard/kybd.c:1703
  1989 +#: src/core/keyboard/kybd.c:1555
1926 1990 #, c-format
1927 1991 msgid "Unknown PF key %d"
1928 1992 msgstr "PF %d desconhecida"
1929 1993  
1930   -#: src/core/ft/ft_cut.c:303
  1994 +#: src/core/ft/ft_cut.c:297
1931 1995 msgid "Unknown frame type from host"
1932 1996 msgstr "Servidor enviou tipo de frame desconhecido"
1933 1997  
1934   -#: src/core/properties/unsigned.c:150
  1998 +#: src/core/properties/unsigned.c:161
1935 1999 msgid "Unlock delay"
1936 2000 msgstr "Atraso no desbloqueio"
1937 2001  
1938   -#: src/core/rpq.c:230
  2002 +#: src/core/rpq.c:223
1939 2003 msgid "Unsupported RPQ term"
1940 2004 msgstr "Unsupported RPQ term"
1941 2005  
1942   -#: src/network_modules/openssl/messages.c:307
  2006 +#: src/network_modules/openssl/messages.c:313
1943 2007 msgid "Unsupported certificate purpose"
1944 2008 msgstr "Finalidade do certificado não é suportada"
1945 2009  
1946   -#: src/core/actions/table.c:158
  2010 +#: src/core/actions/table.c:143
1947 2011 msgid "Up"
1948 2012 msgstr "Subir"
1949 2013  
1950   -#: src/core/toggles/table.c:53
  2014 +#: src/core/toggles/table.c:52
1951 2015 msgid "Uppercase only"
1952 2016 msgstr "Apenas maiúsculas"
1953 2017  
1954   -#: src/core/toggles/table.c:253 src/core/toggles/table.c:254
  2018 +#: src/core/toggles/table.c:245 src/core/toggles/table.c:246
1955 2019 msgid "Use +/- for field navigation"
1956 2020 msgstr "Usar teclas +/- para navegar por campos"
1957 2021  
1958   -#: src/core/toggles/table.c:255
  2022 +#: src/core/toggles/table.c:247
1959 2023 msgid "Use the keys +/- from keypad to select editable fields"
1960 2024 msgstr "Use the keys +/- from keypad to select editable fields"
1961 2025  
1962   -#: src/core/ft/ft.c:537
  2026 +#: src/core/windows/connect.c:111
  2027 +msgid "WSAStartup failed"
  2028 +msgstr "WSAStartup falhou"
  2029 +
  2030 +#: src/core/ft/ft.c:487
1963 2031 msgid "Waiting for GET response"
1964 2032 msgstr "Aguardando resposta do pedido de download"
1965 2033  
1966   -#: src/core/ft/ft.c:539
  2034 +#: src/core/ft/ft.c:489
1967 2035 msgid "Waiting for PUT response"
1968 2036 msgstr "Aguardando resposta do pedido de upload"
1969 2037  
1970   -#: src/core/telnet.c:776
  2038 +#: src/core/telnet.c:727
1971 2039 msgid "Warning"
1972 2040 msgstr "Alerta"
1973 2041  
  2042 +#: src/core/windows/util.c:126 src/core/windows/util.c:169
  2043 +#, c-format
  2044 +msgid "Windows error %d"
  2045 +msgstr "Erro windows foi %d"
  2046 +
1974 2047 #: src/core/toggles/table.c:103 src/core/toggles/table.c:104
1975 2048 msgid "Wrap around"
1976 2049 msgstr "Wrap around"
... ... @@ -2050,47 +2123,47 @@ msgstr &quot;&quot;
2050 2123 msgid "You specified an option that is invalid."
2051 2124 msgstr "Você especificou uma opção inválida."
2052 2125  
2053   -#: src/core/actions/table.c:141
  2126 +#: src/core/actions/table.c:126
2054 2127 msgid "_Disconnect"
2055 2128 msgstr "_Desconectar"
2056 2129  
2057   -#: src/core/actions/table.c:127
  2130 +#: src/core/actions/table.c:112
2058 2131 msgid "_Reconnect"
2059 2132 msgstr "_Reconectar"
2060 2133  
2061   -#: src/core/linux/connect.c:305
  2134 +#: src/core/windows/connect.c:340
2062 2135 msgid "_Retry"
2063 2136 msgstr "_Repetir"
2064 2137  
2065   -#: src/core/toggles/init.c:89 src/core/linux/connect.c:339
  2138 +#: src/core/toggles/init.c:83 src/core/windows/connect.c:372
2066 2139 msgid "disable"
2067 2140 msgstr "desabilitar"
2068 2141  
2069   -#: src/core/toggles/init.c:89 src/core/linux/connect.c:339
  2142 +#: src/core/toggles/init.c:83 src/core/windows/connect.c:372
2070 2143 msgid "enable"
2071 2144 msgstr "habilitar"
2072 2145  
2073   -#: src/network_modules/tools.c:196
  2146 +#: src/network_modules/tools.c:174
2074 2147 msgid "fcntl() error when getting socket state."
2075 2148 msgstr "erro fcntl() ao obter estado do socket."
2076 2149  
2077   -#: src/network_modules/tools.c:182
  2150 +#: src/network_modules/tools.c:161
2078 2151 msgid "ioctlsocket(FIONBIO) failed."
2079 2152 msgstr "ioctlsocket(FIONBIO) failed."
2080 2153  
2081   -#: src/core/properties/string.c:138
  2154 +#: src/core/properties/string.c:134
2082 2155 msgid "lib3270 revision"
2083 2156 msgstr "Revisão da lib3270"
2084 2157  
2085   -#: src/core/properties/string.c:131
  2158 +#: src/core/properties/string.c:127
2086 2159 msgid "lib3270 version"
2087 2160 msgstr "Versão da lib3270"
2088 2161  
2089   -#: src/core/properties/boolean.c:195
  2162 +#: src/core/properties/boolean.c:191
2090 2163 msgid "numeric lock"
2091 2164 msgstr "numeric lock"
2092 2165  
2093   -#: src/core/linux/connect.c:326
  2166 +#: src/core/windows/connect.c:359
2094 2167 msgid "setsockopt(SO_OOBINLINE) has failed"
2095 2168 msgstr "setsockopt(SO_OOBINLINE) has failed"
2096 2169  
... ... @@ -2313,9 +2386,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2313 2386 #~ msgid "Background"
2314 2387 #~ msgstr "Fundo"
2315 2388  
2316   -#~ msgid "Bad winsock version"
2317   -#~ msgstr "Versão winsock inválida"
2318   -
2319 2389 #~ msgid "Black"
2320 2390 #~ msgstr "Preto"
2321 2391  
... ... @@ -2358,18 +2428,9 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2358 2428 #~ msgid "Can't add activity"
2359 2429 #~ msgstr "Não é possível adicionar atividade"
2360 2430  
2361   -#~ msgid "Can't bind to LDAP server"
2362   -#~ msgstr "Não foi possível conectar ao servidor LDAP"
2363   -
2364   -#~ msgid "Can't connect to HTTP server."
2365   -#~ msgstr "Não foi possível conectar ao servidor HTTP"
2366   -
2367 2431 #~ msgid "Can't convert line %lu from %s to %s"
2368 2432 #~ msgstr "Não foi possível converter a linha %lu de %s para %s"
2369 2433  
2370   -#~ msgid "Can't create HTTP request."
2371   -#~ msgstr "Não foi possível criar requisição HTTP"
2372   -
2373 2434 #~ msgid "Can't cut rectangular regions"
2374 2435 #~ msgstr "Recortar não permitido em seleção retangular"
2375 2436  
... ... @@ -2395,8 +2456,8 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2395 2456 #~ msgid "Can't get screen contents"
2396 2457 #~ msgstr "Não foi possível obter o conteúdo da tela"
2397 2458  
2398   -#~ msgid "Can't initialize LDAP"
2399   -#~ msgstr "Erro ao inicializar LDAP"
  2459 +#~ msgid "Can't initialize curl operation"
  2460 +#~ msgstr "Erro ao inicializar operação CURL"
2400 2461  
2401 2462 #~ msgid "Can't load \"%s\": %s"
2402 2463 #~ msgstr "Não foi possível carregar \"%s\": %s"
... ... @@ -2422,9 +2483,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2422 2483 #~ msgid "Can't open CRL File"
2423 2484 #~ msgstr "Não foi possível abrir arquivo CRL"
2424 2485  
2425   -#~ msgid "Can't open HTTP session"
2426   -#~ msgstr "Não foi possível abrir sessão HTTP"
2427   -
2428 2486 #~ msgid "Can't open file"
2429 2487 #~ msgstr "Não foi possível abrir arquivo"
2430 2488  
... ... @@ -2455,9 +2513,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2455 2513 #~ msgid "Can't read \"%s\": %s"
2456 2514 #~ msgstr "Não foi possível ler \"%s\": %s"
2457 2515  
2458   -#~ msgid "Can't read HTTP response size."
2459   -#~ msgstr "Não posso obter tamanho da resposta HTTP"
2460   -
2461 2516 #~ msgid "Can't recognize \"%s\" as a valid host type"
2462 2517 #~ msgstr "Não reconheço \"%s\" como um tipo de host válido"
2463 2518  
... ... @@ -2494,12 +2549,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2494 2549 #~ msgid "Can't search LDAP server"
2495 2550 #~ msgstr "Não foi possível conectar ao servidor LDAP"
2496 2551  
2497   -#~ msgid "Can't send HTTP request."
2498   -#~ msgstr "Não posso enviar requisição HTTP"
2499   -
2500   -#~ msgid "Can't set LDAP protocol version"
2501   -#~ msgstr "Não é possível setar a versão do protocolo LDAP"
2502   -
2503 2552 #~ msgid "Can't set callback table"
2504 2553 #~ msgstr "Não foi possível setar a tabela de retornos"
2505 2554  
... ... @@ -2518,9 +2567,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2518 2567 #~ msgid "Can't start upload."
2519 2568 #~ msgstr "Não foi possível iniciar upload."
2520 2569  
2521   -#~ msgid "Can't use this system winsock"
2522   -#~ msgstr "Não posso usar a winsock do sistema"
2523   -
2524 2570 #~ msgid "Can't use winsock version %d.%d"
2525 2571 #~ msgstr "Não posso usar versão winsock %d.%d"
2526 2572  
... ... @@ -2717,9 +2763,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2717 2763 #~ msgid "Empty port name"
2718 2764 #~ msgstr "Porta em branco"
2719 2765  
2720   -#~ msgid "Empty response from HTTP server."
2721   -#~ msgstr "Recebi resposta vazia do servidor HTTP"
2722   -
2723 2766 #~ msgid ""
2724 2767 #~ "Erase\n"
2725 2768 #~ "Input"
... ... @@ -2730,6 +2773,9 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2730 2773 #~ msgid "Erase to end of line"
2731 2774 #~ msgstr "Apagar até o final da linha"
2732 2775  
  2776 +#~ msgid "Error"
  2777 +#~ msgstr "Erro"
  2778 +
2733 2779 #~ msgid "Error \"%s\" reading local file (rc=%d)"
2734 2780 #~ msgstr "Error \"%s\" reading local file (rc=%d)"
2735 2781  
... ... @@ -2748,9 +2794,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2748 2794 #~ msgid "Error loading CRL"
2749 2795 #~ msgstr "Erro lendo CRL"
2750 2796  
2751   -#~ msgid "Error receiving HTTP response."
2752   -#~ msgstr "Erro recebendo resposta HTTP."
2753   -
2754 2797 #~ msgid "Error resolving %s: %s"
2755 2798 #~ msgstr "Erro ao resolver %s: %s"
2756 2799  
... ... @@ -2944,6 +2987,9 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
2944 2987 #~ msgid "Intensified/Unprotected"
2945 2988 #~ msgstr "Intensificado/Desprotegido"
2946 2989  
  2990 +#~ msgid "Internal error"
  2991 +#~ msgstr "Erro interno"
  2992 +
2947 2993 #~ msgid "Invalid CGCSGID '%s', ignoring"
2948 2994 #~ msgstr "Invalid CGCSGID '%s', ignoring"
2949 2995  
... ... @@ -3015,9 +3061,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
3015 3061 #~ "Makes the screen larger than the default for the chosen model number."
3016 3062 #~ msgstr "Usa tamanho maior do que o padrão para o modelo escolhido."
3017 3063  
3018   -#~ msgid "Minutes for auto-disconnect"
3019   -#~ msgstr "Minutos para desconexão automática"
3020   -
3021 3064 #~ msgid "Misc colors"
3022 3065 #~ msgstr "Cores diversas"
3023 3066  
... ... @@ -3078,9 +3121,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
3078 3121 #~ msgid "Not available"
3079 3122 #~ msgstr "Não disponível"
3080 3123  
3081   -#~ msgid "Not connected to host"
3082   -#~ msgstr "Sem conexão com servidor"
3083   -
3084 3124 #~ msgid "Not the same terminal type"
3085 3125 #~ msgstr "O tipo de terminal é diferente"
3086 3126  
... ... @@ -3656,9 +3696,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
3656 3696 #~ msgid "Set toggles ON"
3657 3697 #~ msgstr "Ativa toggles"
3658 3698  
3659   -#~ msgid "Set trace filename"
3660   -#~ msgstr "Define o nome do arquivo de trace"
3661   -
3662 3699 #~ msgid "Settings"
3663 3700 #~ msgstr "Configurações"
3664 3701  
... ... @@ -3849,11 +3886,8 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
3849 3886 #~ "O certificado de segurança apresentado pelo servidor não foi assinado por "
3850 3887 #~ "uma autoridade certificadora confiável."
3851 3888  
3852   -#~ msgid "The system error was \"%s\""
3853   -#~ msgstr "O erro do sistema operacional foi \"%s\""
3854   -
3855   -#~ msgid "The system error was %s"
3856   -#~ msgstr "O erro do sistema operacional foi \"%s\""
  3889 +#~ msgid "The system error was %s (%d)"
  3890 +#~ msgstr "O erro do sistema operacional foi \"%s\" (%d)"
3857 3891  
3858 3892 #~ msgid "There's no available settings for charset \"%s\""
3859 3893 #~ msgstr "Não encontrei configuração para a tabela de caracteres \"%s\""
... ... @@ -3898,9 +3932,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
3898 3932 #~ msgstr ""
3899 3933 #~ "Esta versão do %s foi gerada sem suporte para conexões seguras (SSL)."
3900 3934  
3901   -#~ msgid "Timeout conneting to host"
3902   -#~ msgstr "Timeout ao conectar com o host"
3903   -
3904 3935 #~ msgid "To"
3905 3936 #~ msgstr "Para"
3906 3937  
... ... @@ -4057,9 +4088,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
4057 4088 #~ msgid "WSAEventSelect failed"
4058 4089 #~ msgstr "WSAEventSelect falhou"
4059 4090  
4060   -#~ msgid "WSAStartup failed"
4061   -#~ msgstr "WSAStartup falhou"
4062   -
4063 4091 #~ msgid "WaitForMultipleObjects() failed when processing for events."
4064 4092 #~ msgstr "WaitForMultipleObjects() falhou ao processar eventos"
4065 4093  
... ... @@ -4078,9 +4106,6 @@ msgstr &quot;setsockopt(SO_OOBINLINE) has failed&quot;
4078 4106 #~ msgid "Windows Western languages (CP1252)"
4079 4107 #~ msgstr "Windows ocidental (CP1252)"
4080 4108  
4081   -#~ msgid "Windows error %d"
4082   -#~ msgstr "Erro windows foi %d"
4083   -
4084 4109 #~ msgid "Windows error was \"%s\" (%u)"
4085 4110 #~ msgstr "Erro windows foi \"%s\" (%u)"
4086 4111  
... ...
src/core/actions/table.c
... ... @@ -108,7 +108,7 @@ const LIB3270_ACTION * lib3270_get_actions() {
108 108 .type = LIB3270_ACTION_TYPE_NETWORK,
109 109  
110 110 .keys = NULL,
111   - .icon = "gtk-connect",
  111 + .icon = "connect",
112 112 .label = N_( "_Reconnect" ),
113 113 .summary = N_( "Reconnect to the same host" ),
114 114 .activate = connect_host,
... ... @@ -122,7 +122,7 @@ const LIB3270_ACTION * lib3270_get_actions() {
122 122 .type = LIB3270_ACTION_TYPE_NETWORK,
123 123  
124 124 .keys = NULL,
125   - .icon = "gtk-disconnect",
  125 + .icon = "disconnect",
126 126 .label = N_( "_Disconnect" ),
127 127 .summary = N_( "Disconnect from host" ),
128 128 .activate = lib3270_disconnect,
... ... @@ -601,7 +601,7 @@ const LIB3270_ACTION * lib3270_get_actions() {
601 601 .type = LIB3270_ACTION_TYPE_GENERIC,
602 602  
603 603 .keys = NULL,
604   - .icon = "gtk-ok",
  604 + .icon = "ok",
605 605 .label = N_("Enter"),
606 606 .summary = N_( "Send an \"Enter\" action" ),
607 607 .activate = lib3270_enter,
... ...
src/core/ft/ft.c
... ... @@ -635,7 +635,8 @@ LIB3270_EXPORT LIB3270_FT_STATE lib3270_get_ft_state(H3270 *session) {
635 635 return ((H3270FT *) session->ft)->state;
636 636 }
637 637  
638   -LIB3270_EXPORT int lib3270_send(H3270 *hSession, const char *from, const char *to, const char **args) {
  638 +LIB3270_EXPORT int lib3270_send(H3270 *hSession, const char GNUC_UNUSED(*from), const char GNUC_UNUSED(*to), const char GNUC_UNUSED(**args)) {
  639 +
639 640 FAIL_IF_NOT_ONLINE(hSession);
640 641  
641 642 if(hSession->ft)
... ... @@ -644,7 +645,7 @@ LIB3270_EXPORT int lib3270_send(H3270 *hSession, const char *from, const char *t
644 645 return ENOTSUP;
645 646 }
646 647  
647   -LIB3270_EXPORT int lib3270_receive(H3270 *hSession, const char *from, const char *to, const char **args) {
  648 +LIB3270_EXPORT int lib3270_receive(H3270 *hSession, const char GNUC_UNUSED(*from), const char GNUC_UNUSED(*to), const char GNUC_UNUSED(**args)) {
648 649 FAIL_IF_NOT_ONLINE(hSession);
649 650  
650 651 if(hSession->ft)
... ...
src/core/host.c
... ... @@ -104,7 +104,11 @@ LIB3270_EXPORT int lib3270_disconnect(H3270 *h) {
104 104 return host_disconnect(h,0);
105 105 }
106 106  
  107 +/// @brief Do disconnect.
  108 +/// @param hSession Session handle.
  109 +/// @param failed Non zero if it was a failure.
107 110 int host_disconnect(H3270 *hSession, int failed) {
  111 +
108 112 CHECK_SESSION_HANDLE(hSession);
109 113  
110 114 debug("%s: connected=%s half connected=%s network=%s",
... ... @@ -121,20 +125,27 @@ int host_disconnect(H3270 *hSession, int failed) {
121 125  
122 126 trace("Disconnected (Failed: %d Reconnect: %d in_progress: %d)",failed,lib3270_get_toggle(hSession,LIB3270_TOGGLE_RECONNECT),hSession->auto_reconnect_inprogress);
123 127  
124   - if(failed && lib3270_get_toggle(hSession,LIB3270_TOGGLE_RECONNECT))
125   - lib3270_activate_auto_reconnect(hSession,failed ? RECONNECT_ERR_MS : RECONNECT_MS);
126   -
127   - /*
128   - * Remember a disconnect from ANSI mode, to keep screen tracing
129   - * in sync.
130   - */
131   -#if defined(X3270_TRACE) /*[*/
  128 + //
  129 + // Remember a disconnect from ANSI mode, to keep screen tracing in sync.
  130 + //
132 131 if (IN_ANSI && lib3270_get_toggle(hSession,LIB3270_TOGGLE_SCREEN_TRACE))
133 132 trace_ansi_disc(hSession);
134   -#endif /*]*/
135 133  
136 134 lib3270_set_disconnected(hSession);
137 135  
  136 + if(hSession->connection.error) {
  137 +
  138 + // TODO: Add 'reconnect' option in the popup dialog for optional auto reconnect.
  139 + lib3270_popup(hSession,hSession->connection.error,!hSession->auto_reconnect_inprogress);
  140 +
  141 + lib3270_free(hSession->connection.error);
  142 + hSession->connection.error = NULL;
  143 +
  144 + }
  145 +
  146 + if(failed && hSession->connection.retry && lib3270_get_toggle(hSession,LIB3270_TOGGLE_RECONNECT))
  147 + lib3270_activate_auto_reconnect(hSession,hSession->connection.retry);
  148 +
138 149 return 0;
139 150  
140 151 }
... ... @@ -334,7 +345,7 @@ LIB3270_EXPORT const char * lib3270_get_default_host(const H3270 GNUC_UNUSED(*hS
334 345 #endif // _WIN32
335 346  
336 347 #ifdef LIB3270_DEFAULT_HOST
337   - return LIB3270_STRINGIZE_VALUE_OF(LIB3270_DEFAULT_HOST);
  348 + return LIB3270_DEFAULT_HOST;
338 349 #else
339 350 return getenv("LIB3270_DEFAULT_HOST");
340 351 #endif // LIB3270_DEFAULT_HOST
... ...
src/core/linux/log.c
... ... @@ -42,22 +42,19 @@
42 42  
43 43 int use_syslog = 0;
44 44  
45   -void default_log_writer(H3270 GNUC_UNUSED(*session), const char *module, int GNUC_UNUSED(rc), const char *fmt, va_list arg_ptr) {
  45 +int default_loghandler(const H3270 GNUC_UNUSED(*session), void GNUC_UNUSED(*userdata), const char *module, int GNUC_UNUSED(rc), const char *message) {
46 46 #ifdef HAVE_SYSLOG
47 47 if(use_syslog) {
48   - vsyslog(LOG_INFO, fmt, arg_ptr);
  48 + syslog(LOG_INFO, "%s: %s", module, message);
49 49 } else {
50   - printf("%s:\t",module);
51   - vprintf(fmt,arg_ptr);
52   - printf("\n");
  50 + printf("%s %s\n", module, message);
53 51 fflush(stdout);
54 52 }
55 53 #else
56   - printf("%s:\t",module);
57   - vprintf(fmt,arg_ptr);
58   - printf("\n");
  54 + printf("%s %s\n", module, message);
59 55 fflush(stdout);
60 56 #endif
  57 + return 0;
61 58 }
62 59  
63 60 LIB3270_EXPORT int lib3270_set_syslog(int flag) {
... ...
src/core/log.c
... ... @@ -30,6 +30,8 @@
30 30 *
31 31 */
32 32  
  33 +#include <config.h>
  34 +
33 35 #ifdef WIN32
34 36 #include <winsock2.h>
35 37 #include <windows.h>
... ... @@ -45,31 +47,108 @@
45 47  
46 48 /*---[ Constants ]------------------------------------------------------------------------------------------*/
47 49  
48   -static void (*loghandler)(H3270 *session, const char *module, int rc, const char *fmt, va_list arg_ptr) = default_log_writer;
  50 +static LIB3270_LOG_HANDLER loghandler = default_loghandler;
  51 +static void *loguserdata = NULL;
49 52  
50 53 /*---[ Implementacao ]--------------------------------------------------------------------------------------*/
51 54  
52   -LIB3270_EXPORT void lib3270_set_log_handler(void (*handler)(H3270 *, const char *, int, const char *, va_list)) {
53   - loghandler = handler ? handler : default_log_writer;
  55 +static void write_log(const H3270 *session, const char *module, int rc, const char *fmt, va_list args) {
  56 +
  57 + // 'mount' message.
  58 + char *message = lib3270_vsprintf(fmt,args);
  59 +
  60 + // Write log
  61 + if(session) {
  62 +
  63 + if(session->log.file) {
  64 +
  65 + // Has log file. Use it if possible.
  66 + FILE *f = fopen(session->log.file, "a");
  67 +
  68 + if(f) {
  69 +
  70 + time_t ltime = time(0);
  71 +
  72 + char timestamp[80];
  73 + #ifdef HAVE_LOCALTIME_R
  74 + struct tm tm;
  75 + strftime(timestamp, 79, "%x %X", localtime_r(&ltime,&tm));
  76 + #else
  77 + strftime(timestamp, 79, "%x %X", localtime(&ltime));
  78 + #endif // HAVE_LOCALTIME_R
  79 +
  80 + fprintf(f,"%s %s\t%s\n",timestamp,module,message);
  81 +
  82 + fclose(f);
  83 +
  84 + }
  85 +
  86 + }
  87 +
  88 + session->log.handler(session,session->log.userdata,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),rc,message);
  89 +
  90 + } else {
  91 +
  92 + loghandler(session, loguserdata, (module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME)),rc,message);
  93 +
  94 + }
  95 +
  96 + lib3270_free(message);
  97 +
  98 +}
  99 +
  100 +LIB3270_EXPORT const char * lib3270_get_log_filename(const H3270 * hSession) {
  101 + return hSession->log.file;
  102 +}
  103 +
  104 +LIB3270_EXPORT int lib3270_set_log_filename(H3270 * hSession, const char *filename) {
  105 +
  106 + if(!hSession) {
  107 + return EINVAL;
  108 + }
  109 +
  110 + if(hSession->log.file) {
  111 + lib3270_free(hSession->log.file);
  112 + }
  113 +
  114 + hSession->log.file = NULL;
  115 +
  116 + if(filename && *filename) {
  117 + hSession->log.file = lib3270_strdup(filename);
  118 + }
  119 +
  120 + return 0;
  121 +
  122 +}
  123 +
  124 +LIB3270_EXPORT void lib3270_set_log_handler(H3270 *session, const LIB3270_LOG_HANDLER handler, void *userdata) {
  125 +
  126 + if(session) {
  127 + session->log.handler = (handler ? handler : loghandler);
  128 + session->log.userdata = userdata;
  129 + } else {
  130 + loghandler = (handler ? handler : default_loghandler);
  131 + loguserdata = userdata;
  132 + }
54 133 }
55 134  
56   -LIB3270_EXPORT int lib3270_write_log(H3270 *session, const char *module, const char *fmt, ...) {
  135 +LIB3270_EXPORT int lib3270_write_log(const H3270 *session, const char *module, const char *fmt, ...) {
57 136 va_list arg_ptr;
58 137 va_start(arg_ptr, fmt);
59   - loghandler(session,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),0,fmt,arg_ptr);
  138 + write_log(session,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),0,fmt,arg_ptr);
60 139 va_end(arg_ptr);
61 140 return 0;
62 141 }
63 142  
64   -LIB3270_EXPORT int lib3270_write_rc(H3270 *session, const char *module, int rc, const char *fmt, ...) {
  143 +LIB3270_EXPORT int lib3270_write_rc(const H3270 *session, const char *module, int rc, const char *fmt, ...) {
65 144 va_list arg_ptr;
66 145 va_start(arg_ptr, fmt);
67   - loghandler(session,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),rc,fmt,arg_ptr);
  146 + write_log(session,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),rc,fmt,arg_ptr);
68 147 va_end(arg_ptr);
69 148 return rc;
70 149 }
71 150  
72   -LIB3270_EXPORT void lib3270_write_va_log(H3270 *session, const char *module, const char *fmt, va_list arg) {
73   - loghandler(session,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),0,fmt,arg);
  151 +LIB3270_EXPORT void lib3270_write_va_log(const H3270 *session, const char *module, const char *fmt, va_list arg) {
  152 + write_log(session,module ? module : LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME),0,fmt,arg);
74 153 }
75 154  
... ...
src/core/popup.c
... ... @@ -38,13 +38,12 @@
38 38 #include <internals.h>
39 39 #include <lib3270.h>
40 40 #include <lib3270/log.h>
  41 +#include <networking.h>
41 42  
42 43 /*--[ Implement ]------------------------------------------------------------------------------------*/
43 44  
44 45 LIB3270_EXPORT int lib3270_popup(H3270 *hSession, const LIB3270_POPUP *popup, unsigned char wait) {
45   - int rc = hSession->cbk.popup(hSession,popup,wait);
46   - debug("%s rc=%d (%s)",__FUNCTION__,rc,strerror(rc));
47   - return rc;
  46 + return hSession->cbk.popup(hSession,popup,wait);
48 47 }
49 48  
50 49 int lib3270_popup_translated(H3270 *hSession, const LIB3270_POPUP *popup, unsigned char wait) {
... ... @@ -191,3 +190,33 @@ LIB3270_EXPORT void lib3270_set_popup_handler(H3270 *hSession, int (*handler)(H3
191 190  
192 191  
193 192 }
  193 +
  194 +void lib3270_set_network_error(H3270 *hSession, const char *summary, const char *fmt, ...) {
  195 +
  196 + // Release last error.
  197 + if(hSession->connection.error) {
  198 + lib3270_free(hSession->connection.error);
  199 + hSession->connection.error = NULL;
  200 + }
  201 +
  202 + // Format body.
  203 + va_list args;
  204 + va_start(args, fmt);
  205 + lib3270_autoptr(char) body = lib3270_vsprintf(fmt, args);
  206 + va_end(args);
  207 +
  208 + hSession->connection.error = lib3270_malloc(sizeof(LIB3270_POPUP) + strlen(summary) + strlen(body) + 3);
  209 +
  210 + // Set type.
  211 + hSession->connection.error->type = LIB3270_NOTIFY_ERROR;
  212 +
  213 + // Copy summary
  214 + hSession->connection.error->summary = (char *) (hSession->connection.error + 1);
  215 + strcpy((char *) hSession->connection.error->summary,summary);
  216 +
  217 + // Copy body.
  218 + hSession->connection.error->body = hSession->connection.error->summary + strlen(hSession->connection.error->summary) + 1;
  219 + strcpy((char *) hSession->connection.error->body,body);
  220 +
  221 +}
  222 +
... ...
src/core/properties/string.c
... ... @@ -36,6 +36,7 @@
36 36 #include <lib3270/keyboard.h>
37 37 #include <lib3270/log.h>
38 38 #include <lib3270/ssl.h>
  39 +#include <lib3270/trace.h>
39 40  
40 41 static const char * get_version(const H3270 GNUC_UNUSED(*hSession)) {
41 42 return lib3270_get_version();
... ... @@ -183,6 +184,22 @@ LIB3270_EXPORT const LIB3270_STRING_PROPERTY * lib3270_get_string_properties_lis
183 184 },
184 185  
185 186 {
  187 + .name = "logfile", // Property name.
  188 + .group = LIB3270_ACTION_GROUP_NONE, // Property group.
  189 + .description = N_( "The log file name"), // Property description.
  190 + .get = lib3270_get_log_filename, // Get value.
  191 + .set = lib3270_set_log_filename // Set value.
  192 + },
  193 +
  194 + {
  195 + .name = "tracefile", // Property name.
  196 + .group = LIB3270_ACTION_GROUP_NONE, // Property group.
  197 + .description = N_( "The trace file name"), // Property description.
  198 + .get = lib3270_get_trace_filename, // Get value.
  199 + .set = lib3270_set_trace_filename // Set value.
  200 + },
  201 +
  202 + {
186 203 .name = NULL,
187 204 .description = NULL,
188 205 .get = NULL,
... ...
src/core/properties/unsigned.c
... ... @@ -61,6 +61,15 @@ static unsigned int lib3270_get_host_type_number(const H3270 *hSession) {
61 61 return (unsigned int) hSession->host_type;
62 62 }
63 63  
  64 +LIB3270_EXPORT unsigned int lib3270_get_auto_reconnect(const H3270 *hSession) {
  65 + return hSession->connection.retry;
  66 +}
  67 +
  68 +LIB3270_EXPORT int lib3270_set_auto_reconnect(H3270 *hSession, unsigned int timer) {
  69 + hSession->connection.retry = timer;
  70 + return 0;
  71 +}
  72 +
64 73 const LIB3270_UINT_PROPERTY * lib3270_get_unsigned_properties_list(void) {
65 74  
66 75 static const LIB3270_UINT_PROPERTY properties[] = {
... ... @@ -132,6 +141,14 @@ const LIB3270_UINT_PROPERTY * lib3270_get_unsigned_properties_list(void) {
132 141 },
133 142  
134 143 {
  144 + .name = "auto_reconnect", // Property name.
  145 + .default_value = 5000, // Default value for the property.
  146 + .description = N_( "Time for auto-reconnect" ), // Property description.
  147 + .get = lib3270_get_auto_reconnect, // Get value.
  148 + .set = lib3270_set_auto_reconnect // Set value.
  149 + },
  150 +
  151 + {
135 152 .name = "unlock_delay", // Property name.
136 153 .group = LIB3270_ACTION_GROUP_OFFLINE, // Property group.
137 154 #ifdef UNLOCK_MS
... ...
src/core/session.c
... ... @@ -147,7 +147,9 @@ void lib3270_session_free(H3270 *h) {
147 147 // Release inputs;
148 148 lib3270_linked_list_free(&h->input.list);
149 149  
150   - trace("Releasing session %p",h);
  150 + // Release logfile
  151 + release_pointer(h->log.file);
  152 + release_pointer(h->trace.file);
151 153 lib3270_free(h);
152 154  
153 155 }
... ... @@ -197,11 +199,6 @@ static int load(H3270 *session, const char GNUC_UNUSED(*filename)) {
197 199 return errno = ENOTSUP;
198 200 }
199 201  
200   -static void def_trace(H3270 GNUC_UNUSED(*session), void GNUC_UNUSED(*userdata), const char *fmt, va_list args) {
201   - vfprintf(stdout,fmt,args);
202   - fflush(stdout);
203   -}
204   -
205 202 static void update_ssl(H3270 GNUC_UNUSED(*session), LIB3270_SSL_STATE GNUC_UNUSED(state)) {
206 203 }
207 204  
... ... @@ -258,6 +255,8 @@ void lib3270_reset_callbacks(H3270 *hSession) {
258 255 hSession->cbk.reconnect = lib3270_reconnect;
259 256  
260 257 lib3270_set_popup_handler(hSession, NULL);
  258 + lib3270_set_log_handler(hSession,NULL,NULL);
  259 + lib3270_set_trace_handler(hSession,NULL,NULL);
261 260  
262 261 }
263 262  
... ... @@ -274,9 +273,6 @@ static void lib3270_session_init(H3270 *hSession, const char *model, const char
274 273 lib3270_set_host_charset(hSession,charset);
275 274 lib3270_reset_callbacks(hSession);
276 275  
277   - // Trace management.
278   - hSession->trace.handler = def_trace;
279   -
280 276 // Set the defaults.
281 277 hSession->extended = 1;
282 278 hSession->typeahead = 1;
... ... @@ -287,6 +283,7 @@ static void lib3270_session_init(H3270 *hSession, const char *model, const char
287 283 hSession->model_num = -1;
288 284 hSession->connection.state = LIB3270_NOT_CONNECTED;
289 285 hSession->connection.timeout = 10000;
  286 + hSession->connection.retry = 5000;
290 287 hSession->oia.status = LIB3270_MESSAGE_DISCONNECTED;
291 288 hSession->kybdlock = KL_NOT_CONNECTED;
292 289 hSession->aid = AID_NO;
... ... @@ -362,21 +359,6 @@ static void lib3270_session_init(H3270 *hSession, const char *model, const char
362 359  
363 360 }
364 361  
365   -LIB3270_EXPORT void lib3270_set_trace_handler(H3270 *hSession, LIB3270_TRACE_HANDLER handler, void *userdata) {
366   - CHECK_SESSION_HANDLE(hSession);
367   -
368   - hSession->trace.handler = handler ? handler : def_trace;
369   - hSession->trace.userdata = userdata;
370   -}
371   -
372   -LIB3270_EXPORT void lib3270_get_trace_handler(H3270 *hSession, LIB3270_TRACE_HANDLER *handler, void **userdata) {
373   - CHECK_SESSION_HANDLE(hSession);
374   -
375   - *handler = hSession->trace.handler;
376   - *userdata = hSession->trace.userdata;
377   -
378   -}
379   -
380 362 H3270 * lib3270_session_new(const char *model) {
381 363 H3270 * hSession;
382 364  
... ... @@ -485,7 +467,8 @@ LIB3270_EXPORT char lib3270_get_session_id(H3270 *hSession) {
485 467 }
486 468  
487 469 struct lib3270_session_callbacks * lib3270_get_session_callbacks(H3270 *hSession, const char *revision, unsigned short sz) {
488   -#define REQUIRED_REVISION "20201117"
  470 +
  471 + #define REQUIRED_REVISION "20210801"
489 472  
490 473 if(revision && strcasecmp(revision,REQUIRED_REVISION) < 0) {
491 474 errno = EINVAL;
... ...
src/core/telnet.c
... ... @@ -1479,7 +1479,7 @@ static void net_rawout(H3270 *hSession, unsigned const char *buf, size_t len) {
1479 1479 int nw = lib3270_sock_send(hSession,buf,len);
1480 1480  
1481 1481 if (nw > 0) {
1482   - // Data received
  1482 + // Data sent
1483 1483 hSession->ns_bsent += nw;
1484 1484 len -= nw;
1485 1485 buf += nw;
... ...
src/core/toggles/getset.c
... ... @@ -68,13 +68,6 @@ static void toggle_notify(H3270 *session, struct lib3270_toggle *t, LIB3270_TOGG
68 68 ((struct lib3270_toggle_callback *) node)->func(session, ix, t->value, node->userdata);
69 69 }
70 70  
71   - /*
72   - for(st = session->listeners.toggle.callbacks[ix]; st != (struct lib3270_toggle_callback *) NULL; st = (struct lib3270_toggle_callback *) st->next)
73   - {
74   - st->func(session, ix, t->value, st->data);
75   - }
76   - */
77   -
78 71 }
79 72  
80 73 /**
... ...
src/core/toggles/table.c
... ... @@ -86,6 +86,7 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
86 86 {
87 87 .id = LIB3270_TOGGLE_DS_TRACE,
88 88 .name = "dstrace",
  89 + .nick = "ds",
89 90 .def = False,
90 91 .key = NULL, // Default keycode
91 92 .icon = NULL, // Icon name
... ... @@ -116,6 +117,7 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
116 117 {
117 118 .id = LIB3270_TOGGLE_SCREEN_TRACE,
118 119 .name = "screentrace",
  120 + .nick = "sc",
119 121 .def = False,
120 122 .key = NULL, // Default keycode
121 123 .icon = NULL, // Icon name
... ... @@ -126,6 +128,7 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
126 128 {
127 129 .id = LIB3270_TOGGLE_EVENT_TRACE,
128 130 .name = "eventtrace",
  131 + .nick = "ev",
129 132 .def = False,
130 133 .key = NULL, // Default keycode
131 134 .icon = NULL, // Icon name
... ... @@ -174,16 +177,6 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
174 177 .description = N_( "If set, asks to place the toplevel window in the fullscreen state" )
175 178 },
176 179 {
177   - .id = LIB3270_TOGGLE_RECONNECT,
178   - .name = "autoreconnect",
179   - .def = False,
180   - .key = NULL, // Default keycode
181   - .icon = NULL, // Icon name
182   - .label = N_( "Auto-Reconnect" ),
183   - .summary = N_( "Auto-Reconnect" ),
184   - .description = N_( "Automatically reconnect to the host if it ever disconnects" )
185   - },
186   - {
187 180 .id = LIB3270_TOGGLE_INSERT,
188 181 .name = "insert",
189 182 .def = False,
... ... @@ -296,6 +289,7 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
296 289 {
297 290 .id = LIB3270_TOGGLE_NETWORK_TRACE,
298 291 .name = "nettrace",
  292 + .nick = "net",
299 293 .def = False,
300 294 .key = NULL, // Default keycode
301 295 .icon = NULL, // Icon name
... ... @@ -306,6 +300,7 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
306 300 {
307 301 .id = LIB3270_TOGGLE_SSL_TRACE,
308 302 .name = "ssltrace",
  303 + .nick = "ssl",
309 304 .def = False,
310 305 .key = NULL, // Default keycode
311 306 .icon = NULL, // Icon name
... ... @@ -315,6 +310,17 @@ const LIB3270_TOGGLE toggle_descriptor[LIB3270_TOGGLE_COUNT+1] = {
315 310 },
316 311  
317 312 {
  313 + .id = LIB3270_TOGGLE_RECONNECT,
  314 + .name = "autoreconnect",
  315 + .def = False,
  316 + .key = NULL, // Default keycode
  317 + .icon = NULL, // Icon name
  318 + .label = N_( "Auto-Reconnect" ),
  319 + .summary = N_( "Auto-Reconnect" ),
  320 + .description = N_( "Automatically reconnect to the host if it ever disconnects" )
  321 + },
  322 +
  323 + {
318 324 .id = LIB3270_TOGGLE_COUNT,
319 325 .name = NULL,
320 326 .def = False,
... ...
src/core/trace_ds.c
... ... @@ -39,8 +39,6 @@
39 39 #include <internals.h>
40 40 #include <lib3270/trace.h>
41 41  
42   -#if defined(X3270_TRACE) /*[*/
43   -
44 42 #if defined(X3270_DISPLAY) /*[*/
45 43 #include <X11/StringDefs.h>
46 44 #include <X11/Xaw/Dialog.h>
... ... @@ -73,6 +71,40 @@
73 71 /* Statics */
74 72 static void wtrace(H3270 *session, const char *fmt, ...);
75 73  
  74 +static void write_trace(const H3270 *session, const char *fmt, va_list args) {
  75 +
  76 + // 'mount' message.
  77 + char *message = lib3270_vsprintf(fmt,args);
  78 +
  79 + if(session->trace.file) {
  80 +
  81 + // Has log file. Use it if possible.
  82 + FILE *f = fopen(session->trace.file, "a");
  83 +
  84 + if(f) {
  85 + fprintf(f,"%s",message);
  86 + fclose(f);
  87 + }
  88 +
  89 + }
  90 +
  91 + session->trace.handler(session,session->trace.userdata,message);
  92 +
  93 + lib3270_free(message);
  94 +
  95 +}
  96 +
  97 +/**
  98 + * @brief Write to the trace file.
  99 + */
  100 +static void wtrace(H3270 *session, const char *fmt, ...) {
  101 + va_list args;
  102 + va_start(args, fmt);
  103 + write_trace(session, fmt, args);
  104 + va_end(args);
  105 +}
  106 +
  107 +
76 108 /* display a (row,col) */
77 109 const char * rcba(H3270 *hSession, int baddr) {
78 110 static char buf[48];
... ... @@ -161,7 +193,7 @@ void trace_dsn(H3270 *session, const char *fmt, ...) {
161 193  
162 194 /* print out message */
163 195 va_start(args, fmt);
164   - session->trace.handler(session,session->trace.userdata,fmt, args);
  196 + write_trace(session,fmt,args);
165 197 va_end(args);
166 198 }
167 199  
... ... @@ -176,18 +208,7 @@ void trace_ssl(H3270 *session, const char *fmt, ...) {
176 208  
177 209 /* print out message */
178 210 va_start(args, fmt);
179   - session->trace.handler(session,session->trace.userdata,fmt, args);
180   - va_end(args);
181   -}
182   -
183   -
184   -/**
185   - * @brief Write to the trace file.
186   - */
187   -static void wtrace(H3270 *session, const char *fmt, ...) {
188   - va_list args;
189   - va_start(args, fmt);
190   - session->trace.handler(session,session->trace.userdata,fmt, args);
  211 + write_trace(session, fmt, args);
191 212 va_end(args);
192 213 }
193 214  
... ... @@ -195,7 +216,7 @@ LIB3270_EXPORT void lib3270_write_trace(H3270 *session, const char *fmt, ...) {
195 216 va_list args;
196 217  
197 218 va_start(args, fmt);
198   - session->trace.handler(session,session->trace.userdata,fmt, args);
  219 + write_trace(session, fmt, args);
199 220 va_end(args);
200 221 }
201 222  
... ... @@ -206,7 +227,7 @@ LIB3270_EXPORT void lib3270_write_dstrace(H3270 *session, const char *fmt, ...)
206 227 return;
207 228  
208 229 va_start(args, fmt);
209   - session->trace.handler(session,session->trace.userdata,fmt, args);
  230 + write_trace(session, fmt, args);
210 231 va_end(args);
211 232 }
212 233  
... ... @@ -217,7 +238,7 @@ LIB3270_EXPORT void lib3270_write_nettrace(H3270 *session, const char *fmt, ...)
217 238 return;
218 239  
219 240 va_start(args, fmt);
220   - session->trace.handler(session,session->trace.userdata,fmt, args);
  241 + write_trace(session, fmt, args);
221 242 va_end(args);
222 243 }
223 244  
... ... @@ -228,7 +249,7 @@ LIB3270_EXPORT void lib3270_write_screen_trace(H3270 *session, const char *fmt,
228 249 return;
229 250  
230 251 va_start(args, fmt);
231   - session->trace.handler(session,session->trace.userdata,fmt, args);
  252 + write_trace(session, fmt, args);
232 253 va_end(args);
233 254 }
234 255  
... ... @@ -239,7 +260,7 @@ LIB3270_EXPORT void lib3270_write_event_trace(H3270 *session, const char *fmt, .
239 260 return;
240 261  
241 262 va_start(args, fmt);
242   - session->trace.handler(session,session->trace.userdata,fmt, args);
  263 + write_trace(session, fmt, args);
243 264 va_end(args);
244 265 }
245 266  
... ... @@ -250,7 +271,7 @@ LIB3270_EXPORT void lib3270_trace_event(H3270 *session, const char *fmt, ...) {
250 271 return;
251 272  
252 273 va_start(args, fmt);
253   - session->trace.handler(session,session->trace.userdata,fmt, args);
  274 + write_trace(session, fmt, args);
254 275 va_end(args);
255 276 }
256 277  
... ... @@ -348,4 +369,56 @@ void lib3270_trace_data(H3270 *hSession, const char *msg, const unsigned char *d
348 369  
349 370 }
350 371  
351   -#endif
  372 +LIB3270_EXPORT const char * lib3270_get_trace_filename(const H3270 * hSession) {
  373 + return hSession->trace.file;
  374 +}
  375 +
  376 +LIB3270_EXPORT int lib3270_set_trace_filename(H3270 * hSession, const char *filename) {
  377 +
  378 + if(hSession->trace.file) {
  379 + lib3270_free(hSession->trace.file);
  380 + }
  381 + hSession->trace.file = NULL;
  382 +
  383 + if(filename && *filename) {
  384 + hSession->trace.file = lib3270_strdup(filename);
  385 + }
  386 +
  387 + return 0;
  388 +
  389 +}
  390 +
  391 +static int def_trace(const H3270 *session, void GNUC_UNUSED(*userdata), const char *message) {
  392 +
  393 + if(session->log.file) {
  394 +
  395 + // Has log file. Use it if possible.
  396 + FILE *f = fopen(session->log.file, "a");
  397 +
  398 + if(f) {
  399 + fprintf(f,"%s",message);
  400 + fclose(f);
  401 + }
  402 +
  403 + return 0;
  404 +
  405 + }
  406 +
  407 + return -1;
  408 +}
  409 +
  410 +LIB3270_EXPORT void lib3270_set_trace_handler(H3270 *hSession, LIB3270_TRACE_HANDLER handler, void *userdata) {
  411 + CHECK_SESSION_HANDLE(hSession);
  412 +
  413 + hSession->trace.handler = handler ? handler : def_trace;
  414 + hSession->trace.userdata = userdata;
  415 +}
  416 +
  417 +LIB3270_EXPORT void lib3270_get_trace_handler(H3270 *hSession, LIB3270_TRACE_HANDLER *handler, void **userdata) {
  418 + CHECK_SESSION_HANDLE(hSession);
  419 +
  420 + *handler = hSession->trace.handler;
  421 + *userdata = hSession->trace.userdata;
  422 +
  423 +}
  424 +
... ...
src/core/windows/log.c
... ... @@ -41,12 +41,10 @@
41 41  
42 42 /*---[ Implement ]------------------------------------------------------------------------------------------*/
43 43  
44   -void default_log_writer(H3270 GNUC_UNUSED(*session), const char *module, int rc, const char *fmt, va_list arg_ptr) {
45   - lib3270_autoptr(char) msg = lib3270_vsprintf(fmt,arg_ptr);
46   -
47   - debug("%s",msg);
  44 +int default_loghandler(const H3270 GNUC_UNUSED(*session), void GNUC_UNUSED(*userdata), const char *module, int rc, const char *msg) {
48 45  
49 46 if(hEventLog) {
  47 +
50 48 lib3270_autoptr(char) username = lib3270_get_user_name();
51 49  
52 50 const char *outMsg[] = {
... ... @@ -74,6 +72,7 @@ void default_log_writer(H3270 GNUC_UNUSED(*session), const char *module, int rc,
74 72  
75 73 }
76 74  
  75 + return 0;
77 76 }
78 77  
79 78 LIB3270_EXPORT int lib3270_set_syslog(int GNUC_UNUSED(flag)) {
... ...
src/core/windows/registry.c
... ... @@ -32,6 +32,7 @@
32 32 * @brief Win32 Registry functions.
33 33 */
34 34  
  35 +#include <config.h>
35 36 #include <winsock2.h>
36 37 #include <windows.h>
37 38 #include <lib3270.h>
... ... @@ -67,3 +68,18 @@ LIB3270_EXPORT DWORD lib3270_win32_get_dword(HKEY hKey, const char *name, DWORD
67 68  
68 69 return val;
69 70 }
  71 +
  72 +LIB3270_EXPORT LSTATUS lib3270_win32_set_string(LPCSTR module, LPCSTR keyname, LPCSTR value) {
  73 +
  74 + HKEY hKey = 0;
  75 + LSTATUS status = lib3270_win32_create_regkey(module, KEY_CREATE_SUB_KEY|KEY_SET_VALUE, &hKey);
  76 +
  77 + if(status != ERROR_SUCCESS)
  78 + return status;
  79 +
  80 + status = RegSetValueEx(hKey,keyname,0,REG_SZ,(const BYTE *) value,strlen(value)+1);
  81 +
  82 + RegCloseKey(hKey);
  83 +
  84 + return status;
  85 +}
... ...
src/include/internals.h
... ... @@ -41,6 +41,8 @@
41 41 #include <lib3270/popup.h>
42 42 #include <networking.h>
43 43 #include <lib3270/os.h>
  44 +#include <lib3270/log.h>
  45 +#include <lib3270/trace.h>
44 46  
45 47 #if defined(HAVE_LDAP) && defined (HAVE_LIBSSL)
46 48 #include <openssl/x509.h>
... ... @@ -114,8 +116,8 @@
114 116 #undef X3270_MENUS
115 117 #endif /*]*/
116 118  
117   -#define RECONNECT_MS 2000 /**< @brief 2 sec before reconnecting to host. */
118   -#define RECONNECT_ERR_MS 5000 /**< @brief 5 sec before reconnecting to host when failed */
  119 +//#define RECONNECT_MS 2000 /**< @brief 2 sec before reconnecting to host. */
  120 +//#define RECONNECT_ERR_MS 5000 /**< @brief 5 sec before reconnecting to host when failed */
119 121  
120 122 /**
121 123 * @brief types of internal actions
... ... @@ -310,6 +312,8 @@ struct _h3270 {
310 312 struct {
311 313 LIB3270_CSTATE state; ///< @brief Connection state.
312 314 unsigned int timeout; ///< @brief Connection timeout (1000 = 1s)
  315 + unsigned int retry; ///< @brief Time to retry when connection ends with error.
  316 + LIB3270_POPUP * error; ///< @brief Last connection error.
313 317 } connection;
314 318  
315 319 // flags
... ... @@ -623,11 +627,18 @@ struct _h3270 {
623 627  
624 628 // Trace methods.
625 629 struct {
626   - void (*handler)(H3270 *session, void *userdata, const char *fmt, va_list args);
  630 + char *file; ///< @brief Trace file name (if set).
  631 + LIB3270_TRACE_HANDLER handler;
627 632 void *userdata;
628 633 } trace;
629 634  
630 635 struct {
  636 + char *file; ///< @brief Log file name (if set).
  637 + LIB3270_LOG_HANDLER handler;
  638 + void *userdata;
  639 + } log;
  640 +
  641 + struct {
631 642 unsigned int host : 1; ///< @brief Non zero if host requires SSL.
632 643 unsigned int download_crl : 1; ///< @brief Non zero to download CRL.
633 644 LIB3270_SSL_STATE state;
... ... @@ -729,7 +740,7 @@ LIB3270_INTERNAL void clear_chr(H3270 *hSession, int baddr);
729 740 LIB3270_INTERNAL unsigned char get_field_attribute(H3270 *session, int baddr);
730 741  
731 742 /// @brief Default log writer.
732   -LIB3270_INTERNAL void default_log_writer(H3270 *session, const char *module, int rc, const char *fmt, va_list arg_ptr);
  743 +LIB3270_INTERNAL int default_loghandler(const H3270 *session, void *dunno, const char *module, int rc, const char *message);
733 744  
734 745 LIB3270_INTERNAL char * lib3270_get_user_name();
735 746  
... ...
src/include/lib3270/log.h
... ... @@ -52,10 +52,16 @@
52 52 extern "C" {
53 53 #endif
54 54  
55   -LIB3270_EXPORT void lib3270_set_log_handler(void (*loghandler)(H3270 *, const char *, int, const char *, va_list));
56   -LIB3270_EXPORT int lib3270_write_log(H3270 *session, const char *module, const char *fmt, ...) LIB3270_GNUC_FORMAT(3,4);
57   -LIB3270_EXPORT int lib3270_write_rc(H3270 *session, const char *module, int rc, const char *fmt, ...) LIB3270_GNUC_FORMAT(4,5);
58   -LIB3270_EXPORT void lib3270_write_va_log(H3270 *session, const char *module, const char *fmt, va_list arg);
  55 +typedef int (*LIB3270_LOG_HANDLER)(const H3270 *, void *, const char *, int, const char *);
  56 +
  57 +LIB3270_EXPORT void lib3270_set_log_handler(H3270 *session, const LIB3270_LOG_HANDLER loghandler, void *userdata);
  58 +LIB3270_EXPORT int lib3270_set_log_filename(H3270 * hSession, const char *name);
  59 +LIB3270_EXPORT const char * lib3270_get_log_filename(const H3270 * hSession);
  60 +
  61 +LIB3270_EXPORT int lib3270_write_log(const H3270 *session, const char *module, const char *fmt, ...) LIB3270_GNUC_FORMAT(3,4);
  62 +LIB3270_EXPORT int lib3270_write_rc(const H3270 *session, const char *module, int rc, const char *fmt, ...) LIB3270_GNUC_FORMAT(4,5);
  63 +LIB3270_EXPORT void lib3270_write_va_log(const H3270 *session, const char *module, const char *fmt, va_list arg);
  64 +
59 65  
60 66 /**
61 67 * @brief Send logs to system log (if available)
... ...
src/include/lib3270/properties.h
... ... @@ -282,6 +282,20 @@ LIB3270_EXPORT const char * lib3270_service_get_name(const H3270 *h);
282 282 */
283 283 LIB3270_EXPORT unsigned int lib3270_get_task_count(const H3270 *h);
284 284  
  285 +/**
  286 + * @brief Set timer for auto-reconnect when connection fails.
  287 + *
  288 + * @param hSession Session handle.
  289 + */
  290 +LIB3270_EXPORT int lib3270_set_auto_reconnect(H3270 *hSession, unsigned int timer);
  291 +
  292 +/**
  293 + * @brief Get timer for auto-reconnect when connection fails.
  294 + *
  295 + * @param hSession Session handle.
  296 + */
  297 +LIB3270_EXPORT unsigned int lib3270_get_auto_reconnect(const H3270 *hSession);
  298 +
285 299 #ifdef __cplusplus
286 300 }
287 301 #endif
... ...
src/include/lib3270/toggle.h
... ... @@ -54,7 +54,6 @@ typedef enum _lib3270_toggle_id {
54 54 LIB3270_TOGGLE_RECTANGLE_SELECT,
55 55 LIB3270_TOGGLE_CROSSHAIR,
56 56 LIB3270_TOGGLE_FULL_SCREEN,
57   - LIB3270_TOGGLE_RECONNECT,
58 57 LIB3270_TOGGLE_INSERT,
59 58 LIB3270_TOGGLE_SMART_PASTE,
60 59 LIB3270_TOGGLE_BOLD,
... ... @@ -69,6 +68,10 @@ typedef enum _lib3270_toggle_id {
69 68 LIB3270_TOGGLE_NETWORK_TRACE, /**< @brief Enable network in/out trace */
70 69 LIB3270_TOGGLE_SSL_TRACE, /**< @brief Enable security traces */
71 70  
  71 + // Deprecated.
  72 +
  73 + LIB3270_TOGGLE_RECONNECT, /**< @brief Auto reconnect */
  74 +
72 75 LIB3270_TOGGLE_COUNT
73 76  
74 77 } LIB3270_TOGGLE_ID;
... ... @@ -95,6 +98,7 @@ typedef struct _lib3270_toggle {
95 98 LIB3270_TOGGLE_ID id; ///< @brief Toggle ID.
96 99 const char def; ///< @brief Default value.
97 100 const char * key; ///< @brief Default key (or NULL if no default).
  101 + const char * nick; ///< @brief Toggle nick.
98 102  
99 103 } LIB3270_TOGGLE;
100 104  
... ...
src/include/lib3270/trace.h
... ... @@ -45,7 +45,25 @@ extern &quot;C&quot; {
45 45 #define LIB3270_AS_PRINTF(a,b) __attribute__((format(printf, a, b)))
46 46 #endif
47 47  
48   -typedef void (*LIB3270_TRACE_HANDLER)(H3270 *, void *, const char *, va_list);
  48 +typedef int (*LIB3270_TRACE_HANDLER)(const H3270 *, void *, const char *);
  49 +
  50 +/**
  51 + * @brief Set trace filename.
  52 + *
  53 + * @param hSession TN3270 Session handle.
  54 + * @param name The trace file name (null to disable).
  55 + *
  56 + */
  57 +LIB3270_EXPORT int lib3270_set_trace_filename(H3270 * hSession, const char *name);
  58 +
  59 +/**
  60 + * @brief Get trace file name.
  61 + *
  62 + * @param hSession TN3270 Session handle.
  63 + * @return The trace file name or NULL if disabled.
  64 + *
  65 + */
  66 +LIB3270_EXPORT const char * lib3270_get_trace_filename(const H3270 * hSession);
49 67  
50 68 /**
51 69 * @brief Set trace handle callback.
... ...
src/include/networking.h
... ... @@ -188,6 +188,12 @@ typedef struct lib3270_net_module {
188 188 LIB3270_INTERNAL void lib3270_set_default_network_module(H3270 *hSession);
189 189  
190 190 /**
  191 + * @brief Set network error message.
  192 + *
  193 + */
  194 +LIB3270_INTERNAL void lib3270_set_network_error(H3270 *hSession,const char *summary, const char *fmt, ...);
  195 +
  196 +/**
191 197 * @brief Connect to host, returns a connected socket.
192 198 *
193 199 * @param hSession Disconnected TN3270 session.
... ...
src/include/windows/lib3270/win32.h
... ... @@ -50,6 +50,8 @@ LIB3270_EXPORT const char * lib3270_win32_strerror(int e);
50 50 LIB3270_EXPORT const char * lib3270_win32_local_charset(void);
51 51 LIB3270_EXPORT LSTATUS lib3270_win32_create_regkey(LPCSTR lpSubKey, REGSAM samDesired, PHKEY phkResult);
52 52 LIB3270_EXPORT DWORD lib3270_win32_get_dword(HKEY hKey, const char *name, DWORD def);
  53 +LIB3270_EXPORT LSTATUS lib3270_win32_set_registry(LPCSTR module, LPCSTR keyname, LPCSTR value);
  54 +LIB3270_EXPORT LSTATUS lib3270_win32_set_string(LPCSTR module, LPCSTR keyname, LPCSTR value);
53 55  
54 56 /**
55 57 * @brief Translate windows error code.
... ...
src/network_modules/openssl/context.c
... ... @@ -66,8 +66,6 @@ static void info_callback(INFO_CONST SSL *s, int where, int ret) {
66 66 H3270 *hSession = (H3270 *) SSL_get_ex_data(s,ssl_ex_index);
67 67 LIB3270_NET_CONTEXT * context = hSession->network.context;
68 68  
69   - debug("************************ %s where=%d",__FUNCTION__,where);
70   -
71 69 switch(where) {
72 70 case SSL_CB_CONNECT_LOOP:
73 71 trace_ssl(hSession,"SSL_connect: %s %s\n",SSL_state_string(s), SSL_state_string_long(s));
... ...
src/network_modules/openssl/main.c
... ... @@ -94,14 +94,13 @@ ssize_t openssl_network_send(H3270 *hSession, const void *buffer, size_t length)
94 94  
95 95 trace_ssl(hSession,"%s","The secure connection has been closed cleanly");
96 96  
97   - lib3270_popup_dialog(
98   - hSession,
99   - LIB3270_NOTIFY_ERROR,
100   - NULL,
  97 + lib3270_set_network_error(
  98 + hSession,
101 99 _("Disconnected from host."),
102 100 "%s",
103 101 _("The secure connection has been closed cleanly.")
104 102 );
  103 +
105 104 return 0;
106 105  
107 106 case SSL_ERROR_WANT_READ:
... ... @@ -118,14 +117,12 @@ ssize_t openssl_network_send(H3270 *hSession, const void *buffer, size_t length)
118 117 (void) ERR_error_string(ssl_error, err_buf);
119 118 trace_dsn(hSession,"RCVD SSL_write error %d (%s)\n", ssl_error, err_buf);
120 119  
121   - lib3270_autoptr(char) body = lib3270_strdup_printf(_("The SSL error message was %s"), err_buf);
122   -
123   - LIB3270_POPUP popup = {
124   - .summary = _("Error writing to host"),
125   - .body = body
126   - };
127   -
128   - lib3270_popup(hSession,&popup,0);
  120 + lib3270_set_network_error(
  121 + hSession,
  122 + _("Error writing to host."),
  123 + _("The SSL error message was %s"),
  124 + err_buf
  125 + );
129 126  
130 127 return -1;
131 128  
... ... @@ -145,10 +142,8 @@ static ssize_t openssl_network_recv(H3270 *hSession, void *buf, size_t len) {
145 142  
146 143 trace_ssl(hSession,"%s","The secure connection has been closed cleanly");
147 144  
148   - lib3270_popup_dialog(
149   - hSession,
150   - LIB3270_NOTIFY_ERROR,
151   - NULL,
  145 + lib3270_set_network_error(
  146 + hSession,
152 147 _("Disconnected from host."),
153 148 "%s",
154 149 _("The secure connection has been closed cleanly.")
... ... @@ -169,14 +164,12 @@ static ssize_t openssl_network_recv(H3270 *hSession, void *buf, size_t len) {
169 164 (void) ERR_error_string(ssl_error, err_buf);
170 165 trace_dsn(hSession,"RCVD SSL_read error %d (%s)\n", ssl_error, err_buf);
171 166  
172   - lib3270_autoptr(char) body = lib3270_strdup_printf(_("The SSL error message was %s"), err_buf);
173   -
174   - LIB3270_POPUP popup = {
175   - .summary = _("Error reading from host"),
176   - .body = body
177   - };
178   -
179   - lib3270_popup(hSession,&popup,0);
  167 + lib3270_set_network_error(
  168 + hSession,
  169 + _("Error reading from host"),
  170 + _("The SSL error message was %s"),
  171 + err_buf
  172 + );
180 173  
181 174 return -1;
182 175 }
... ...
src/network_modules/openssl/messages.c
... ... @@ -226,9 +226,15 @@ const LIB3270_SSL_MESSAGE * lib3270_openssl_message_from_id(long id) {
226 226 {
227 227 .id = X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT,
228 228 .message = {
  229 +#ifdef SSL_ENABLE_SELF_SIGNED_CERT_CHECK
  230 + .type = LIB3270_NOTIFY_SECURE,
  231 +#else
229 232 .type = LIB3270_NOTIFY_WARNING,
  233 +#endif // SSL_ENABLE_SELF_SIGNED_CERT_CHECK
230 234 .icon = "security-medium",
231 235 .summary = N_( "Self signed certificate" ),
  236 + .name = "X509DepthZeroSelfSignedCert",
  237 + .label = N_( "Continue" ),
232 238 .body = N_( "The passed certificate is self signed and the same certificate cannot be found in the list of trusted certificates." )
233 239 }
234 240 },
... ...
src/network_modules/tools.c
... ... @@ -59,15 +59,14 @@ int lib3270_socket_recv_failed(H3270 *hSession) {
59 59  
60 60 int rc = -wsaError;
61 61  
62   - LIB3270_POPUP popup = {
63   - .name = "RecvFailed",
64   - .type = LIB3270_NOTIFY_ERROR,
65   - .summary = _("Error receiving data from host"),
66   - };
67   -
68 62 // TODO: Translate WSA Error, update message body.
69 63  
70   - lib3270_popup(hSession,&popup,0);
  64 + lib3270_set_network_error(
  65 + hSession,
  66 + _("Error receiving data from host"),
  67 + _("The windows error code was %u"),
  68 + (unsigned int) wsaError
  69 + );
71 70  
72 71 #else
73 72  
... ... @@ -78,20 +77,13 @@ int lib3270_socket_recv_failed(H3270 *hSession) {
78 77 // Network error, notify user
79 78 int rc = -errno;
80 79  
81   - lib3270_autoptr(char) body = lib3270_strdup_printf(
82   - _("The system error code was %d (%s)"),
83   - errno,
84   - strerror(errno)
85   - );
86   -
87   - LIB3270_POPUP popup = {
88   - .name = "RecvFailed",
89   - .type = LIB3270_NOTIFY_ERROR,
90   - .summary = _("Error receiving data from host"),
91   - .body = body
92   - };
93   -
94   - lib3270_popup(hSession,&popup,0);
  80 + lib3270_set_network_error(
  81 + hSession,
  82 + _("Error receiving data from host"),
  83 + _("The system error code was %d (%s)"),
  84 + errno,
  85 + strerror(errno)
  86 + );
95 87  
96 88 #endif // _WIN32
97 89  
... ... @@ -103,16 +95,11 @@ int lib3270_socket_send_failed(H3270 *hSession) {
103 95  
104 96 #ifdef _WIN32
105 97  
106   - int rc = WSAGetLastError();
107   -
108   - lib3270_popup_dialog(
109   - hSession,
110   - LIB3270_NOTIFY_ERROR,
111   - NULL,
  98 + lib3270_set_network_error(
  99 + hSession,
112 100 _("Erro sending data to host"),
113   - _( "The system error was %s (%d)" ),
114   - lib3270_win32_strerror(rc),
115   - rc
  101 + _("The windows error code was %u"),
  102 + (unsigned int) WSAGetLastError()
116 103 );
117 104  
118 105 #else
... ... @@ -121,24 +108,20 @@ int lib3270_socket_send_failed(H3270 *hSession) {
121 108  
122 109 switch(rc) {
123 110 case EPIPE:
124   - lib3270_popup_dialog(
125   - hSession,
126   - LIB3270_NOTIFY_ERROR,
127   - NULL,
  111 + lib3270_set_network_error(
  112 + hSession,
128 113 _("Broken pipe"),
129   - _("The system error code was %d"),
130   - rc
  114 + _("The system error code was %d"),
  115 + rc
131 116 );
132 117 break;
133 118  
134 119 case ECONNRESET:
135   - lib3270_popup_dialog(
136   - hSession,
137   - LIB3270_NOTIFY_ERROR,
138   - NULL,
  120 + lib3270_set_network_error(
  121 + hSession,
139 122 _("Connection reset by peer"),
140   - _("The system error code was %d"),
141   - rc
  123 + _("The system error code was %d"),
  124 + rc
142 125 );
143 126 break;
144 127  
... ... @@ -146,10 +129,8 @@ int lib3270_socket_send_failed(H3270 *hSession) {
146 129 return 0;
147 130  
148 131 default:
149   - lib3270_popup_dialog(
150   - hSession,
151   - LIB3270_NOTIFY_ERROR,
152   - NULL,
  132 + lib3270_set_network_error(
  133 + hSession,
153 134 _("Unexpected error writing to network socket"),
154 135 _("The system error code was %d (%s)"),
155 136 rc, strerror(rc)
... ... @@ -157,7 +138,6 @@ int lib3270_socket_send_failed(H3270 *hSession) {
157 138  
158 139 }
159 140  
160   -
161 141 #endif // _WIN32
162 142  
163 143 return -1;
... ...
src/testprogram/testprogram.c
... ... @@ -50,15 +50,6 @@
50 50  
51 51 const char *trace_file = "test.trace";
52 52  
53   -static void write_trace(H3270 GNUC_UNUSED(*session), void GNUC_UNUSED(*userdata), const char *fmt, va_list args) {
54   - FILE *out = fopen(trace_file,"a");
55   - if(out) {
56   -
57   - vfprintf(out,fmt,args);
58   - fclose(out);
59   - }
60   -}
61   -
62 53 static void online_group_state_changed(H3270 GNUC_UNUSED(*hSession), void GNUC_UNUSED(*dunno)) {
63 54 printf("\n\n%s\n\n",__FUNCTION__);
64 55 }
... ... @@ -96,11 +87,11 @@ int main(int argc, char *argv[]) {
96 87 { 0, 0, 0, 0}
97 88  
98 89 };
99   -// #pragma GCC diagnostic pop
100 90  
101 91 H3270 * h = lib3270_session_new("");
102 92 int rc = 0;
103 93  
  94 + lib3270_set_log_filename(h,"testprogram.log");
104 95 lib3270_write_log(h,"TEST","Testprogram %s starts (%s)",argv[0],LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME));
105 96  
106 97 lib3270_autoptr(char) version_info = lib3270_get_version_info();
... ... @@ -110,9 +101,11 @@ int main(int argc, char *argv[]) {
110 101 lib3270_crl_set_preferred_protocol(h,"ldap");
111 102 #endif // HAVE_LDAP
112 103  
113   - //if(lib3270_set_url(h,NULL))
114   - // lib3270_set_url(h,"tn3270://127.0.0.1");
115   - lib3270_set_url(h,"tn3270://localhost:3270");
  104 + lib3270_ssl_set_crl_download(h,0);
  105 +
  106 + if(lib3270_set_url(h,NULL))
  107 + lib3270_set_url(h,"tn3270://127.0.0.1");
  108 + //lib3270_set_url(h,"tn3270://localhost:3270");
116 109  
117 110 int long_index =0;
118 111 int opt;
... ... @@ -135,8 +128,7 @@ int main(int argc, char *argv[]) {
135 128 return 0;
136 129  
137 130 case 't':
138   - trace_file = optarg;
139   - lib3270_set_trace_handler(h,write_trace,NULL);
  131 + lib3270_set_trace_filename(h,optarg);
140 132 lib3270_set_toggle(h,LIB3270_TOGGLE_DS_TRACE,1);
141 133 break;
142 134 }
... ...
win/configure.sh
1 1 #!/bin/bash
  2 +cd $(dirname $(dirname $(readlink -f ${0})))
2 3  
3 4 aclocal
4 5 if test $? != 0 ; then
... ...
win/install-cross.sh
1 1 #!/bin/bash
  2 +myDIR=$(dirname $(readlink -f ${0}))
  3 +
  4 +echo $myDIR
2 5  
3 6 install_packages() {
4 7  
5   -TEMPFILE=$(mktemp)
6   -
7   -cat > ${TEMPFILE} << EOF
8   -cross-binutils
9   -cross-gcc
10   -cross-gcc-c++
11   -cross-pkg-config
12   -filesystem
13   -libopenssl
14   -libopenssl-devel
15   -libintl-devel
16   -win_iconv-devel
17   -zlib-devel
18   -winpthreads-devel
19   -cross-cpp
20   -gettext-tools
21   -headers
22   -EOF
23   -
24   -# Instala apicativos e temas necessários
25   -sudo zypper --non-interactive in \
26   - gettext-tools \
27   - automake
28   -
29   -while read FILE
30   -do
31   - sudo zypper --non-interactive in ${1}-${FILE}
32   -done < ${TEMPFILE}
  8 + TEMPFILE=$(mktemp)
  9 +
  10 + for spec in $(find ${myDIR} -name "${1}*.spec")
  11 + do
  12 + echo "Parsing ${spec}"
  13 + grep -i "^Requires:" "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' | cut -d'>' -f1 >> ${TEMPFILE}
  14 + grep -i "^BuildRequires:" "${spec}" | grep -v "%" | cut -d: -f2- | tr -d '[:blank:]' | cut -d'>' -f1 >> ${TEMPFILE}
  15 + done
  16 +
  17 + cat ${TEMPFILE} \
  18 + | sort --unique \
  19 + | xargs sudo zypper --non-interactive --verbose in
33 20  
34   -rm -f ${TEMPFILE}
35 21  
36 22 }
37 23  
  24 +## Instala apicativos e temas necessários
  25 +#sudo zypper --non-interactive in \
  26 +# gettext-tools \
  27 +# automake
  28 +#
  29 +#while read FILE
  30 +#do
  31 +# sudo zypper --non-interactive in ${1}-${FILE}
  32 +#done < ${TEMPFILE}
  33 +#
  34 +#rm -f ${TEMPFILE}
  35 +#
  36 +#}
  37 +#
  38 +
38 39 if [ -z ${1} ]; then
39 40 echo "Use ${0} --32 for 32 bits cross-compiler"
40 41 echo "Use ${0} --64 for 64 bits cross-compiler"
... ... @@ -52,8 +53,8 @@ do
52 53 case $parameter in
53 54  
54 55 ar)
55   - zypper ar --refresh http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_42.3/ mingw32
56   - zypper ar --refresh http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_42.3/ mingw64
  56 + sudo zypper ar obs://windows:mingw:win32 mingw32
  57 + sudo zypper ar obs://windows:mingw:win64 mingw64
57 58 ;;
58 59  
59 60 32)
... ...
win/lib3270.def
... ... @@ -21,310 +21,330 @@ EXPORTS
21 21 lib3270_calloc @20
22 22 lib3270_can_paste_next @21
23 23 lib3270_charsettable @22
24   - lib3270_clear @23
25   - lib3270_clear_operator_error @24
26   - lib3270_cmp_string_at @25
27   - lib3270_cmp_string_at_address @26
28   - lib3270_connect_url @27
29   - lib3270_connection_state_get_name @28
30   - lib3270_crl_get_preferred_protocol @29
31   - lib3270_crl_set_preferred_protocol @30
32   - lib3270_cursor_down @31
33   - lib3270_cursor_left @32
34   - lib3270_cursor_right @33
35   - lib3270_cursor_up @34
36   - lib3270_cut_selected @35
37   - lib3270_data_recv @36
38   - lib3270_delete @37
39   - lib3270_deletefield @38
40   - lib3270_deleteword @39
41   - lib3270_disconnect @40
42   - lib3270_drag_selection @41
43   - lib3270_dup @42
44   - lib3270_ebc2asc @43
45   - lib3270_emulate_input @44
46   - lib3270_enter @45
47   - lib3270_erase @46
48   - lib3270_erase_selected @47
49   - lib3270_eraseeof @48
50   - lib3270_eraseeol @49
51   - lib3270_eraseinput @50
52   - lib3270_field_addr @51
53   - lib3270_field_length @52
54   - lib3270_fieldend @53
55   - lib3270_fieldmark @54
56   - lib3270_firstfield @55
57   - lib3270_free @56
58   - lib3270_ft_cancel @57
59   - lib3270_ft_destroy @58
60   - lib3270_ft_get_user_data @59
61   - lib3270_ft_new @60
62   - lib3270_ft_set_user_data @61
63   - lib3270_ft_start @62
64   - lib3270_get_action @63
65   - lib3270_get_actions @64
66   - lib3270_get_associated_luname @65
67   - lib3270_get_attribute_at_address @66
68   - lib3270_get_boolean_properties_list @67
69   - lib3270_get_color_type @68
70   - lib3270_get_connection_state @69
71   - lib3270_get_contents @70
72   - lib3270_get_cursor_address @71
73   - lib3270_get_cursor_position @72
74   - lib3270_get_default_charset @73
75   - lib3270_get_default_host @74
76   - lib3270_get_default_session_handle @75
77   - lib3270_get_display_charset @76
78   - lib3270_get_element @77
79   - lib3270_get_field_attribute @78
80   - lib3270_get_field_bounds @79
81   - lib3270_get_field_end @80
82   - lib3270_get_field_len @81
83   - lib3270_get_field_start @82
84   - lib3270_get_field_string_at @83
85   - lib3270_get_ft_callbacks @84
86   - lib3270_get_ft_state @85
87   - lib3270_get_has_copy @86
88   - lib3270_get_has_selection @87
89   - lib3270_get_height @88
90   - lib3270_get_host @89
91   - lib3270_get_host_charset @90
92   - lib3270_get_host_type @91
93   - lib3270_get_host_type_name @92
94   - lib3270_get_installation_path @93
95   - lib3270_get_int_properties_list @94
96   - lib3270_get_int_property @95
97   - lib3270_get_is_protected @96
98   - lib3270_get_is_protected_at @97
99   - lib3270_get_keyboard_lock_state @98
100   - lib3270_get_length @99
101   - lib3270_get_lock_on_operator_error @100
102   - lib3270_get_lock_status @101
103   - lib3270_get_lunames @102
104   - lib3270_get_max_height @103
105   - lib3270_get_max_width @104
106   - lib3270_get_model @105
107   - lib3270_get_model_name @106
108   - lib3270_get_model_number @107
109   - lib3270_get_next_unprotected @108
110   - lib3270_get_numeric_lock @109
111   - lib3270_get_oia_box_solid @110
112   - lib3270_get_option_list @111
113   - lib3270_get_oversize @112
114   - lib3270_get_pointer @113
115   - lib3270_get_program_message @114
116   - lib3270_get_region @115
117   - lib3270_get_revision @116
118   - lib3270_get_screen_size @117
119   - lib3270_get_selected @118
120   - lib3270_get_selected_text @119
121   - lib3270_get_selection @120
122   - lib3270_get_selection_bounds @121
123   - lib3270_get_selection_flags @122
124   - lib3270_get_selection_rectangle @123
125   - lib3270_get_session_callbacks @124
126   - lib3270_get_session_id @125
127   - lib3270_get_ssl_crl_text @126
128   - lib3270_get_ssl_peer_certificate_text @127
129   - lib3270_get_ssl_state @128
130   - lib3270_get_ssl_state_description @129
131   - lib3270_get_ssl_state_icon_name @130
132   - lib3270_get_ssl_state_message @131
133   - lib3270_get_string_at @132
134   - lib3270_get_string_at_address @133
135   - lib3270_get_string_properties_list @134
136   - lib3270_get_toggle @135
137   - lib3270_get_toggle_description @136
138   - lib3270_get_toggle_id @137
139   - lib3270_get_toggle_label @138
140   - lib3270_get_toggle_list @139
141   - lib3270_get_toggle_name @140
142   - lib3270_get_toggle_summary @141
143   - lib3270_get_toggles @142
144   - lib3270_get_trace_handler @143
145   - lib3270_get_translation_domain @144
146   - lib3270_get_typeahead @145
147   - lib3270_get_undera @146
148   - lib3270_get_unlock_delay @147
149   - lib3270_get_unsigned_properties_list @148
150   - lib3270_get_url @149
151   - lib3270_get_user_data @150
152   - lib3270_get_version @151
153   - lib3270_get_version_info @152
154   - lib3270_get_width @153
155   - lib3270_get_word_bounds @154
156   - lib3270_half_connected @155
157   - lib3270_has_active_script @156
158   - lib3270_has_selection @157
159   - lib3270_host_get_name @158
160   - lib3270_iconv_free @159
161   - lib3270_iconv_from_host @160
162   - lib3270_iconv_new @161
163   - lib3270_iconv_to_host @162
164   - lib3270_in_3270 @163
165   - lib3270_in_ansi @164
166   - lib3270_in_e @165
167   - lib3270_in_neither @166
168   - lib3270_in_sscp @167
169   - lib3270_in_tn3270e @168
170   - lib3270_input_string @169
171   - lib3270_is_as400 @170
172   - lib3270_is_connected @171
173   - lib3270_is_disconnected @172
174   - lib3270_is_formatted @173
175   - lib3270_is_protected @174
176   - lib3270_is_ready @175
177   - lib3270_is_secure @176
178   - lib3270_is_selected @177
179   - lib3270_is_tso @178
180   - lib3270_is_unlocked @179
181   - lib3270_kybdreset @180
182   - lib3270_load @181
183   - lib3270_main_iterate @182
184   - lib3270_malloc @183
185   - lib3270_move_cursor @184
186   - lib3270_move_selected_area @185
187   - lib3270_move_selection @186
188   - lib3270_newline @187
189   - lib3270_nextfield @188
190   - lib3270_nextword @189
191   - lib3270_pakey @190
192   - lib3270_parse_host_type @191
193   - lib3270_paste_next @192
194   - lib3270_paste_text @193
195   - lib3270_pconnected @194
196   - lib3270_pfkey @195
197   - lib3270_popup @196
198   - lib3270_popup_an_errno @197
199   - lib3270_popup_clone_printf @198
200   - lib3270_popup_dialog @199
201   - lib3270_popup_va @200
202   - lib3270_previousfield @201
203   - lib3270_previousword @202
204   - lib3270_print @203
205   - lib3270_print_all @204
206   - lib3270_print_copy @205
207   - lib3270_print_selected @206
208   - lib3270_property_get_by_name @207
209   - lib3270_property_get_description @208
210   - lib3270_property_get_label @209
211   - lib3270_property_get_name @210
212   - lib3270_property_get_summary @211
213   - lib3270_property_get_tooltip @212
214   - lib3270_realloc @213
215   - lib3270_reconnect @214
216   - lib3270_register_action_group_listener @215
217   - lib3270_register_fd_handlers @216
218   - lib3270_register_io_controller @217
219   - lib3270_register_schange @218
220   - lib3270_register_timer_handlers @219
221   - lib3270_register_toggle_listener @220
222   - lib3270_remap_char @221
223   - lib3270_remove_poll @222
224   - lib3270_remove_poll_fd @223
225   - lib3270_reselect @224
226   - lib3270_reset_callbacks @225
227   - lib3270_reset_charset @226
228   - lib3270_reset_ft_callbacks @227
229   - lib3270_ring_bell @228
230   - lib3270_run_task @229
231   - lib3270_save @230
232   - lib3270_save_all @231
233   - lib3270_save_copy @232
234   - lib3270_save_selected @233
235   - lib3270_select_all @234
236   - lib3270_select_field @235
237   - lib3270_select_field_at @236
238   - lib3270_select_region @237
239   - lib3270_select_to @238
240   - lib3270_select_word @239
241   - lib3270_select_word_at @240
242   - lib3270_selection_get_length @241
243   - lib3270_selection_new @242
244   - lib3270_service_get_name @243
245   - lib3270_session_free @244
246   - lib3270_session_new @245
247   - lib3270_set_as400 @246
248   - lib3270_set_boolean_property @247
249   - lib3270_set_color_type @248
250   - lib3270_set_connected_initial @249
251   - lib3270_set_cursor_address @250
252   - lib3270_set_cursor_position @251
253   - lib3270_set_disconnected @252
254   - lib3270_set_field @253
255   - lib3270_set_has_copy @254
256   - lib3270_set_host_charset @255
257   - lib3270_set_host_type @256
258   - lib3270_set_host_type_by_name @257
259   - lib3270_set_int_property @258
260   - lib3270_set_lock_on_operator_error @259
261   - lib3270_set_log_handler @260
262   - lib3270_set_lunames @261
263   - lib3270_set_model @262
264   - lib3270_set_model_name @263
265   - lib3270_set_model_number @264
266   - lib3270_set_numeric_lock @265
267   - lib3270_set_oversize @266
268   - lib3270_set_poll_state @267
269   - lib3270_set_popup_handler @268
270   - lib3270_set_session_id @269
271   - lib3270_set_string @270
272   - lib3270_set_string_at @271
273   - lib3270_set_string_at_address @272
274   - lib3270_set_string_property @273
275   - lib3270_set_syslog @274
276   - lib3270_set_toggle @275
277   - lib3270_set_trace_handler @276
278   - lib3270_set_tso @277
279   - lib3270_set_uint_property @278
280   - lib3270_set_unlock_delay @279
281   - lib3270_set_url @280
282   - lib3270_set_user_data @281
283   - lib3270_setup_session @282
284   - lib3270_ssl_get_crl_download @283
285   - lib3270_ssl_set_crl_download @284
286   - lib3270_state_get_name @285
287   - lib3270_strdup @286
288   - lib3270_strdup_printf @287
289   - lib3270_sysreq @288
290   - lib3270_testpattern @289
291   - lib3270_toggle @290
292   - lib3270_toggle_get_by_name @291
293   - lib3270_toggle_get_description @292
294   - lib3270_toggle_get_from_id @293
295   - lib3270_toggle_get_label @294
296   - lib3270_toggle_get_name @295
297   - lib3270_toggle_get_summary @296
298   - lib3270_trace_data @297
299   - lib3270_trace_event @298
300   - lib3270_translate_char @299
301   - lib3270_translate_ft_message @300
302   - lib3270_translate_to_address @301
303   - lib3270_unregister_action_group_listener @302
304   - lib3270_unregister_schange @303
305   - lib3270_unregister_toggle_listener @304
306   - lib3270_unselect @305
307   - lib3270_unsigned_property_get_by_name @306
308   - lib3270_update_poll_fd @307
309   - lib3270_vsprintf @308
310   - lib3270_wait @309
311   - lib3270_wait_for_cstate @310
312   - lib3270_wait_for_keyboard_unlock @311
313   - lib3270_wait_for_ready @312
314   - lib3270_wait_for_string @313
315   - lib3270_wait_for_string_at @314
316   - lib3270_wait_for_string_at_address @315
317   - lib3270_wait_for_update @316
318   - lib3270_win32_create_regkey @317
319   - lib3270_win32_get_dword @318
320   - lib3270_win32_local_charset @319
321   - lib3270_win32_strerror @320
322   - lib3270_win32_translate_error_code @321
323   - lib3270_write_dstrace @322
324   - lib3270_write_event_trace @323
325   - lib3270_write_log @324
326   - lib3270_write_nettrace @325
327   - lib3270_write_rc @326
328   - lib3270_write_screen_trace @327
329   - lib3270_write_trace @328
330   - lib3270_write_va_log @329
  24 + lib3270_chomp @23
  25 + lib3270_chug @24
  26 + lib3270_clear @25
  27 + lib3270_clear_operator_error @26
  28 + lib3270_cmp_string_at @27
  29 + lib3270_cmp_string_at_address @28
  30 + lib3270_connect_url @29
  31 + lib3270_connection_state_get_name @30
  32 + lib3270_crl_get_preferred_protocol @31
  33 + lib3270_crl_set_preferred_protocol @32
  34 + lib3270_cursor_down @33
  35 + lib3270_cursor_left @34
  36 + lib3270_cursor_right @35
  37 + lib3270_cursor_up @36
  38 + lib3270_cut_selected @37
  39 + lib3270_data_recv @38
  40 + lib3270_delete @39
  41 + lib3270_deletefield @40
  42 + lib3270_deleteword @41
  43 + lib3270_disconnect @42
  44 + lib3270_drag_selection @43
  45 + lib3270_dup @44
  46 + lib3270_ebc2asc @45
  47 + lib3270_emulate_input @46
  48 + lib3270_enter @47
  49 + lib3270_erase @48
  50 + lib3270_erase_selected @49
  51 + lib3270_eraseeof @50
  52 + lib3270_eraseeol @51
  53 + lib3270_eraseinput @52
  54 + lib3270_field_addr @53
  55 + lib3270_field_length @54
  56 + lib3270_fieldend @55
  57 + lib3270_fieldmark @56
  58 + lib3270_firstfield @57
  59 + lib3270_free @58
  60 + lib3270_ft_cancel @59
  61 + lib3270_ft_destroy @60
  62 + lib3270_ft_get_user_data @61
  63 + lib3270_ft_new @62
  64 + lib3270_ft_set_blksize @63
  65 + lib3270_ft_set_lrecl @64
  66 + lib3270_ft_set_options @65
  67 + lib3270_ft_set_primspace @66
  68 + lib3270_ft_set_secspace @67
  69 + lib3270_ft_set_user_data @68
  70 + lib3270_ft_start @69
  71 + lib3270_get_action @70
  72 + lib3270_get_actions @71
  73 + lib3270_get_associated_luname @72
  74 + lib3270_get_attribute_at_address @73
  75 + lib3270_get_auto_reconnect @74
  76 + lib3270_get_boolean_properties_list @75
  77 + lib3270_get_color_type @76
  78 + lib3270_get_connection_state @77
  79 + lib3270_get_contents @78
  80 + lib3270_get_cursor_address @79
  81 + lib3270_get_cursor_position @80
  82 + lib3270_get_default_charset @81
  83 + lib3270_get_default_host @82
  84 + lib3270_get_default_session_handle @83
  85 + lib3270_get_display_charset @84
  86 + lib3270_get_element @85
  87 + lib3270_get_field_attribute @86
  88 + lib3270_get_field_bounds @87
  89 + lib3270_get_field_end @88
  90 + lib3270_get_field_len @89
  91 + lib3270_get_field_start @90
  92 + lib3270_get_field_string_at @91
  93 + lib3270_get_ft_callbacks @92
  94 + lib3270_get_ft_state @93
  95 + lib3270_get_has_copy @94
  96 + lib3270_get_has_selection @95
  97 + lib3270_get_height @96
  98 + lib3270_get_host @97
  99 + lib3270_get_host_charset @98
  100 + lib3270_get_host_type @99
  101 + lib3270_get_host_type_name @100
  102 + lib3270_get_installation_path @101
  103 + lib3270_get_int_properties_list @102
  104 + lib3270_get_int_property @103
  105 + lib3270_get_is_protected @104
  106 + lib3270_get_is_protected_at @105
  107 + lib3270_get_keyboard_lock_state @106
  108 + lib3270_get_length @107
  109 + lib3270_get_lock_on_operator_error @108
  110 + lib3270_get_lock_status @109
  111 + lib3270_get_log_filename @110
  112 + lib3270_get_lunames @111
  113 + lib3270_get_max_height @112
  114 + lib3270_get_max_width @113
  115 + lib3270_get_model @114
  116 + lib3270_get_model_name @115
  117 + lib3270_get_model_number @116
  118 + lib3270_get_next_unprotected @117
  119 + lib3270_get_numeric_lock @118
  120 + lib3270_get_oia_box_solid @119
  121 + lib3270_get_option_list @120
  122 + lib3270_get_oversize @121
  123 + lib3270_get_pointer @122
  124 + lib3270_get_program_message @123
  125 + lib3270_get_region @124
  126 + lib3270_get_revision @125
  127 + lib3270_get_screen_size @126
  128 + lib3270_get_selected @127
  129 + lib3270_get_selected_text @128
  130 + lib3270_get_selection @129
  131 + lib3270_get_selection_bounds @130
  132 + lib3270_get_selection_flags @131
  133 + lib3270_get_selection_rectangle @132
  134 + lib3270_get_session_callbacks @133
  135 + lib3270_get_session_id @134
  136 + lib3270_get_ssl_crl_text @135
  137 + lib3270_get_ssl_peer_certificate_text @136
  138 + lib3270_get_ssl_state @137
  139 + lib3270_get_ssl_state_description @138
  140 + lib3270_get_ssl_state_icon_name @139
  141 + lib3270_get_ssl_state_message @140
  142 + lib3270_get_string_at @141
  143 + lib3270_get_string_at_address @142
  144 + lib3270_get_string_properties_list @143
  145 + lib3270_get_task_count @144
  146 + lib3270_get_toggle @145
  147 + lib3270_get_toggle_description @146
  148 + lib3270_get_toggle_id @147
  149 + lib3270_get_toggle_label @148
  150 + lib3270_get_toggle_list @149
  151 + lib3270_get_toggle_name @150
  152 + lib3270_get_toggle_summary @151
  153 + lib3270_get_toggles @152
  154 + lib3270_get_trace_filename @153
  155 + lib3270_get_trace_handler @154
  156 + lib3270_get_translation_domain @155
  157 + lib3270_get_typeahead @156
  158 + lib3270_get_undera @157
  159 + lib3270_get_unlock_delay @158
  160 + lib3270_get_unsigned_properties_list @159
  161 + lib3270_get_url @160
  162 + lib3270_get_user_data @161
  163 + lib3270_get_version @162
  164 + lib3270_get_version_info @163
  165 + lib3270_get_width @164
  166 + lib3270_get_word_bounds @165
  167 + lib3270_getpeername @166
  168 + lib3270_getsockname @167
  169 + lib3270_half_connected @168
  170 + lib3270_has_active_script @169
  171 + lib3270_has_selection @170
  172 + lib3270_host_get_name @171
  173 + lib3270_iconv_free @172
  174 + lib3270_iconv_from_host @173
  175 + lib3270_iconv_new @174
  176 + lib3270_iconv_to_host @175
  177 + lib3270_in_3270 @176
  178 + lib3270_in_ansi @177
  179 + lib3270_in_e @178
  180 + lib3270_in_neither @179
  181 + lib3270_in_sscp @180
  182 + lib3270_in_tn3270e @181
  183 + lib3270_input_string @182
  184 + lib3270_is_as400 @183
  185 + lib3270_is_connected @184
  186 + lib3270_is_disconnected @185
  187 + lib3270_is_formatted @186
  188 + lib3270_is_protected @187
  189 + lib3270_is_ready @188
  190 + lib3270_is_secure @189
  191 + lib3270_is_selected @190
  192 + lib3270_is_tso @191
  193 + lib3270_is_unlocked @192
  194 + lib3270_kybdreset @193
  195 + lib3270_load @194
  196 + lib3270_main_iterate @195
  197 + lib3270_malloc @196
  198 + lib3270_move_cursor @197
  199 + lib3270_move_selected_area @198
  200 + lib3270_move_selection @199
  201 + lib3270_newline @200
  202 + lib3270_nextfield @201
  203 + lib3270_nextword @202
  204 + lib3270_pakey @203
  205 + lib3270_parse_host_type @204
  206 + lib3270_paste_next @205
  207 + lib3270_paste_text @206
  208 + lib3270_pconnected @207
  209 + lib3270_pfkey @208
  210 + lib3270_popup @209
  211 + lib3270_popup_an_errno @210
  212 + lib3270_popup_clone_printf @211
  213 + lib3270_popup_dialog @212
  214 + lib3270_popup_va @213
  215 + lib3270_previousfield @214
  216 + lib3270_previousword @215
  217 + lib3270_print @216
  218 + lib3270_print_all @217
  219 + lib3270_print_copy @218
  220 + lib3270_print_selected @219
  221 + lib3270_property_get_by_name @220
  222 + lib3270_property_get_description @221
  223 + lib3270_property_get_label @222
  224 + lib3270_property_get_name @223
  225 + lib3270_property_get_summary @224
  226 + lib3270_property_get_tooltip @225
  227 + lib3270_realloc @226
  228 + lib3270_receive @227
  229 + lib3270_reconnect @228
  230 + lib3270_register_action_group_listener @229
  231 + lib3270_register_fd_handlers @230
  232 + lib3270_register_io_controller @231
  233 + lib3270_register_schange @232
  234 + lib3270_register_timer_handlers @233
  235 + lib3270_register_toggle_listener @234
  236 + lib3270_remap_char @235
  237 + lib3270_remove_poll @236
  238 + lib3270_remove_poll_fd @237
  239 + lib3270_reselect @238
  240 + lib3270_reset_callbacks @239
  241 + lib3270_reset_charset @240
  242 + lib3270_reset_ft_callbacks @241
  243 + lib3270_ring_bell @242
  244 + lib3270_run_task @243
  245 + lib3270_save @244
  246 + lib3270_save_all @245
  247 + lib3270_save_copy @246
  248 + lib3270_save_selected @247
  249 + lib3270_select_all @248
  250 + lib3270_select_field @249
  251 + lib3270_select_field_at @250
  252 + lib3270_select_region @251
  253 + lib3270_select_to @252
  254 + lib3270_select_word @253
  255 + lib3270_select_word_at @254
  256 + lib3270_selection_get_length @255
  257 + lib3270_selection_new @256
  258 + lib3270_send @257
  259 + lib3270_service_get_name @258
  260 + lib3270_session_free @259
  261 + lib3270_session_new @260
  262 + lib3270_set_as400 @261
  263 + lib3270_set_auto_reconnect @262
  264 + lib3270_set_boolean_property @263
  265 + lib3270_set_color_type @264
  266 + lib3270_set_connected_initial @265
  267 + lib3270_set_cursor_address @266
  268 + lib3270_set_cursor_position @267
  269 + lib3270_set_dft_buffersize @268
  270 + lib3270_set_disconnected @269
  271 + lib3270_set_field @270
  272 + lib3270_set_has_copy @271
  273 + lib3270_set_host_charset @272
  274 + lib3270_set_host_type @273
  275 + lib3270_set_host_type_by_name @274
  276 + lib3270_set_int_property @275
  277 + lib3270_set_lock_on_operator_error @276
  278 + lib3270_set_log_filename @277
  279 + lib3270_set_log_handler @278
  280 + lib3270_set_lunames @279
  281 + lib3270_set_model @280
  282 + lib3270_set_model_name @281
  283 + lib3270_set_model_number @282
  284 + lib3270_set_numeric_lock @283
  285 + lib3270_set_oversize @284
  286 + lib3270_set_poll_state @285
  287 + lib3270_set_popup_handler @286
  288 + lib3270_set_session_id @287
  289 + lib3270_set_string @288
  290 + lib3270_set_string_at @289
  291 + lib3270_set_string_at_address @290
  292 + lib3270_set_string_property @291
  293 + lib3270_set_syslog @292
  294 + lib3270_set_toggle @293
  295 + lib3270_set_trace_filename @294
  296 + lib3270_set_trace_handler @295
  297 + lib3270_set_tso @296
  298 + lib3270_set_uint_property @297
  299 + lib3270_set_unlock_delay @298
  300 + lib3270_set_url @299
  301 + lib3270_set_user_data @300
  302 + lib3270_setup_session @301
  303 + lib3270_ssl_get_crl_download @302
  304 + lib3270_ssl_set_crl_download @303
  305 + lib3270_state_get_name @304
  306 + lib3270_strdup @305
  307 + lib3270_strdup_printf @306
  308 + lib3270_strip @307
  309 + lib3270_sysreq @308
  310 + lib3270_testpattern @309
  311 + lib3270_toggle @310
  312 + lib3270_toggle_get_by_name @311
  313 + lib3270_toggle_get_description @312
  314 + lib3270_toggle_get_from_id @313
  315 + lib3270_toggle_get_label @314
  316 + lib3270_toggle_get_name @315
  317 + lib3270_toggle_get_summary @316
  318 + lib3270_trace_data @317
  319 + lib3270_trace_event @318
  320 + lib3270_translate_char @319
  321 + lib3270_translate_ft_message @320
  322 + lib3270_translate_to_address @321
  323 + lib3270_unregister_action_group_listener @322
  324 + lib3270_unregister_schange @323
  325 + lib3270_unregister_toggle_listener @324
  326 + lib3270_unselect @325
  327 + lib3270_unsigned_property_get_by_name @326
  328 + lib3270_update_poll_fd @327
  329 + lib3270_vsprintf @328
  330 + lib3270_wait @329
  331 + lib3270_wait_for_cstate @330
  332 + lib3270_wait_for_keyboard_unlock @331
  333 + lib3270_wait_for_ready @332
  334 + lib3270_wait_for_string @333
  335 + lib3270_wait_for_string_at @334
  336 + lib3270_wait_for_string_at_address @335
  337 + lib3270_wait_for_update @336
  338 + lib3270_win32_create_regkey @337
  339 + lib3270_win32_get_dword @338
  340 + lib3270_win32_local_charset @339
  341 + lib3270_win32_strerror @340
  342 + lib3270_win32_translate_error_code @341
  343 + lib3270_write_dstrace @342
  344 + lib3270_write_event_trace @343
  345 + lib3270_write_log @344
  346 + lib3270_write_nettrace @345
  347 + lib3270_write_rc @346
  348 + lib3270_write_screen_trace @347
  349 + lib3270_write_trace @348
  350 + lib3270_write_va_log @349
... ...