Commit 0597c00dd9891fd4282c190c76ee684b17019de0

Authored by Perry Werneck
1 parent f007470a

Updating API, adding method to get screen format state.

src/core/ctlr.c
... ... @@ -429,6 +429,14 @@ static void ctlr_connect(H3270 *hSession, int GNUC_UNUSED(ignored), void GNUC_UN
429 429 hSession->crm_nattr = 0;
430 430 }
431 431  
  432 +LIB3270_EXPORT int lib3270_get_is_formatted(H3270 *hSession)
  433 +{
  434 + if(check_online_session(hSession))
  435 + return -1;
  436 +
  437 + return hSession->formatted ? 1 : 0;
  438 +}
  439 +
432 440 /**
433 441 * @brief Get field address.
434 442 *
... ... @@ -531,7 +539,7 @@ LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSessi
531 539 if(!hSession->formatted)
532 540 {
533 541 errno = ENOTCONN;
534   - return (LIB3270_FIELD_ATTRIBUTE) 0;
  542 + return LIB3270_FIELD_ATTRIBUTE_INVALID;
535 543 }
536 544  
537 545 if(baddr < 0)
... ... @@ -547,7 +555,7 @@ LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSessi
547 555 } while (baddr != sbaddr);
548 556  
549 557 errno = EINVAL;
550   - return (LIB3270_FIELD_ATTRIBUTE) 0;
  558 + return LIB3270_FIELD_ATTRIBUTE_INVALID;
551 559  
552 560 }
553 561  
... ... @@ -646,26 +654,9 @@ LIB3270_EXPORT int lib3270_get_is_protected(H3270 *hSession, int baddr)
646 654 LIB3270_EXPORT int lib3270_is_protected(H3270 *h, unsigned int baddr)
647 655 {
648 656 return lib3270_get_is_protected(h, baddr);
649   -
650   - /*
651   - unsigned char fa;
652   -
653   - FAIL_IF_NOT_ONLINE(h);
654   -
655   - if(baddr > (h->rows * h->cols))
656   - {
657   - errno = EINVAL;
658   - return -1;
659   - }
660   -
661   - fa = get_field_attribute(h,baddr);
662   -
663   - return FA_IS_PROTECTED(fa);
664   - */
665 657 }
666 658  
667 659  
668   -
669 660 /**
670 661 * Perform an erase command, which may include changing the (virtual) screen size.
671 662 *
... ...
src/core/properties.c
... ... @@ -56,11 +56,6 @@
56 56 return hSession->starting != 0;
57 57 }
58 58  
59   - int lib3270_get_formatted(H3270 *hSession)
60   - {
61   - return hSession->formatted != 0;
62   - }
63   -
64 59 const LIB3270_INT_PROPERTY * lib3270_get_boolean_properties_list(void)
65 60 {
66 61  
... ... @@ -173,7 +168,7 @@
173 168 {
174 169 "formatted", // Property name.
175 170 N_( "Formatted screen" ), // Property description.
176   - lib3270_get_formatted, // Get value.
  171 + lib3270_get_is_formatted, // Get value.
177 172 NULL // Set value.
178 173 },
179 174  
... ... @@ -212,7 +207,7 @@
212 207 },
213 208  
214 209 {
215   - "width",// Property name.
  210 + "width", // Property name.
216 211 N_( "Current screen width in columns" ), // Property description.
217 212 lib3270_get_width, // Get value.
218 213 NULL // Set value.
... ...
src/include/lib3270.h
... ... @@ -296,6 +296,7 @@
296 296 */
297 297 typedef enum lib3270_field_attribute
298 298 {
  299 + LIB3270_FIELD_ATTRIBUTE_INVALID = 0x00, ///< @brief Attribute is invalid.
299 300 LIB3270_FIELD_ATTRIBUTE_PRINTABLE = 0xc0, ///< @brief these make the character "printable"
300 301 LIB3270_FIELD_ATTRIBUTE_PROTECT = 0x20, ///< @brief unprotected (0) / protected (1)
301 302 LIB3270_FIELD_ATTRIBUTE_NUMERIC = 0x10, ///< @brief alphanumeric (0) / numeric (1)
... ... @@ -309,15 +310,14 @@
309 310 } LIB3270_FIELD_ATTRIBUTE;
310 311  
311 312 /**
312   - * @brief Host options
  313 + * @brief Host types.
313 314 *
314 315 */
315 316 typedef enum lib3270_host_type
316 317 {
317   - // Host types
318   - LIB3270_HOST_AS400 = 0x0001, ///< AS400 host - Prefix every PF with PA1
319   - LIB3270_HOST_TSO = 0x0002, ///< Host is TSO?
320   - LIB3270_HOST_S390 = 0x0006, ///< Host is S390? (TSO included)
  318 + LIB3270_HOST_AS400 = 0x0001, ///< @brief AS400 host - Prefix every PF with PA1
  319 + LIB3270_HOST_TSO = 0x0002, ///< @brief Host is TSO
  320 + LIB3270_HOST_S390 = 0x0006, ///< @brief Host is S390 (TSO included)
321 321  
322 322 } LIB3270_HOST_TYPE;
323 323  
... ... @@ -332,7 +332,7 @@
332 332 } LIB3270_HOST_TYPE_ENTRY;
333 333  
334 334 /**
335   - * SSL state
  335 + * @brief SSL state
336 336 *
337 337 */
338 338 typedef enum lib3270_ssl_state
... ... @@ -1147,6 +1147,16 @@
1147 1147 LIB3270_EXPORT int LIB3270_DEPRECATED(lib3270_is_protected(H3270 *h, unsigned int baddr));
1148 1148  
1149 1149 /**
  1150 + * @brief Check if the screen is formatted.
  1151 + *
  1152 + * @param hSession Session handle.
  1153 + *
  1154 + * @return -1 when failed 1 if the session is formatted and 0 if not.
  1155 + *
  1156 + */
  1157 + LIB3270_EXPORT int lib3270_get_is_formatted(H3270 *hSession);
  1158 +
  1159 + /**
1150 1160 * @brief Get Check if the screen position is protected.
1151 1161 *
1152 1162 * @param h Session Handle.
... ... @@ -1186,7 +1196,7 @@
1186 1196 * @param hSession Session handle.
1187 1197 * @param addr Buffer address of the field (-1 to use the cursor address).
1188 1198 *
1189   - * @return field attribute or 0 when failed (sets errno).
  1199 + * @return field attribute or LIB3270_FIELD_ATTRIBUTE_INVALID when failed (sets errno).
1190 1200 */
1191 1201 LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSession, int baddr);
1192 1202  
... ...