Commit d3f8fbdd60d55423cc5513fe5d480482a98a688f

Authored by perry.werneck@gmail.com
1 parent 071bacad

Ajustando biblioteca para compilar na versão 5

Showing 2 changed files with 754 additions and 0 deletions   Show diff stats
src/include/lib3270.h 0 → 100644
... ... @@ -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
... ...
src/lib3270/lib3270.cbp 0 → 100644
... ... @@ -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>
... ...