Commit d3f8fbdd60d55423cc5513fe5d480482a98a688f
1 parent
071bacad
Exists in
master
and in
5 other branches
Ajustando biblioteca para compilar na versão 5
Showing
2 changed files
with
754 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,543 @@ |
1 | +/* | |
2 | + * "Software G3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | |
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | |
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | |
5 | + * | |
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | |
7 | + * | |
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | |
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | |
10 | + * Free Software Foundation. | |
11 | + * | |
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | |
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | |
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | |
15 | + * obter mais detalhes. | |
16 | + * | |
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | |
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | |
19 | + * Place, Suite 330, Boston, MA, 02111-1307, USA | |
20 | + * | |
21 | + * Este programa está nomeado como lib3270.h e possui 38 linhas de código. | |
22 | + * | |
23 | + * Contatos: | |
24 | + * | |
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | |
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) | |
27 | + * licinio@bb.com.br (Licínio Luis Branco) | |
28 | + * kraucer@bb.com.br (Kraucer Fernandes Mazuco) | |
29 | + * macmiranda@bb.com.br (Marco Aurélio Caldas Miranda) | |
30 | + * | |
31 | + */ | |
32 | + | |
33 | +#ifndef LIB3270_H_INCLUDED | |
34 | + | |
35 | + #define LIB3270_H_INCLUDED 1 | |
36 | + | |
37 | + /** | |
38 | + * Character attributes | |
39 | + */ | |
40 | + typedef enum _lib3270_attr | |
41 | + { | |
42 | + LIB3270_ATTR_COLOR_BACKGROUND = 0x0000, | |
43 | + | |
44 | + LIB3270_ATTR_COLOR_BLUE = 0x0001, | |
45 | + LIB3270_ATTR_COLOR_RED = 0x0002, | |
46 | + LIB3270_ATTR_COLOR_PINK = 0x0003, | |
47 | + LIB3270_ATTR_COLOR_GREEN = 0x0004, | |
48 | + LIB3270_ATTR_COLOR_TURQUOISE = 0x0005, | |
49 | + LIB3270_ATTR_COLOR_YELLOW = 0x0006, | |
50 | + LIB3270_ATTR_COLOR_WHITE = 0x0007, | |
51 | + LIB3270_ATTR_COLOR_BLACK = 0x0008, | |
52 | + LIB3270_ATTR_COLOR_DARK_BLUE = 0x0009, | |
53 | + LIB3270_ATTR_COLOR_ORANGE = 0x000A, | |
54 | + LIB3270_ATTR_COLOR_PURPLE = 0x000B, | |
55 | + LIB3270_ATTR_COLOR_DARK_GREEN = 0x000C, | |
56 | + LIB3270_ATTR_COLOR_DARK_TURQUOISE = 0x000D, | |
57 | + LIB3270_ATTR_COLOR_MUSTARD = 0x000E, | |
58 | + LIB3270_ATTR_COLOR_GRAY = 0x000F, | |
59 | + | |
60 | + LIB3270_ATTR_COLOR = 0x00FF, | |
61 | + | |
62 | + LIB3270_ATTR_FIELD = 0x0100, | |
63 | + LIB3270_ATTR_BLINK = 0x0200, | |
64 | + LIB3270_ATTR_UNDERLINE = 0x0400, | |
65 | + LIB3270_ATTR_INTENSIFY = 0x0800, | |
66 | + | |
67 | + LIB3270_ATTR_CG = 0x1000, | |
68 | + LIB3270_ATTR_MARKER = 0x2000, | |
69 | + LIB3270_ATTR_BACKGROUND_INTENSITY = 0x4000, | |
70 | + | |
71 | + } LIB3270_ATTR; | |
72 | + | |
73 | + typedef enum _lib3270_toggle | |
74 | + { | |
75 | + LIB3270_TOGGLE_MONOCASE, | |
76 | + LIB3270_TOGGLE_ALT_CURSOR, | |
77 | + LIB3270_TOGGLE_CURSOR_BLINK, | |
78 | + LIB3270_TOGGLE_SHOW_TIMING, | |
79 | + LIB3270_TOGGLE_CURSOR_POS, | |
80 | + LIB3270_TOGGLE_DS_TRACE, | |
81 | + LIB3270_TOGGLE_SCROLL_BAR, | |
82 | + LIB3270_TOGGLE_LINE_WRAP, | |
83 | + LIB3270_TOGGLE_BLANK_FILL, | |
84 | + LIB3270_TOGGLE_SCREEN_TRACE, | |
85 | + LIB3270_TOGGLE_EVENT_TRACE, | |
86 | + LIB3270_TOGGLE_MARGINED_PASTE, | |
87 | + LIB3270_TOGGLE_RECTANGLE_SELECT, | |
88 | + LIB3270_TOGGLE_CROSSHAIR, | |
89 | + LIB3270_TOGGLE_VISIBLE_CONTROL, | |
90 | + LIB3270_TOGGLE_AID_WAIT, | |
91 | + LIB3270_TOGGLE_FULL_SCREEN, | |
92 | + LIB3270_TOGGLE_RECONNECT, | |
93 | + LIB3270_TOGGLE_INSERT, | |
94 | + LIB3270_TOGGLE_KEYPAD, | |
95 | + LIB3270_TOGGLE_SMART_PASTE, | |
96 | + | |
97 | + LIB3270_TOGGLE_COUNT | |
98 | + | |
99 | + } LIB3270_TOGGLE; | |
100 | + | |
101 | + | |
102 | + /** | |
103 | + * Toggle types. | |
104 | + * | |
105 | + */ | |
106 | + typedef enum _LIB3270_TOGGLE_TYPE | |
107 | + { | |
108 | + LIB3270_TOGGLE_TYPE_INITIAL, | |
109 | + LIB3270_TOGGLE_TYPE_INTERACTIVE, | |
110 | + LIB3270_TOGGLE_TYPE_ACTION, | |
111 | + LIB3270_TOGGLE_TYPE_FINAL, | |
112 | + LIB3270_TOGGLE_TYPE_UPDATE, | |
113 | + | |
114 | + LIB3270_TOGGLE_TYPE_USER | |
115 | + | |
116 | + } LIB3270_TOGGLE_TYPE; | |
117 | + | |
118 | + | |
119 | + /** | |
120 | + * OIA Status indicators. | |
121 | + * | |
122 | + */ | |
123 | + typedef enum _lib3270_flag | |
124 | + { | |
125 | + LIB3270_FLAG_BOXSOLID, /**< System available */ | |
126 | + LIB3270_FLAG_UNDERA, /**< Control Unit STATUS */ | |
127 | + LIB3270_FLAG_SECURE, /**< Security status */ | |
128 | + LIB3270_FLAG_TYPEAHEAD, | |
129 | + LIB3270_FLAG_PRINTER, | |
130 | + LIB3270_FLAG_REVERSE, | |
131 | + LIB3270_FLAG_SCRIPT, | |
132 | + | |
133 | + LIB3270_FLAG_COUNT | |
134 | + | |
135 | + } LIB3270_FLAG; | |
136 | + | |
137 | + | |
138 | + /** | |
139 | + * 3270 program messages. | |
140 | + * | |
141 | + */ | |
142 | + typedef enum _LIB3270_MESSAGE | |
143 | + { | |
144 | + LIB3270_MESSAGE_NONE, /**< No message */ | |
145 | + LIB3270_MESSAGE_SYSWAIT, | |
146 | + LIB3270_MESSAGE_TWAIT, | |
147 | + LIB3270_MESSAGE_CONNECTED, | |
148 | + LIB3270_MESSAGE_DISCONNECTED, /**< Disconnected from host */ | |
149 | + LIB3270_MESSAGE_AWAITING_FIRST, | |
150 | + LIB3270_MESSAGE_MINUS, | |
151 | + LIB3270_MESSAGE_PROTECTED, | |
152 | + LIB3270_MESSAGE_NUMERIC, | |
153 | + LIB3270_MESSAGE_OVERFLOW, | |
154 | + LIB3270_MESSAGE_INHIBIT, | |
155 | + LIB3270_MESSAGE_KYBDLOCK, | |
156 | + | |
157 | + LIB3270_MESSAGE_X, | |
158 | + LIB3270_MESSAGE_RESOLVING, /**< Resolving hostname (running DNS query) */ | |
159 | + LIB3270_MESSAGE_CONNECTING, /**< Connecting to host */ | |
160 | + | |
161 | + LIB3270_MESSAGE_USER | |
162 | + | |
163 | + } LIB3270_MESSAGE; | |
164 | + | |
165 | + | |
166 | + /** | |
167 | + * Cursor modes. | |
168 | + * | |
169 | + * Cursor modes set by library; an application can us it | |
170 | + * as a hint to change the mouse cursor based on connection status. | |
171 | + * | |
172 | + */ | |
173 | + typedef enum _LIB3270_CURSOR | |
174 | + { | |
175 | + LIB3270_CURSOR_NORMAL, /**< Ready for user actions */ | |
176 | + LIB3270_CURSOR_WAITING, /**< Waiting for host */ | |
177 | + LIB3270_CURSOR_LOCKED, /**< Locked, can't receive user actions */ | |
178 | + | |
179 | + LIB3270_CURSOR_USER | |
180 | + } LIB3270_CURSOR; | |
181 | + | |
182 | + | |
183 | + /** | |
184 | + * connection state | |
185 | + */ | |
186 | + typedef enum lib3270_cstate | |
187 | + { | |
188 | + LIB3270_NOT_CONNECTED, /**< no socket, disconnected */ | |
189 | + LIB3270_RESOLVING, /**< resolving hostname */ | |
190 | + LIB3270_PENDING, /**< connection pending */ | |
191 | + LIB3270_CONNECTED_INITIAL, /**< connected, no mode yet */ | |
192 | + LIB3270_CONNECTED_ANSI, /**< connected in NVT ANSI mode */ | |
193 | + LIB3270_CONNECTED_3270, /**< connected in old-style 3270 mode */ | |
194 | + LIB3270_CONNECTED_INITIAL_E, /**< connected in TN3270E mode, unnegotiated */ | |
195 | + LIB3270_CONNECTED_NVT, /**< connected in TN3270E mode, NVT mode */ | |
196 | + LIB3270_CONNECTED_SSCP, /**< connected in TN3270E mode, SSCP-LU mode */ | |
197 | + LIB3270_CONNECTED_TN3270E /**< connected in TN3270E mode, 3270 mode */ | |
198 | + } LIB3270_CSTATE; | |
199 | + | |
200 | +// #include <lib3270/api.h> | |
201 | + | |
202 | +#ifdef __cplusplus | |
203 | + extern "C" { | |
204 | +#endif | |
205 | + | |
206 | + #include <lib3270/config.h> | |
207 | + | |
208 | + #if defined(_WIN32) | |
209 | + | |
210 | + #include <windows.h> | |
211 | + #define LIB3270_EXPORT __declspec (dllexport) | |
212 | + | |
213 | + #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) | |
214 | + | |
215 | + #define LIB3270_EXPORT | |
216 | + | |
217 | + #elif defined (HAVE_GNUC_VISIBILITY) | |
218 | + | |
219 | + #define LIB3270_EXPORT __attribute__((visibility("default"))) extern | |
220 | + | |
221 | + #else | |
222 | + #define LIB3270_EXPORT | |
223 | + | |
224 | + #endif | |
225 | + | |
226 | + /* State change IDs. */ | |
227 | + typedef enum _lib3270_state | |
228 | + { | |
229 | + LIB3270_STATE_RESOLVING, | |
230 | + LIB3270_STATE_HALF_CONNECT, | |
231 | + LIB3270_STATE_CONNECT, | |
232 | + LIB3270_STATE_3270_MODE, | |
233 | + LIB3270_STATE_LINE_MODE, | |
234 | + LIB3270_STATE_REMODEL, | |
235 | + LIB3270_STATE_PRINTER, | |
236 | + LIB3270_STATE_EXITING, | |
237 | + LIB3270_STATE_CHARSET, | |
238 | + | |
239 | + LIB3270_STATE_USER // Always the last one | |
240 | + } LIB3270_STATE; | |
241 | + | |
242 | + typedef struct _h3270 H3270; | |
243 | + | |
244 | + /** | |
245 | + * Get current screen size. | |
246 | + * | |
247 | + * Get the size of the terminal in rows/cols; this value can differ from | |
248 | + * the model if there's an active "altscreen" with diferent size. | |
249 | + * | |
250 | + * @param h Handle of the desired session. | |
251 | + * @param r Pointer to screen rows. | |
252 | + * @param c Pointer to screen columns. | |
253 | + * | |
254 | + */ | |
255 | + LIB3270_EXPORT void lib3270_get_screen_size(H3270 *h, int *r, int *c); | |
256 | + | |
257 | + /** | |
258 | + * Start a new session (INCOMPLETE). | |
259 | + * | |
260 | + * Initialize session structure, opens a new session. | |
261 | + * WARNING: Multi session ins't yet supported in lib3270, because of this | |
262 | + * this call always return the handle of the same session. | |
263 | + * | |
264 | + * @param model Terminal model. | |
265 | + * | |
266 | + * @return lib3270 internal session structure. | |
267 | + * | |
268 | + */ | |
269 | + LIB3270_EXPORT H3270 * lib3270_session_new(const char *model); | |
270 | + | |
271 | + /** | |
272 | + * Destroy session, release memory. | |
273 | + * | |
274 | + * @param h Session handle. | |
275 | + * | |
276 | + */ | |
277 | + LIB3270_EXPORT void lib3270_session_free(H3270 *h); | |
278 | + | |
279 | + /** | |
280 | + * Register a state change callback. | |
281 | + * | |
282 | + * @param h Session handle. | |
283 | + * @param tx State ID | |
284 | + * @param func Callback | |
285 | + * @param data Data | |
286 | + * | |
287 | + */ | |
288 | + LIB3270_EXPORT void lib3270_register_schange(H3270 *h,LIB3270_STATE tx, void (*func)(H3270 *, int, void *),void *data); | |
289 | + | |
290 | + /** | |
291 | + * Register a toggle change callback. | |
292 | + * | |
293 | + * @param h Session handle. | |
294 | + * @param ix Toggle id | |
295 | + * @param func Function to call when toggle changes. | |
296 | + * | |
297 | + * @return 0 if ok, EINVAL if the toggle id is invalid. | |
298 | + */ | |
299 | + LIB3270_EXPORT int lib3270_register_tchange(H3270 *h, LIB3270_TOGGLE ix, void (*func)(H3270 *h, int, LIB3270_TOGGLE_TYPE reason)); | |
300 | + | |
301 | + /** | |
302 | + * Network connect operation, keep main loop running | |
303 | + * | |
304 | + * Sets 'reconnect_host', 'current_host' and 'full_current_host' as | |
305 | + * side-effects. | |
306 | + * | |
307 | + * @param h Session handle. | |
308 | + * @param n Host ID | |
309 | + * @param wait Non zero to wait for connection to be ok. | |
310 | + * | |
311 | + * @return 0 for success, EAGAIN if auto-reconnect is in progress, EBUSY if connected, ENOTCONN if connection has failed, -1 on unexpected failure. | |
312 | + * | |
313 | + */ | |
314 | + LIB3270_EXPORT int lib3270_connect(H3270 *h,const char *n, int wait); | |
315 | + | |
316 | + /** | |
317 | + * Disconnect from host. | |
318 | + * | |
319 | + * @param h Session handle. | |
320 | + * | |
321 | + */ | |
322 | + LIB3270_EXPORT void lib3270_disconnect(H3270 *h); | |
323 | + | |
324 | + /** | |
325 | + * Reconnect. | |
326 | + * | |
327 | + * @param h Session handle. | |
328 | + * @param wait Non zero to wait for connection to be ok. | |
329 | + */ | |
330 | + LIB3270_EXPORT int lib3270_reconnect(H3270 *h,int wait); | |
331 | + | |
332 | + /** | |
333 | + * Get connection state. | |
334 | + * | |
335 | + * @param h Session handle. | |
336 | + * | |
337 | + * @return Connection state. | |
338 | + * | |
339 | + */ | |
340 | + LIB3270_EXPORT LIB3270_CSTATE lib3270_get_connection_state(H3270 *h); | |
341 | + | |
342 | + /** | |
343 | + * Pretend that a sequence of keys was entered at the keyboard. | |
344 | + * | |
345 | + * "Pasting" means that the sequence came from the clipboard. Returns are | |
346 | + * ignored; newlines mean "move to beginning of next line"; tabs and formfeeds | |
347 | + * become spaces. Backslashes are not special, but ASCII ESC characters are | |
348 | + * used to signify 3270 Graphic Escapes. | |
349 | + * | |
350 | + * "Not pasting" means that the sequence is a login string specified in the | |
351 | + * hosts file, or a parameter to the String action. Returns are "move to | |
352 | + * beginning of next line"; newlines mean "Enter AID" and the termination of | |
353 | + * processing the string. Backslashes are processed as in C. | |
354 | + * | |
355 | + * @param s String to input. | |
356 | + * @param len Size of the string (or -1 to null terminated strings) | |
357 | + * @param pasting Non zero for pasting (See comments). | |
358 | + * | |
359 | + * @return The number of unprocessed characters. | |
360 | + */ | |
361 | + LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int pasting); | |
362 | + | |
363 | + /** | |
364 | + * Set string at current cursor position. | |
365 | + * | |
366 | + * Returns are ignored; newlines mean "move to beginning of next line"; | |
367 | + * tabs and formfeeds become spaces. Backslashes are not special | |
368 | + * | |
369 | + * @param h Session handle. | |
370 | + * @param s String to input. | |
371 | + * | |
372 | + * @return Negative if error or number of processed characters. | |
373 | + * | |
374 | + */ | |
375 | + LIB3270_EXPORT int lib3270_set_string(H3270 *h, const unsigned char *str); | |
376 | + | |
377 | + /** | |
378 | + * Set cursor address. | |
379 | + * | |
380 | + * @param h Session handle. | |
381 | + * @param baddr New cursor address. | |
382 | + * | |
383 | + * @return last cursor address. | |
384 | + * | |
385 | + */ | |
386 | + LIB3270_EXPORT int lib3270_set_cursor_address(H3270 *h, int baddr); | |
387 | + | |
388 | + /** | |
389 | + * get cursor address. | |
390 | + * | |
391 | + * @param h Session handle. | |
392 | + * | |
393 | + * @return Cursor address. | |
394 | + * | |
395 | + */ | |
396 | + LIB3270_EXPORT int lib3270_get_cursor_address(H3270 *h); | |
397 | + | |
398 | + /** | |
399 | + * Get buffer contents. | |
400 | + * | |
401 | + * @param h Session handle. | |
402 | + * @param first First element to get. | |
403 | + * @param last Last element to get. | |
404 | + * @param chr Pointer to buffer which will receive the read chars. | |
405 | + * @param attr Pointer to buffer which will receive the chars attributes. | |
406 | + * | |
407 | + */ | |
408 | + LIB3270_EXPORT int lib3270_get_contents(H3270 *h, int first, int last, unsigned char *chr, unsigned short *attr); | |
409 | + | |
410 | + /** | |
411 | + * get toggle state. | |
412 | + * | |
413 | + * @param h Session handle. | |
414 | + * @param ix Toggle id. | |
415 | + * | |
416 | + * @return 0 if the toggle is disabled, non zero if enabled. | |
417 | + * | |
418 | + */ | |
419 | + LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *h, LIB3270_TOGGLE ix); | |
420 | + | |
421 | + /** | |
422 | + * Set toggle state. | |
423 | + * | |
424 | + * @param h Session handle. | |
425 | + * @param ix Toggle id. | |
426 | + * @param value New toggle state (non zero for true). | |
427 | + * | |
428 | + * @return 0 if the toggle wasn't changed, non zero if it was changed. | |
429 | + * | |
430 | + */ | |
431 | + LIB3270_EXPORT int lib3270_set_toggle(H3270 *h, LIB3270_TOGGLE ix, int value); | |
432 | + | |
433 | + /** | |
434 | + * Translate a string toggle name to the corresponding value. | |
435 | + * | |
436 | + * @param name Toggle name. | |
437 | + * | |
438 | + * @return Toggle ID or -1 if it's invalid. | |
439 | + * | |
440 | + */ | |
441 | + LIB3270_EXPORT LIB3270_TOGGLE lib3270_get_toggle_id(const char *name); | |
442 | + | |
443 | + /** | |
444 | + * Get the toggle name as string. | |
445 | + * | |
446 | + * @param id Toggle id | |
447 | + * | |
448 | + * @return Constant string with the toggle name or "" if invalid. | |
449 | + * | |
450 | + */ | |
451 | + LIB3270_EXPORT const char * lib3270_get_toggle_name(LIB3270_TOGGLE ix); | |
452 | + | |
453 | + /** | |
454 | + * Revert toggle status. | |
455 | + * | |
456 | + * @param h Session handle. | |
457 | + * @param ix Toggle id. | |
458 | + * | |
459 | + * @return 0 if the toggle was changed, errno code if not. | |
460 | + */ | |
461 | + LIB3270_EXPORT int lib3270_toggle(H3270 *h, LIB3270_TOGGLE ix); | |
462 | + | |
463 | + /** | |
464 | + * Check if the active connection is secure. | |
465 | + * | |
466 | + * @param h Session handle. | |
467 | + * | |
468 | + * @return Non 0 if the connection is SSL secured, 0 if not. | |
469 | + */ | |
470 | + LIB3270_EXPORT int lib3270_get_ssl_state(H3270 *h); | |
471 | + | |
472 | + /** | |
473 | + * Register application I/O Handlers. | |
474 | + * | |
475 | + * @param cbk Structure with the application I/O handles to set. | |
476 | + * | |
477 | + * @return 0 if ok, error code if not. | |
478 | + * | |
479 | + */ | |
480 | + int LIB3270_EXPORT lib3270_register_io_handlers(const struct lib3270_io_callbacks *cbk); | |
481 | + | |
482 | + | |
483 | + /** | |
484 | + * Get program message. | |
485 | + * | |
486 | + * @see LIB3270_MESSAGE | |
487 | + * | |
488 | + * @param h Session handle. | |
489 | + * | |
490 | + * @return Latest program message. | |
491 | + * | |
492 | + */ | |
493 | + LIB3270_EXPORT LIB3270_MESSAGE lib3270_get_program_message(H3270 *h); | |
494 | + | |
495 | + /** | |
496 | + * Get connected LU name. | |
497 | + * | |
498 | + * Get the name of the connected LU; the value is internal to lib3270 and | |
499 | + * should not be changed ou freed. | |
500 | + * | |
501 | + * @param h Session handle. | |
502 | + * | |
503 | + * @return conected LU name or NULL if not connected. | |
504 | + * | |
505 | + */ | |
506 | + LIB3270_EXPORT const char * lib3270_get_luname(H3270 *h); | |
507 | + | |
508 | + LIB3270_EXPORT const char * lib3270_get_host(H3270 *h); | |
509 | + | |
510 | + #define lib3270_has_printer_session(h) (h->oia_flag[LIB3270_FLAG_PRINTER] != 0) | |
511 | + #define lib3270_has_active_script(h) (h->oia_flag[LIB3270_FLAG_SCRIPT] != 0) | |
512 | + #define lib3270_get_typeahead(h) (h->oia_flag[LIB3270_FLAG_TYPEAHEAD] != 0) | |
513 | + #define lib3270_get_undera(h) (h->oia_flag[LIB3270_FLAG_UNDERA] != 0) | |
514 | + #define lib3270_get_oia_box_solid(h) (h->oia_flag[LIB3270_FLAG_BOXSOLID] != 0) | |
515 | + | |
516 | + LIB3270_EXPORT int lib3270_pconnected(H3270 *h); | |
517 | + LIB3270_EXPORT int lib3270_half_connected(H3270 *h); | |
518 | + LIB3270_EXPORT int lib3270_connected(H3270 *h); | |
519 | + LIB3270_EXPORT int lib3270_in_neither(H3270 *h); | |
520 | + LIB3270_EXPORT int lib3270_in_ansi(H3270 *h); | |
521 | + LIB3270_EXPORT int lib3270_in_3270(H3270 *h); | |
522 | + LIB3270_EXPORT int lib3270_in_sscp(H3270 *h); | |
523 | + LIB3270_EXPORT int lib3270_in_tn3270e(H3270 *h); | |
524 | + LIB3270_EXPORT int lib3270_in_e(H3270 *h); | |
525 | + | |
526 | + /** | |
527 | + * Call non gui function. | |
528 | + * | |
529 | + * Call informed function in a separate thread, keep gui main loop running until | |
530 | + * the function returns. | |
531 | + * | |
532 | + * @param callback Function to call. | |
533 | + * @param h Related session (for timer indicator) | |
534 | + * @param parm Parameter to be passed to the function. | |
535 | + * | |
536 | + */ | |
537 | + LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 *h, void *parm); | |
538 | + | |
539 | +#ifdef __cplusplus | |
540 | + } | |
541 | +#endif | |
542 | + | |
543 | +#endif // LIB3270_H_INCLUDED | ... | ... |
... | ... | @@ -0,0 +1,211 @@ |
1 | +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> | |
2 | +<CodeBlocks_project_file> | |
3 | + <FileVersion major="1" minor="6" /> | |
4 | + <Project> | |
5 | + <Option title="lib3270" /> | |
6 | + <Option pch_mode="2" /> | |
7 | + <Option compiler="gcc" /> | |
8 | + <Build> | |
9 | + <Target title="Debug"> | |
10 | + <Option output=".bin/Debug/lib3270" prefix_auto="1" extension_auto="1" /> | |
11 | + <Option object_output=".obj/Debug/" /> | |
12 | + <Option type="1" /> | |
13 | + <Option compiler="gcc" /> | |
14 | + <Compiler> | |
15 | + <Add option="-g" /> | |
16 | + <Add option="-DDEBUG=1" /> | |
17 | + </Compiler> | |
18 | + </Target> | |
19 | + <Target title="Release"> | |
20 | + <Option output=".bin/Release/lib3270" prefix_auto="1" extension_auto="1" /> | |
21 | + <Option object_output=".obj/Release/" /> | |
22 | + <Option type="3" /> | |
23 | + <Option compiler="gcc" /> | |
24 | + <Option createDefFile="1" /> | |
25 | + <Option createStaticLib="1" /> | |
26 | + <Compiler> | |
27 | + <Add option="-O2" /> | |
28 | + </Compiler> | |
29 | + <Linker> | |
30 | + <Add option="-s" /> | |
31 | + </Linker> | |
32 | + </Target> | |
33 | + </Build> | |
34 | + <Compiler> | |
35 | + <Add option="-Wall" /> | |
36 | + <Add option="-DLIB3270=1" /> | |
37 | + <Add directory="../include" /> | |
38 | + <Add directory="../include/lib3270" /> | |
39 | + </Compiler> | |
40 | + <Unit filename="Makefile.in" /> | |
41 | + <Unit filename="XtGlue.c"> | |
42 | + <Option compilerVar="CC" /> | |
43 | + </Unit> | |
44 | + <Unit filename="actions.c"> | |
45 | + <Option compilerVar="CC" /> | |
46 | + </Unit> | |
47 | + <Unit filename="actionsc.h" /> | |
48 | + <Unit filename="ansi.c"> | |
49 | + <Option compilerVar="CC" /> | |
50 | + </Unit> | |
51 | + <Unit filename="ansic.h" /> | |
52 | + <Unit filename="apl.c"> | |
53 | + <Option compilerVar="CC" /> | |
54 | + </Unit> | |
55 | + <Unit filename="aplc.h" /> | |
56 | + <Unit filename="appres.h" /> | |
57 | + <Unit filename="arpa_telnet.h" /> | |
58 | + <Unit filename="cg.h" /> | |
59 | + <Unit filename="charset.c"> | |
60 | + <Option compilerVar="CC" /> | |
61 | + </Unit> | |
62 | + <Unit filename="charsetc.h" /> | |
63 | + <Unit filename="childc.h" /> | |
64 | + <Unit filename="control.in" /> | |
65 | + <Unit filename="ctlr.c"> | |
66 | + <Option compilerVar="CC" /> | |
67 | + </Unit> | |
68 | + <Unit filename="ctlr.h" /> | |
69 | + <Unit filename="ctlrc.h" /> | |
70 | + <Unit filename="dialogc.h" /> | |
71 | + <Unit filename="falbacks.c"> | |
72 | + <Option compilerVar="CC" /> | |
73 | + </Unit> | |
74 | + <Unit filename="ft.c"> | |
75 | + <Option compilerVar="CC" /> | |
76 | + </Unit> | |
77 | + <Unit filename="ft_cut.c"> | |
78 | + <Option compilerVar="CC" /> | |
79 | + </Unit> | |
80 | + <Unit filename="ft_cut_ds.h" /> | |
81 | + <Unit filename="ft_cutc.h" /> | |
82 | + <Unit filename="ft_dft.c"> | |
83 | + <Option compilerVar="CC" /> | |
84 | + </Unit> | |
85 | + <Unit filename="ft_dft_ds.h" /> | |
86 | + <Unit filename="ft_dftc.h" /> | |
87 | + <Unit filename="ftc.h" /> | |
88 | + <Unit filename="globals.h" /> | |
89 | + <Unit filename="glue.c"> | |
90 | + <Option compilerVar="CC" /> | |
91 | + </Unit> | |
92 | + <Unit filename="gluec.h" /> | |
93 | + <Unit filename="host.c"> | |
94 | + <Option compilerVar="CC" /> | |
95 | + </Unit> | |
96 | + <Unit filename="hostc.h" /> | |
97 | + <Unit filename="icmdc.h" /> | |
98 | + <Unit filename="keypadc.h" /> | |
99 | + <Unit filename="kybd.c"> | |
100 | + <Option compilerVar="CC" /> | |
101 | + </Unit> | |
102 | + <Unit filename="kybdc.h" /> | |
103 | + <Unit filename="localdefs.h" /> | |
104 | + <Unit filename="log.c"> | |
105 | + <Option compilerVar="CC" /> | |
106 | + </Unit> | |
107 | + <Unit filename="macros.c"> | |
108 | + <Option compilerVar="CC" /> | |
109 | + </Unit> | |
110 | + <Unit filename="menubarc.h" /> | |
111 | + <Unit filename="mkversion.sh.in" /> | |
112 | + <Unit filename="objects.h" /> | |
113 | + <Unit filename="paste.c"> | |
114 | + <Option compilerVar="CC" /> | |
115 | + </Unit> | |
116 | + <Unit filename="popupsc.h" /> | |
117 | + <Unit filename="print.c"> | |
118 | + <Option compilerVar="CC" /> | |
119 | + </Unit> | |
120 | + <Unit filename="printc.h" /> | |
121 | + <Unit filename="printer.c"> | |
122 | + <Option compilerVar="CC" /> | |
123 | + </Unit> | |
124 | + <Unit filename="printerc.h" /> | |
125 | + <Unit filename="proxy.c"> | |
126 | + <Option compilerVar="CC" /> | |
127 | + </Unit> | |
128 | + <Unit filename="proxyc.h" /> | |
129 | + <Unit filename="resolver.c"> | |
130 | + <Option compilerVar="CC" /> | |
131 | + </Unit> | |
132 | + <Unit filename="resolverc.h" /> | |
133 | + <Unit filename="resources.c"> | |
134 | + <Option compilerVar="CC" /> | |
135 | + </Unit> | |
136 | + <Unit filename="resources.h" /> | |
137 | + <Unit filename="rpq.c"> | |
138 | + <Option compilerVar="CC" /> | |
139 | + </Unit> | |
140 | + <Unit filename="savec.h" /> | |
141 | + <Unit filename="screen.c"> | |
142 | + <Option compilerVar="CC" /> | |
143 | + </Unit> | |
144 | + <Unit filename="screen.h" /> | |
145 | + <Unit filename="screenc.h" /> | |
146 | + <Unit filename="scrollc.h" /> | |
147 | + <Unit filename="see.c"> | |
148 | + <Option compilerVar="CC" /> | |
149 | + </Unit> | |
150 | + <Unit filename="seec.h" /> | |
151 | + <Unit filename="selectc.h" /> | |
152 | + <Unit filename="session.h" /> | |
153 | + <Unit filename="sf.c"> | |
154 | + <Option compilerVar="CC" /> | |
155 | + </Unit> | |
156 | + <Unit filename="sfc.h" /> | |
157 | + <Unit filename="shlobj_missing.h" /> | |
158 | + <Unit filename="statusc.h" /> | |
159 | + <Unit filename="tables.c"> | |
160 | + <Option compilerVar="CC" /> | |
161 | + </Unit> | |
162 | + <Unit filename="tablesc.h" /> | |
163 | + <Unit filename="telnet.c"> | |
164 | + <Option compilerVar="CC" /> | |
165 | + </Unit> | |
166 | + <Unit filename="telnetc.h" /> | |
167 | + <Unit filename="testprogram.c"> | |
168 | + <Option compilerVar="CC" /> | |
169 | + </Unit> | |
170 | + <Unit filename="tn3270e.h" /> | |
171 | + <Unit filename="toggles.c"> | |
172 | + <Option compilerVar="CC" /> | |
173 | + </Unit> | |
174 | + <Unit filename="togglesc.h" /> | |
175 | + <Unit filename="trace_ds.c"> | |
176 | + <Option compilerVar="CC" /> | |
177 | + </Unit> | |
178 | + <Unit filename="trace_dsc.h" /> | |
179 | + <Unit filename="utf8.c"> | |
180 | + <Option compilerVar="CC" /> | |
181 | + </Unit> | |
182 | + <Unit filename="utf8c.h" /> | |
183 | + <Unit filename="util.c"> | |
184 | + <Option compilerVar="CC" /> | |
185 | + </Unit> | |
186 | + <Unit filename="utilc.h" /> | |
187 | + <Unit filename="version.c"> | |
188 | + <Option compilerVar="CC" /> | |
189 | + </Unit> | |
190 | + <Unit filename="w3misc.c"> | |
191 | + <Option compilerVar="CC" /> | |
192 | + </Unit> | |
193 | + <Unit filename="w3miscc.h" /> | |
194 | + <Unit filename="widec.h" /> | |
195 | + <Unit filename="winvers.c"> | |
196 | + <Option compilerVar="CC" /> | |
197 | + </Unit> | |
198 | + <Unit filename="winversc.h" /> | |
199 | + <Unit filename="xio.c"> | |
200 | + <Option compilerVar="CC" /> | |
201 | + </Unit> | |
202 | + <Unit filename="xioc.h" /> | |
203 | + <Unit filename="xl.h" /> | |
204 | + <Extensions> | |
205 | + <code_completion /> | |
206 | + <envvars /> | |
207 | + <debugger /> | |
208 | + <lib_finder disable_auto="1" /> | |
209 | + </Extensions> | |
210 | + </Project> | |
211 | +</CodeBlocks_project_file> | ... | ... |