Commit 5e9d1f19bba63159a99e8dc333a01c4ecd211c6c
1 parent
062033af
Exists in
master
and in
3 other branches
Small adjustments in the library.
Showing
5 changed files
with
66 additions
and
35 deletions
Show diff stats
src/include/3270ds.h
1 | /* | 1 | /* |
2 | - * Modifications Copyright 1993, 1994, 1995, 1999, 2000, 2002, 2003, 2004, | ||
3 | - * 2005 by Paul Mattes. | ||
4 | - * RPQNAMES modifications Copyright 2004 by Don Russell. | ||
5 | - * Original X11 Port Copyright 1990 by Jeff Sparkes. | ||
6 | - * Permission to use, copy, modify, and distribute this software and its | ||
7 | - * documentation for any purpose and without fee is hereby granted, | ||
8 | - * provided that the above copyright notice appear in all copies and that | ||
9 | - * both that copyright notice and this permission notice appear in | ||
10 | - * supporting documentation. | 2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 |
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | ||
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | ||
11 | * | 5 | * |
12 | - * Copyright 1989 by Georgia Tech Research Corporation, Atlanta, GA 30332. | ||
13 | - * All Rights Reserved. GTRC hereby grants public use of this software. | ||
14 | - * Derivative works based on this software must incorporate this copyright | ||
15 | - * notice. | 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., 51 Franklin | ||
19 | + * St, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | + * | ||
21 | + * Este programa está nomeado como lib3270.h e possui - linhas de código. | ||
22 | + * | ||
23 | + * Contatos: | ||
24 | + * | ||
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | ||
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | ||
16 | * | 27 | * |
17 | - * x3270, c3270, s3270, tcl3270 and pr3287 are distributed in the hope that | ||
18 | - * they will be useful, but WITHOUT ANY WARRANTY; without even the implied | ||
19 | - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
20 | - * file LICENSE for more details. | ||
21 | */ | 28 | */ |
22 | 29 | ||
23 | /** | 30 | /** |
src/include/lib3270.h
@@ -279,18 +279,34 @@ | @@ -279,18 +279,34 @@ | ||
279 | */ | 279 | */ |
280 | typedef enum lib3270_cstate | 280 | typedef enum lib3270_cstate |
281 | { | 281 | { |
282 | - LIB3270_NOT_CONNECTED, /**< @brief no socket, disconnected */ | ||
283 | - LIB3270_RESOLVING, /**< @brief resolving hostname */ | ||
284 | - LIB3270_PENDING, /**< @brief connection pending */ | ||
285 | - LIB3270_CONNECTED_INITIAL, /**< @brief connected, no mode yet */ | ||
286 | - LIB3270_CONNECTED_ANSI, /**< @brief connected in NVT ANSI mode */ | ||
287 | - LIB3270_CONNECTED_3270, /**< @brief connected in old-style 3270 mode */ | ||
288 | - LIB3270_CONNECTED_INITIAL_E, /**< @brief connected in TN3270E mode, unnegotiated */ | ||
289 | - LIB3270_CONNECTED_NVT, /**< @brief connected in TN3270E mode, NVT mode */ | ||
290 | - LIB3270_CONNECTED_SSCP, /**< @brief connected in TN3270E mode, SSCP-LU mode */ | ||
291 | - LIB3270_CONNECTED_TN3270E /**< @brief connected in TN3270E mode, 3270 mode */ | 282 | + LIB3270_NOT_CONNECTED, ///< @brief no socket, disconnected |
283 | + LIB3270_RESOLVING, ///< @brief resolving hostname | ||
284 | + LIB3270_PENDING, ///< @brief connection pending | ||
285 | + LIB3270_CONNECTED_INITIAL, ///< @brief connected, no mode yet | ||
286 | + LIB3270_CONNECTED_ANSI, ///< @brief connected in NVT ANSI mode | ||
287 | + LIB3270_CONNECTED_3270, ///< @brief connected in old-style 3270 mode | ||
288 | + LIB3270_CONNECTED_INITIAL_E, ///< @brief connected in TN3270E mode, unnegotiated | ||
289 | + LIB3270_CONNECTED_NVT, ///< @brief connected in TN3270E mode, NVT mode | ||
290 | + LIB3270_CONNECTED_SSCP, ///< @brief connected in TN3270E mode, SSCP-LU mode | ||
291 | + LIB3270_CONNECTED_TN3270E ///< @brief connected in TN3270E mode, 3270 mode | ||
292 | } LIB3270_CSTATE; | 292 | } LIB3270_CSTATE; |
293 | 293 | ||
294 | + /** | ||
295 | + * @brief Field attributes. | ||
296 | + */ | ||
297 | + typedef enum lib3270_field_attribute | ||
298 | + { | ||
299 | + LIB3270_FIELD_ATTRIBUTE_PRINTABLE = 0xc0, ///< @brief these make the character "printable" | ||
300 | + LIB3270_FIELD_ATTRIBUTE_PROTECT = 0x20, ///< @brief unprotected (0) / protected (1) | ||
301 | + LIB3270_FIELD_ATTRIBUTE_NUMERIC = 0x10, ///< @brief alphanumeric (0) / numeric (1) | ||
302 | + LIB3270_FIELD_ATTRIBUTE_INTENSITY = 0x0c, ///< @brief display/selector pen detectable: | ||
303 | + LIB3270_FIELD_ATTRIBUTE_INT_NORM_NSEL = 0x00, ///< @brief 00 normal, non-detect | ||
304 | + LIB3270_FIELD_ATTRIBUTE_INT_NORM_SEL = 0x04, ///< @brief 01 normal, detectable | ||
305 | + LIB3270_FIELD_ATTRIBUTE_INT_HIGH_SEL = 0x08, ///< @brief 10 intensified, detectable | ||
306 | + LIB3270_FIELD_ATTRIBUTE_INT_ZERO_NSEL = 0x0c, ///< @brief 11 nondisplay, non-detect | ||
307 | + LIB3270_FIELD_ATTRIBUTE_RESERVED = 0x02, ///< @brief must be 0 | ||
308 | + LIB3270_FIELD_ATTRIBUTE_MODIFIED = 0x01 ///< @brief modified (1) | ||
309 | + } LIB3270_FIELD_ATTRIBUTE; | ||
294 | 310 | ||
295 | /** | 311 | /** |
296 | * @brief Host options | 312 | * @brief Host options |
@@ -1149,7 +1165,15 @@ | @@ -1149,7 +1165,15 @@ | ||
1149 | */ | 1165 | */ |
1150 | LIB3270_EXPORT int lib3270_field_addr(H3270 *hSession, int baddr); | 1166 | LIB3270_EXPORT int lib3270_field_addr(H3270 *hSession, int baddr); |
1151 | 1167 | ||
1152 | - LIB3270_EXPORT int lib3270_field_attribute(H3270 *hSession, int baddr); | 1168 | + /** |
1169 | + * @brief Get field attribute for a given buffer address. | ||
1170 | + * | ||
1171 | + * @param hSession Session handle. | ||
1172 | + * @param addr Buffer address of the field. | ||
1173 | + * | ||
1174 | + * @return field attribute or -1 when failed (sets errno). | ||
1175 | + */ | ||
1176 | + LIB3270_EXPORT int lib3270_get_field_attribute(H3270 *hSession, int baddr); | ||
1153 | 1177 | ||
1154 | /** | 1178 | /** |
1155 | * @brief Get the length of the field at given buffer address. | 1179 | * @brief Get the length of the field at given buffer address. |
src/include/lib3270/selection.h
@@ -43,9 +43,9 @@ | @@ -43,9 +43,9 @@ | ||
43 | * | 43 | * |
44 | */ | 44 | */ |
45 | typedef struct _lib3270_selection_element { | 45 | typedef struct _lib3270_selection_element { |
46 | - unsigned char chr; ///< @brief Element character | ||
47 | - unsigned short flags; ///< @brief Element colors & visual state. | ||
48 | - unsigned char attributes; ///< @brief 3270 attributes. | 46 | + unsigned char chr; ///< @brief Element character. |
47 | + unsigned short flags; ///< @brief Element colors & visual state. @see LIB3270_ATTR | ||
48 | + unsigned char field_attributes; ///< @brief Field attribute. @see LIB3270_FIELD_ATTRIBUTE | ||
49 | } lib3270_selection_element; | 49 | } lib3270_selection_element; |
50 | 50 | ||
51 | /** | 51 | /** |
src/lib3270/ctlr.c
@@ -514,7 +514,7 @@ LIB3270_EXPORT int lib3270_field_addr(H3270 *hSession, int baddr) | @@ -514,7 +514,7 @@ LIB3270_EXPORT int lib3270_field_addr(H3270 *hSession, int baddr) | ||
514 | return -1; | 514 | return -1; |
515 | } | 515 | } |
516 | 516 | ||
517 | -LIB3270_EXPORT int lib3270_field_attribute(H3270 *hSession, int baddr) | 517 | +LIB3270_EXPORT int lib3270_get_field_attribute(H3270 *hSession, int baddr) |
518 | { | 518 | { |
519 | int sbaddr; | 519 | int sbaddr; |
520 | 520 |
src/lib3270/selection/get.c
@@ -182,9 +182,9 @@ LIB3270_EXPORT lib3270_selection * lib3270_get_selection(H3270 *hSession, int cu | @@ -182,9 +182,9 @@ LIB3270_EXPORT lib3270_selection * lib3270_get_selection(H3270 *hSession, int cu | ||
182 | fa = hSession->ea_buf[baddr].fa; | 182 | fa = hSession->ea_buf[baddr].fa; |
183 | } | 183 | } |
184 | 184 | ||
185 | - selection->contents[dstaddr].chr = (hSession->text[baddr].chr ? hSession->text[baddr].chr : ' '); | ||
186 | - selection->contents[dstaddr].flags = hSession->text[baddr].attr; | ||
187 | - selection->contents[dstaddr].attributes = fa; | 185 | + selection->contents[dstaddr].chr = (hSession->text[baddr].chr ? hSession->text[baddr].chr : ' '); |
186 | + selection->contents[dstaddr].flags = hSession->text[baddr].attr; | ||
187 | + selection->contents[dstaddr].field_attributes = fa; | ||
188 | 188 | ||
189 | if(cut && !FA_IS_PROTECTED(fa)) { | 189 | if(cut && !FA_IS_PROTECTED(fa)) { |
190 | clear_chr(hSession,baddr); | 190 | clear_chr(hSession,baddr); |