idnits 2.17.1 draft-ietf-tn3270e-ohio-00.txt: -(33): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(80): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(124): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(172): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(222): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(273): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(319): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(365): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(393): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(442): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(495): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(548): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(598): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(650): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(667): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(673): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(675): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(676): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(677): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(678): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(679): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(680): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(681): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(682): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(683): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(684): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(718): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(764): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(809): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(826): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(843): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(844): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(846): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(847): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(861): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(870): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(914): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(934): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(935): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(941): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(955): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(958): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(973): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(979): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(985): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(988): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1003): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1004): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1008): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1012): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1024): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1030): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1050): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1088): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1090): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1103): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1137): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1142): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1156): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1164): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1166): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1169): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1187): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1189): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1193): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1194): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1196): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1198): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1200): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1201): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1203): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1205): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1207): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1208): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1210): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1211): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1213): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1214): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1216): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1217): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1219): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1220): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1222): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1226): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1227): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1229): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1230): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1232): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1233): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1235): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1236): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1238): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1239): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1241): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1242): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1244): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1245): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1247): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1248): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1250): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1251): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1253): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1254): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1256): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1257): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1259): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1260): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1262): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1263): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1265): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1266): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1268): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1269): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1271): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1272): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1274): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1278): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1279): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1281): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1282): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1284): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1285): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1287): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1288): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1290): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1291): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1293): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1294): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1296): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1297): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1299): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1300): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1301): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1303): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1305): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1307): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1309): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1311): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1313): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1315): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1316): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1318): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1319): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1321): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1323): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1327): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1328): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1329): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1330): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1332): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1333): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1334): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1336): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1337): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1338): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1339): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1340): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1342): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1343): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1344): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1345): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1346): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1347): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1349): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1350): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1351): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1352): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1354): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1355): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1356): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1358): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1359): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1360): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1362): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1364): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding -(1367): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Found some kind of copyright notice around line 38 but it does not match any copyright boilerplate known by this tool. Expected boilerplate is as follows today (2024-04-19) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == There are 303 instances of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack an Authors' Addresses Section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 310 has weird spacing: '...osition pos);...' == Line 324 has weird spacing: '...eadonly strin...' == Line 734 has weird spacing: '...const long O...' == Line 735 has weird spacing: '...const long O...' == Line 736 has weird spacing: '...const long O...' == (30 more instances...) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 9 errors (**), 0 flaws (~~), 9 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TN3270E Working Group Thomas Brawn 2 Internet Draft: IBM Corporation 3 Expiration Date: tbd Stephen Gunn 4 Attachmate Corporation 6 Open Host Interface Objects for TN3270E 8 Status of this Memo 10 This document is an Internet-Draft. Internet-Drafts are working 11 documents of the Internet Engineering Task Force (IETF), its Areas, 12 and its Working Groups. Note that other groups may also distribute 13 working documents as Internet-Drafts. 15 Internet-Drafts are draft documents valid for a maximum of six 16 months and may be updated, replaced, or obsoleted by other documents 17 at any time. It is inappropriate to use Internet-Drafts as 18 reference material or to cite them other than as "work in 19 progress." 21 To view the entire list of current Internet-Drafts, please check 22 the "lid-abstracts.txt" listing contained in the Internet-Drafts 23 Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net 24 (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au 25 (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US 26 West Coast). 28 Abstract 30 The purpose of this memo is to define an object oriented interface to 31 TN3270E. 33 Brawn & Gunn Informational �Page 1� 34 Ohio-00 Open Host Interface Objects September 1998 36 Copyright Notice 38 Copyright (C) The Internet Society (1997). All Rights Reserved. 40 Table of Contents 42 1.0 Introduction...................................................2 43 2.0 Object Definitions.............................................3 44 2.1 Ohio...........................................................3 45 2.2 OhioField......................................................5 46 2.3 OhioFields.....................................................5 47 2.4 OhioManager....................................................6 48 2.5 OhioOIA........................................................6 49 2.6 OhioPosition...................................................7 50 2.7 OhioScreen.....................................................7 51 2.8 OhioSession....................................................7 52 2.9 OhioSessions...................................................8 53 3.0 Acknowledgements...............................................8 54 4.0 References.....................................................9 55 5.0 How to Contact the Authors.....................................9 56 Appendix A - Ohio Java Mapping....................................10 57 Appendix B - Ohio ActiveX IDL Mapping.............................16 58 Appendix C - Sendkeys Mnemonics...................................27 60 1.0 Introduction 61 The following is the Ohio containment hierarchy: 62 OhioManager: Contains one: 63 OhioSessions: Contains a collection of: 64 OhioSession: Contains one: 65 OhioScreen: Contains one of each of: 66 OhioOIA: The operator information area 67 OhioFields: Contains a collection of: 68 OhioField: A field in the presentation space 70 The Ohio inheritance hierarchy is: 71 Ohio: Base class 72 OhioManager 73 OhioSessions 74 OhioSession 75 OhioScreen 76 OhioOIA 77 OhioFields 78 OhioField 80 Brawn & Gunn Informational �Page 2� 81 Ohio-00 Open Host Interface Objects September 1998 83 2.0 Object Definitions 85 OMG IDL Version 2.1 is used to define the following objects. For a 86 mapping of the IDL to Java, see Appendix A - Ohio Java Mapping. For 87 a mapping of the IDL to ActiveX IDL, see Appendix B - Ohio ActiveX 88 IDL Mapping. 90 Note: "1" based counting is used throughout this standard for both 91 positions (the first position on the screen is position 1, not 92 position 0) and sizes (the first item in a collection is item 1, not 93 item 0). 95 2.1 Ohio 97 Interface Ohio { 99 // Properties 100 Readonly enum OHIO_DIRECTION { 101 OHIO_DIRECTION_FORWARD, 102 OHIO_DIRECTION_BACKWARD 103 }; 105 Readonly enum OHIO_TYPE { 106 OHIO_TYPE_UNKNOWN, 107 OHIO_TYPE_3270, 108 OHIO_TYPE_5250, 109 OHIO_TYPE_VT 110 }; 112 Readonly enum OHIO_STATE { 113 OHIO_STATE_DISCONNECTED, 114 OHIO_STATE_CONNECTED 115 }; 117 Readonly enum OHIO_PLANE { 118 OHIO_PLANE_TEXT, 119 OHIO_PLANE_COLOR, 120 OHIO_PLANE_FIELD, 121 OHIO_PLANE_EXTENDED 122 }; 124 Brawn & Gunn Informational �Page 3� 125 Ohio-00 Open Host Interface Objects September 1998 127 Readonly enum OHIO_COLOR { 128 OHIO_COLOR_BLACK, 129 OHIO_COLOR_BLUE, 130 OHIO_COLOR_GREEN, 131 OHIO_COLOR_CYAN, 132 OHIO_COLOR_RED, 133 OHIO_COLOR_MAGENTA, 134 OHIO_COLOR_WHITE, 135 OHIO_COLOR_YELLOW 136 }; 138 Readonly enum OHIO_EXTENDED { 139 OHIO_EXTENDED_HILITE, 140 OHIO_EXTENDED_COLOR, 141 OHIO_EXTENDED_RESERVED, 142 OHIO_EXTENDED_HILITE_NORMAL, 143 OHIO_EXTENDED_HILITE_BLINK, 144 OHIO_EXTENDED_HILITE_REVERSEVIDEO, 145 OHIO_EXTENDED_HILITE_UNDERSCORE, 146 OHIO_EXTENDED_COLOR_DEFAULT, 147 OHIO_EXTENDED_COLOR_BLUE, 148 OHIO_EXTENDED_COLOR_RED, 149 OHIO_EXTENDED_COLOR_PINK, 150 OHIO_EXTENDED_COLOR_GREEN, 151 OHIO_EXTENDED_COLOR_TURQUOISE, 152 OHIO_EXTENDED_COLOR_YELLOW, 153 OHIO_EXTENDED_COLOR_WHITE 154 }; 156 Readonly enum OHIO_FIELD { 157 OHIO_FIELD_ATTRIBUTE, 158 OHIO_FIELD_PROTECTED, 159 OHIO_FIELD_NUMERIC, 160 OHIO_FIELD_PEN_SELECTABLE, 161 OHIO_FIELD_HIGH_INTENSITY, 162 OHIO_FIELD_HIDDEN, 163 OHIO_FIELD_RESERVED, 164 OHIO_FIELD_MODIFIED 165 }; 167 Readonly enum OHIO_UPDATE { 168 OHIO_UPDATE_HOST, 169 OHIO_UPDATE_CLIENT 170 }; 172 Brawn & Gunn Informational �Page 4� 173 Ohio-00 Open Host Interface Objects September 1998 175 Readonly enum OHIO_OWNER { 176 OHIO_OWNER_UNKNOWN, 177 OHIO_OWNER_APP, 178 OHIO_OWNER_MYJOB, 179 OHIO_OWNER_NVT, 180 OHIO_OWNER_UNOWNED, 181 OHIO_OWNER_SSCP 182 }; 184 Readonly enum OHIO_INPUTINHIBITED { 185 OHIO_INPUTINHIBITED_NOTINHIBITED, 186 OHIO_INPUTINHIBITED_SYSTEM_WAIT, 187 OHIO_INPUTINHIBITED_COMMCHECK, 188 OHIO_INPUTINHIBITED_PROGCHECK, 189 OHIO_INPUTINHIBITED_MACHINECHECK, 190 OHIO_INPUTINHIBITED_OTHER 191 }; 193 }; 195 2.2 OhioField 197 Interface OhioField { 199 // Properties 200 Readonly OhioPosition Start; 201 Readonly OhioPosition End; 202 Readonly long Length; 203 Readonly boolean Modified; 204 Readonly boolean Protected; 205 Readonly boolean Numeric; 206 Readonly boolean HighIntensity; 207 Readonly boolean PenSelectable; 208 Readonly boolean Hidden; 209 Readonly boolean Normal; 210 Read/Write string Text; 211 Readonly OHIO_FIELD Attribute; 213 // Methods 214 byte �� GetData(OHIO_PLANE); 216 }; 218 2.3 OhioFields 220 Interface OhioFields { 222 Brawn & Gunn Informational �Page 5� 223 Ohio-00 Open Host Interface Objects September 1998 225 // Properties 226 Readonly long count; 228 // Methods 229 OhioField Item(long); 230 Void Refresh(); 231 OhioField FindByString(string target, OhioPosition start, 232 OhioPosition end, OHIO_DIRECTION direction, 233 boolean IgnoreCase); 234 OhioField FindByPosition(OhioPosition); 236 }; 238 2.4 OhioManager 240 Interface OhioManager { 242 // Properties 243 OhioSessions Sessions; 245 // Methods 246 OhioSession FindSession(string configurationResource, 247 string sessionName); 249 }; 251 2.5 OhioOIA 253 Interface OhioOIA { 255 // Properties 256 Readonly boolean Alphanumeric; 257 Readonly boolean APL; 258 Readonly boolean Numeric; 259 Readonly boolean InsertMode; 260 Readonly OHIO_OWNER owner; 261 Readonly OHIO_INPUTINHIBITED InputInhibited; 262 Readonly long ProgCheckCode; 263 Readonly long CommCheckCode; 264 Readonly long MachineCheckCode; 266 // Methods 268 // Events 269 OIAChanged() 271 }; 273 Brawn & Gunn Informational �Page 6� 274 Ohio-00 Open Host Interface Objects September 1998 276 2.6 OhioPosition 278 Interface OhioPosition { 280 // Properties 281 long Row; 282 long Column; 284 }; 286 2.7 OhioScreen 288 Interface OhioScreen { 290 // Properties 291 Readonly Attribute OhioPosition Cursor; // Position of cursor 292 Readonly Attribute OhioOIA OIA; // OIA object for this Screen 293 Readonly Attribute OhioFields Fields; // Collection of fields 294 Readonly Attribute long Rows; // Number of rows in Screen 295 Readonly Attribute long Columns; // Number of columns in Screen 296 Readonly Attribute string Text; // Entire Screen as text string 298 // Methods 299 bytes �� GetData(long BuffLen, OhioPosition Start, 300 OhioPosition End, OHIO_PLANE Plane); 301 OhioPosition FindString(string text, OhioPosition Start, 302 OhioPosition End, PS_DIR Dir, 303 boolean IgnoreCase); 304 void SendKeys(string text, OhioPosition insertPosition); 305 void PutString(string text, OhioPosition insertLocation); 307 // Events 308 CursorMoved(cursor position) 309 ScreenChanged(screen delta, OHIO_UPDATE, OhioPosition pos, 310 OhioPosition pos); 311 SizeChanged - tbd 313 }; 315 2.8 OhioSession 317 Interface OhioSession { 319 Brawn & Gunn Informational �Page 7� 320 Ohio-00 Open Host Interface Objects September 1998 322 // Properties 323 Readonly string configurationResource; 324 Readonly string sessionName; 325 Readonly OHIO_TYPE sessionType; 326 Readonly OHIO_STATE connected; 327 Readonly OhioScreen Screen; 329 // Methods 330 void Connect(); 331 void Disconnect(); 333 // Events 334 SessionChanged(OHIO_UPDATE); 336 }; 338 2.9 OhioSessions 340 Interface OhioSessions{ 342 // Properties 343 long count; 345 // Methods 346 OhioSession Item(long); 347 OhioSession Item(string); 348 Void Refresh(); 350 // Events 352 }; 354 3.0 Acknowledgments 355 This document is a product of the TN3270E Working Group. 357 The authors wish to thank the following individuals for their 358 contributions to this standard: 359 Mark McMillan, IBM Corporation 360 Hemant Nanivadekar, Attachmate Corporation 361 J. Burke Ryder, Attachmate Corporation 362 Blair Cooper, Attachmate Corporation 363 Brian L. Henry, Attachmate Corporation 365 Brawn & Gunn Informational �Page 8� 366 Ohio-00 Open Host Interface Objects September 1998 368 4.0 References 369 1) International Business Machines Corporation, "eNetwork Personal 370 Communications Version 4.2 for Windows 95 and Windows NT Host 371 Access Class Library", September 1997. 372 2) International Business Machines Corporation, "Host On-Demand 373 Version 2.0 Host Access Class Library for Java Reference", 374 October 1997. 375 3) Attachmate Corporation, "EXTRA! Objects SDK Reference Guide for 376 C++", October 1997. 378 5.0 How to Contact the Authors 379 Thomas Brawn 380 IBM Corporation 381 4205 S. Miami Blvd 382 RTP, NC 27709 383 e-mail: brawntj@us.ibm.com 384 phone: 919-254-8301 386 Stephen Gunn 387 Attachmate Corporation 388 3617 131st Ave. S.E. 389 Bellevue, Washington 98006 390 e-mail: stevegu@attachmate.com 391 phone: 425-649-6221 393 Brawn & Gunn Informational �Page 9� 394 Ohio-00 Open Host Interface Objects September 1998 396 Appendix A - Ohio Java Mapping 398 // 399 // 400 // Ohio -- Base interface for all Ohio Interfaces 401 // 402 // 403 public interface Ohio 404 { 405 public Object getVendor(); 407 // enum OHIO_DIRECTION 408 public static final int OHIO_DIRECTION_FORWARD = 0; 409 public static final int OHIO_DIRECTION_BACKWARD = 1; 411 // enum OHIO_TYPE -- used by OHIOSession.SessionType 412 public static final int OHIO_TYPE_UNKNOWN = 0; 413 public static final int OHIO_TYPE_3270 = 1; 414 public static final int OHIO_TYPE_5250 = 2; 415 public static final int OHIO_TYPE_VT = 3; 417 // enum OHI_STATE -- used by OHIOSessionEvents.onSessionChanged 418 public static final int OHIO_STATE_DISCONNECTED = 0; 419 public static final int OHIO_STATE_CONNECTED = 1; 421 // enum OHIO_PLANE - used by OHIOScreen.getData 422 public static final int OHIO_PLANE_TEXT = 1; 423 public static final int OHIO_PLANE_COLOR = 2; 424 public static final int OHIO_PLANE_FIELD = 4; 425 public static final int OHIO_PLANE_EXTENDED = 8; 427 // type OHIO_COLOR - used by OHIOScreen.getData(COLOR) 428 public static final int OHIO_COLOR_BLACK = 0; 429 public static final int OHIO_COLOR_BLUE = 1; 430 public static final int OHIO_COLOR_GREEN = 2; 431 public static final int OHIO_COLOR_CYAN = 3; 432 public static final int OHIO_COLOR_RED = 4; 433 public static final int OHIO_COLOR_MAGENTA = 5; 434 public static final int OHIO_COLOR_WHITE = 7; 435 public static final int OHIO_COLOR_YELLOW = 14; 437 // OHIO_EXTENDED -- used by OhioScreen.getData(EXTENDED) 438 public static final int OHIO_EXTENDED_HILITE = 0xC0; 439 public static final int OHIO_EXTENDED_COLOR = 0x38; 440 public static final int OHIO_EXTENDED_RESERVED = 0x07; 442 Brawn & Gunn Informational �Page 10� 443 Ohio-00 Open Host Interface Objects September 1998 445 // OHIO_EXTENDED >> 6 446 public static final int OHIO_EXTENDED_HILITE_NORMAL = 0; 447 public static final int OHIO_EXTENDED_HILITE_BLINK = 1; 448 public static final int OHIO_EXTENDED_HILITE_REVERSEVIDEO = 2; 449 public static final int OHIO_EXTENDED_HILITE_UNDERSCORE = 3; 451 // (OHIO_EXTENDED>>3) & 7 452 public static final int OHIO_EXTENDED_COLOR_DEFAULT = 0; 453 public static final int OHIO_EXTENDED_COLOR_BLUE = 1; 454 public static final int OHIO_EXTENDED_COLOR_RED = 2; 455 public static final int OHIO_EXTENDED_COLOR_PINK = 3; 456 public static final int OHIO_EXTENDED_COLOR_GREEN = 4; 457 public static final int OHIO_EXTENDED_COLOR_TURQUOISE = 5; 458 public static final int OHIO_EXTENDED_COLOR_YELLOW = 6; 459 public static final int OHIO_EXTENDED_COLOR_WHITE = 7; 461 // type OHIO_FIELD -- used by OhioScreen.getData(FIELD) 462 public static final int OHIO_FIELD_ATTRIBUTE = 0xC0; 463 public static final int OHIO_FIELD_PROTECTED = 0x20; 464 public static final int OHIO_FIELD_NUMERIC = 0x10; 465 public static final int OHIO_FIELD_PEN_SELECTABLE = 0x08; 466 public static final int OHIO_FIELD_HIGH_INTENSITY = 0x04; 467 public static final int OHIO_FIELD_HIDDEN = 0x0C; 468 public static final int OHIO_FIELD_RESERVED = 0x02; 469 public static final int OHIO_FIELD_MODIFIED = 0x01; 471 // enum OHIO_UPDATE - used by OhioScreenEvents.onScreenChanged 472 public static final int OHIO_UPDATE_HOST = 0; 473 public static final int OHIO_UPDATE_CLIENT = 1; 475 // enum OHIO_OWNER -- used by OhioOIA.owner 476 public static final int OHIO_OWNER_UNKNOWN = 0; 477 public static final int OHIO_OWNER_APP = 1; 478 public static final int OHIO_OWNER_MYJOB = 1; 479 public static final int OHIO_OWNER_NVT = 2; 480 public static final int OHIO_OWNER_UNOWNED = 3; 481 public static final int OHIO_OWNER_SSCP = 4; 483 // enum OHIO_INPUTINHIBITED - used by OhioOIA.InputInhibited 484 public static final int OHIO_INPUTINHIBITED_NOTINHIBITED = 0; 485 public static final int OHIO_INPUTINHIBITED_SYSTEM_WAIT = 1; 486 public static final int OHIO_INPUTINHIBITED_COMMCHECK = 2; 487 public static final int OHIO_INPUTINHIBITED_PROGCHECK = 3; 488 public static final int OHIO_INPUTINHIBITED_MACHINECHECK = 4; 489 public static final int OHIO_INPUTINHIBITED_OTHER = 5; 490 } 492 public interface OhioManager 493 { 495 Brawn & Gunn Informational �Page 11� 496 Ohio-00 Open Host Interface Objects September 1998 498 // Properties 499 public OhioSessions getSessions(); 501 // Methods 502 public OhioSession findSession(String configurationResource, 503 String sessionName); 505 } 507 public interface OhioSessions extends Ohio 508 { 510 // Properties 511 public int getCount(); 513 // Methods 514 public OhioSession Item(int sessionNumber); 515 public OhioSession Item(String sessionName); 516 public void refresh(); 518 } 520 public interface OhioSession extends Ohio 521 { 523 // Properties 524 public String getConfigurationResource(); 525 public boolean isConnected(); 526 public String getSessionName(); 527 public int getSessionType(); 528 public OhioScreen Screen; 530 // Methods 531 public void connect(); 532 public void disconnect(); 534 // Events 535 public void addSessionListener(OHIOSessionListener listener); 536 public void removeSessionListener(OHIOSessionListener listener); 537 } 539 public interface OhioScreen extends Ohio { 541 // Properties 542 public OhioPosition getCursor(); 543 public void setCursor(OhioPosition position); 544 public OhioOIA getOIA(); 545 public OhioFields getFields(); 546 public int getRows(); 548 Brawn & Gunn Informational �Page 12� 549 Ohio-00 Open Host Interface Objects September 1998 551 public int getColumns(); 552 public String getText(); 554 // Methods 555 public byte�� getData(OhioPosition start, 556 OhioPosition end, 557 int plane); 558 public OhioPosition findString(String text, 559 OhioPosition start, 560 OhioPosition end, 561 int direction, 562 boolean ignoreCase); 563 public void sendKeys(String text, 564 OhioPosition location); 565 public void putString(String text, 566 OhioPosition location); 568 // Events 569 public void addScreenListener(OHIOScreenListener listener); 570 public void removeScreenListener(OHIOScreenListener listener); 572 } 574 public interface OhioScreenListener 575 { 576 public void onScreenChanged(int inUpdate, 577 OhioPosition inStart, 578 OhioPosition inEnd); 580 } 582 public interface OhioOIA extends Ohio 583 { 585 // Properties 586 public boolean isAlphanumeric(); 587 public boolean isAPL(); 588 public int getCommCheckCode(); 589 public int getInputInhibited(); // Uses OHIO_INPUT_INHIBITED 590 public int getMachineCheckCode(); 591 public boolean isNumeric(); 592 //public boolean isInsertMode(); 593 public int getOwner(); // Uses OHIO_OWNER 594 public int getProgCheckCode(); 596 // Methods 598 Brawn & Gunn Informational �Page 13� 599 Ohio-00 Open Host Interface Objects September 1998 601 // Events 602 public void addOIAListener(OhioOIAListener listener); 603 public void removeOIAListener(OhioOIAListener listener); 605 } 607 public interface OhioOIAListener 608 { 609 public void onOIAChanged(); 610 } 612 public interface OhioFields extends Ohio 613 { 615 // Properties 616 public int getCount(); 618 // Methods 619 public OhioField Item(int fieldIndex); 620 public void refresh(); 621 public OhioField findByString(String targetString, 622 OhioPosition startPos, 623 OhioPosition endPos, 624 int dir, // Uses OHIO_DIRECTION 625 boolean ignoreCase); 626 public OhioField findByPosition(OhioPosition targetPosition); 628 } 630 public interface OhioField extends Ohio 631 { 633 // Properties 634 public OhioPosition getStart(); 635 public OhioPosition getEnd(); 637 public int getLength(); 639 public int getAttribute(); // Uses OHIO_FIELD enumeration 640 public boolean isModified(); 641 public boolean isProtected(); 642 public boolean isNumeric(); 643 public boolean isHighIntensity(); 644 public boolean isPenSelectable(); 645 public boolean isHidden(); 647 public String getText(); 648 public void setText(String text); 650 Brawn & Gunn Informational �Page 14� 651 Ohio-00 Open Host Interface Objects September 1998 653 // Methods 654 public byte�� getData(int targetPlane); // Uses OHIO_PLANE 656 } 658 public interface OhioPosition { 659 // Properties 660 public int getRow(); 661 public int getColumn(); 662 public void setRow(int); 663 public void setColumn(int); 665 } 667 Brawn & Gunn Informational �Page 15� 668 Ohio-00 Open Host Interface Objects September 1998 670 Appendix B - Ohio ActiveX IDL Mapping 672 //+--------------------------------------------------------------------+ 673 //� OPEN HOST INTERFACE OBJECT (OHIO) INTERFACE DEFINITIONS � 674 //+--------------------------------------------------------------------+ 675 //� IOhioManager Manager provides access to a... � 676 //� IOhioSessions Collection of... � 677 //� IOhioSession Sessions, which has a... � 678 //� IOhioScreen Screen containing an... � 679 //� IOhioOIA OIA, and a... � 680 //� IOhioFields Collection of... � 681 //� IOhioField Fields � 682 //� � 683 //� IOhioPosition 1-based Row/Col Position used � 684 //� � 685 //+--------------------------------------------------------------------+ 686 import "oaidl.idl"; 687 import "ocidl.idl"; 689 //+--------------------------------------------------------------+ 690 //� OHIO DATA TYPES � 691 //+--------------------------------------------------------------+ 692 typedef �v1_enum� enum OHIO_DIRECTION 693 { 694 OHIO_DIRECTION_FORWARD = 0, 695 OHIO_DIRECTION_BACKWARD = 1 697 } OHIO_DIRECTION; 699 //+---------------------------------------------+ 700 //� SESSION DATA TYPES � 701 //+---------------------------------------------+ 702 typedef �v1_enum� enum OHIO_TYPE 703 { 704 OHIO_TYPE_UNKNOWN = 0, 705 OHIO_TYPE_3270 = 1, 706 OHIO_TYPE_5250 = 2, 707 OHIO_TYPE_VT = 3 709 } OHIO_TYPE; // USED BY IOhioSession.SessionType 711 typedef �v1_enum� enum OHIO_STATE 712 { 713 OHIO_STATE_DISCONNECTED = 0, 714 OHIO_STATE_CONNECTED = 1 716 } OHIO_STATE; //USED BY IOhioSessionEvents.OnSessionChanged 718 Brawn & Gunn Informational �Page 16� 719 Ohio-00 Open Host Interface Objects September 1998 721 //+---------------------------------------------+ 722 //� SCREEN DATA TYPES � 723 //+---------------------------------------------+ 724 typedef �v1_enum� enum OHIO_PLANE 725 { 726 OHIO_PLANE_TEXT = 1, 727 OHIO_PLANE_COLOR = 2, 728 OHIO_PLANE_FIELD = 4, 729 OHIO_PLANE_EXTENDED = 8 731 } OHIO_PLANE; //USED BY IOhioScreen.GetData 733 typedef long OHIO_COLOR; //USED BY IOhioScreen.GetData(COLOR) 734 const long OHIO_COLOR_BLACK = 0; 735 const long OHIO_COLOR_BLUE = 1; 736 const long OHIO_COLOR_GREEN = 2; 737 const long OHIO_COLOR_CYAN = 3; 738 const long OHIO_COLOR_RED = 4; 739 const long OHIO_COLOR_MAGENTA = 5; 740 const long OHIO_COLOR_WHITE = 7; 741 const long OHIO_COLOR_YELLOW = 14; 743 typedef long OHIO_EXTENDED; //USED BY IOhioScreen.GetData(EXTENDED) 744 const long OHIO_EXTENDED_HILITE = 0xC0; 745 const long OHIO_EXTENDED_COLOR = 0x38; 746 const long OHIO_EXTENDED_RESERVED = 0x07; 748 //OHIO_EXTENDED>>6 749 const long OHIO_EXTENDED_HILITE_NORMAL = 0; 750 const long OHIO_EXTENDED_HILITE_BLINK = 1; 751 const long OHIO_EXTENDED_HILITE_REVERSEVIDEO = 2; 752 const long OHIO_EXTENDED_HILITE_UNDERSCORE = 3; 754 //(OHIO_EXTENDED>>3)&7 755 const long OHIO_EXTENDED_COLOR_DEFAULT = 0; 756 const long OHIO_EXTENDED_COLOR_BLUE = 1; 757 const long OHIO_EXTENDED_COLOR_RED = 2; 758 const long OHIO_EXTENDED_COLOR_PINK = 3; 759 const long OHIO_EXTENDED_COLOR_GREEN = 4; 760 const long OHIO_EXTENDED_COLOR_TURQUOISE = 5; 761 const long OHIO_EXTENDED_COLOR_YELLOW = 6; 762 const long OHIO_EXTENDED_COLOR_WHITE = 7; 764 Brawn & Gunn Informational �Page 17� 765 Ohio-00 Open Host Interface Objects September 1998 767 typedef long OHIO_FIELD; //USED BY IOhioScreen.GetData(FIELD) 768 const long OHIO_FIELD_ATTRIBUTE = 0xC0; 769 const long OHIO_FIELD_PROTECTED = 0x20; 770 const long OHIO_FIELD_NUMERIC = 0x10; 771 const long OHIO_FIELD_PEN_SELECTABLE = 0x08; 772 const long OHIO_FIELD_HIGH_INTENSITY = 0x04; 773 const long OHIO_FIELD_HIDDEN = 0x0C; 774 const long OHIO_FIELD_RESERVED = 0x02; 775 const long OHIO_FIELD_MODIFIED = 0x01; 777 typedef �v1_enum� enum OHIO_UPDATE 778 { 779 OHIO_UPDATE_HOST = 0, 780 OHIO_UPDATE_CLIENT = 1, 782 } OHIO_UPDATE; //USED BY IOhioScreenEvents.OnScreenChanged 784 //+---------------------------------------------+ 785 //� OIA DATA TYPES � 786 //+---------------------------------------------+ 787 typedef �v1_enum� enum OHIO_OWNER 788 { 789 OHIO_OWNER_UNKNOWN = 0, 790 OHIO_OWNER_APP = 1, 791 OHIO_OWNER_MYJOB = 1, 792 OHIO_OWNER_NVT = 2, 793 OHIO_OWNER_UNOWNED = 3, 794 OHIO_OWNER_SSCP = 4 796 } OHIO_OWNER; //USED BY IOhioOIA.Owner 798 typedef �v1_enum� enum OHIO_INPUTINHIBITED 799 { 800 OHIO_INPUTINHIBITED_NOTINHIBITED = 0, 801 OHIO_INPUTINHIBITED_SYSTEM_WAIT = 1, 802 OHIO_INPUTINHIBITED_COMMCHECK = 2, 803 OHIO_INPUTINHIBITED_PROGCHECK = 3, 804 OHIO_INPUTINHIBITED_MACHINECHECK = 4, 805 OHIO_INPUTINHIBITED_OTHER = 5 807 } OHIO_INPUTINHIBITED; //USED BY IOhioOIA.InputInhibited 809 Brawn & Gunn Informational �Page 18� 810 Ohio-00 Open Host Interface Objects September 1998 812 //+--------------------------------------------------------------+ 813 //� IOhio � 814 //+--------------------------------------------------------------+ 815 //� Base interface for all OHIO interfaces � 816 //+--------------------------------------------------------------+ 817 � 818 object, 819 uuid(10065CA3-E921-11D1-B2DF-0060080708DC), 820 dual, 821 helpstring("IOhio Interface"), 822 pointer_default(unique) 823 � 824 interface IOhio : IDispatch 825 { 826 �id(99),propget� HRESULT Vendor (�out,retval� IDispatch** outValue); 827 } 829 //+--------------------------------------------------------------+ 830 //� IOhioPosition � 831 //+--------------------------------------------------------------+ 832 //� Zero is a "don't care" value. � 833 //+--------------------------------------------------------------+ 834 � 835 object, 836 uuid(25BEAEFC-B795-11D1-B2D1-0060080708DC), 837 dual, 838 helpstring("IOhioPosition Interface"), 839 pointer_default(unique) 840 � 841 interface IOhioPosition : IOhio 842 { 843 �id(1), propput� HRESULT Row (�in� long inRow ); 844 �id(1), propget� HRESULT Row (�out,retval� long* outRow ); 846 �id(2), propput� HRESULT Column(�in� long inColumn); 847 �id(2), propget� HRESULT Column(�out,retval� long* outColumn); 848 }; 850 //+--------------------------------------------------------------+ 851 //� IOhioOIA � 852 //+--------------------------------------------------------------+ 853 � 854 object, 855 uuid(25BEAEF2-B795-11D1-B2D1-0060080708DC), 856 dual, 857 helpstring("IOhioOIA Interface"), 858 pointer_default(unique) 859 � 861 Brawn & Gunn Informational �Page 19� 862 Ohio-00 Open Host Interface Objects September 1998 864 interface IOhioOIA : IOhio 865 { 866 �id(0 ),propget� HRESULT Text (�out,retval� BSTR* outValue); 868 �id(1 ),propget� HRESULT Alphanumeric (�out,retval� 869 VARIANT_BOOL* outValue); 870 �id(2 ),propget� HRESULT APL (�out,retval� VARIANT_BOOL* outValue); 871 �id(3 ),propget� HRESULT Numeric (�out,retval� 872 VARIANT_BOOL* outValue); 873 �id(4 ),propget� HRESULT InsertMode (�out,retval� 874 VARIANT_BOOL* outValue); 876 �id(10),propget� HRESULT ProgCheckCode (�out,retval� 877 long* outValue); 878 �id(11),propget� HRESULT CommCheckCode (�out,retval� 879 long* outValue); 880 �id(12),propget� HRESULT MachineCheckCode (�out,retval� 881 long* outValue); 883 �id(20),propget� HRESULT Owner (�out,retval� 884 OHIO_OWNER* outValue); 885 �id(21),propget� HRESULT InputInhibited (�out,retval� 886 OHIO_INPUTINHIBITED* outValue); 887 }; 889 � 890 object, 891 uuid(45896ACE-BCF8-11D1-B2D3-0060080708DC), 892 dual, 893 helpstring("IOhioOIAEvents Interface"), 894 pointer_default(unique) 895 � 896 interface IOhioOIAEvents : IUnknown 897 { 898 �id(0)� HRESULT OnOIAChanged(); 899 }; 901 cpp_quote("EXTERN_C const IID IID_DOhioOIAEvents;") 902 � 903 uuid(45896AD0-BCF8-11D1-B2D3-0060080708DC), 904 hidden, 905 helpstring("DOhioOIAEvents Interface"), 906 � 907 dispinterface DOhioOIAEvents 908 { 909 properties: 910 methods: 911 �id(0)� HRESULT OnOIAChanged(); 912 }; 914 Brawn & Gunn Informational �Page 20� 915 Ohio-00 Open Host Interface Objects September 1998 917 //+--------------------------------------------------------------+ 918 //� IOhioField � 919 //+--------------------------------------------------------------+ 920 � 921 object, 922 uuid(25BEAEF4-B795-11D1-B2D1-0060080708DC), 923 dual, 924 helpstring("IOhioField Interface"), 925 pointer_default(unique) 926 � 927 interface IOhioField : IOhio 928 { 929 �id(0), propput� HRESULT Text (�in� BSTR inValue); 930 �id(0), propget� HRESULT Text (�out,retval� BSTR* outValue); 932 �id(1), propget� HRESULT Start (�out,retval� IOhioPosition** 933 outValue); 934 �id(2), propget� HRESULT End (�out,retval� IOhioPosition** outValue); 935 �id(3), propget� HRESULT Length (�out,retval� long* outValue); 937 �id(10),propget� HRESULT Attribute (�out,retval� OHIO_FIELD* 938 outValue); 939 �id(11),propget� HRESULT Modified (�out,retval� VARIANT_BOOL* 940 outValue); 941 �id(12),propget� HRESULT Protected (�out,retval� VARIANT_BOOL* 942 outValue); 943 �id(13),propget� HRESULT Numeric (�out,retval� VARIANT_BOOL* 944 outValue); 945 �id(14),propget� HRESULT PenSelectable (�out,retval� 946 VARIANT_BOOL* outValue); 947 �id(15),propget� HRESULT Hidden (�out,retval� VARIANT_BOOL* 948 outValue); 949 �id(16),propget� HRESULT HighIntensity (�out,retval� 950 VARIANT_BOOL* outValue); 951 �id(17),propget� HRESULT Normal (�out,retval� VARIANT_BOOL* 952 outValue); 954 �id(30) � HRESULT GetData (�in� OHIO_PLANE 955 inPlane,�out,retval� VARIANT* outData); 956 }; 958 Brawn & Gunn Informational �Page 21� 959 Ohio-00 Open Host Interface Objects September 1998 961 //+--------------------------------------------------------------+ 962 //� IOhioFields � 963 //+--------------------------------------------------------------+ 964 � 965 object, 966 uuid(25BEAEFA-B795-11D1-B2D1-0060080708DC), 967 dual, 968 helpstring("IOhioFields Interface"), 969 pointer_default(unique) 970 � 971 interface IOhioFields : IOhio 972 { 973 �id(0), propget� HRESULT Item (�in� long inIndexOrKey,�out,retval� 974 IOhioField** outElement); 975 �id(1), propget� HRESULT Count (�out,retval� long *pVal); 976 �id(10) � HRESULT Refresh (); 978 �id(20) � HRESULT FindByPosition (�in� IOhioPosition* 979 inPosition,�out,retval� IOhioField** outField); 980 �id(21) � HRESULT FindByString (�in� BSTR inString, 981 �in� IOhioPosition* inStart, 982 �in� IOhioPosition* inEnd, 983 �in� OHIO_DIRECTION inDir, 984 �in� VARIANT_BOOL inIgnoreCase, 985 �out,retval� IOhioField** outField); 987 �id(DISPID_NEWENUM),propget,restricted � HRESULT 988 _NewEnum(�out,retval� IUnknown** outEnum); 989 }; 991 //+--------------------------------------------------------------+ 992 //� IOhioScreen � 993 //+--------------------------------------------------------------+ 994 � 995 object, 996 uuid(25BEAEEE-B795-11D1-B2D1-0060080708DC), 997 dual, 998 helpstring("IOhioScreen Interface"), 999 pointer_default(unique) 1000 � 1001 interface IOhioScreen : IOhio 1002 { 1003 �id(0), propget� HRESULT OIA (�out,retval� IOhioOIA** outOIA); 1004 �id(1), propget� HRESULT Fields (�out,retval� IOhioFields** outOIA); 1006 �id(2), propget� HRESULT Text (�out,retval� BSTR* outText); 1008 Brawn & Gunn Informational �Page 22� 1009 Ohio-00 Open Host Interface Objects September 1998 1011 �id(10),propget� HRESULT Rows (�out,retval� long* outRows); 1012 �id(11),propget� HRESULT Columns (�out,retval� long* outColumns); 1013 �id(12),propput� HRESULT Cursor (�in� IOhioPosition* inPos); 1014 �id(12),propget� HRESULT Cursor (�out,retval� IOhioPosition** 1015 outPos); 1017 �id(20) � HRESULT SendKeys (�in� BSTR inKeys, 1018 �in� IOhioPosition* inPos); 1020 �id(22) � HRESULT FindString (�in� BSTR inString, 1021 �in� IOhioPosition* inStart, 1022 �in� IOhioPosition* inEnd, 1023 �in� OHIO_DIRECTION inDir, 1024 �in� VARIANT_BOOL inIgnoreCase, 1025 �out,retval� IOhioPosition** 1026 outPos); 1027 �id(23) � HRESULT PutString (�in� BSTR inText, 1028 �in� IOhioPosition* inStart); 1030 �id(30) � HRESULT GetData (�in� IOhioPosition* inStart, 1031 �in� IOhioPosition* inEnd, 1032 �in� OHIO_PLANE inPlane, 1033 �out,retval� VARIANT* outData); 1034 }; 1036 � 1037 object, 1038 uuid(45896AC5-BCF8-11D1-B2D3-0060080708DC), 1039 dual, 1040 helpstring("IOhioScreenEvents Interface"), 1041 pointer_default(unique) 1042 � 1043 interface IOhioScreenEvents : IUnknown 1044 { 1045 �id(0)� HRESULT OnScreenChanged (�in� OHIO_UPDATE inUpdate, 1046 �in� IOhioPosition* inStart, 1047 �in� IOhioPosition* inEnd); 1048 }; 1050 Brawn & Gunn Informational �Page 23� 1051 Ohio-00 Open Host Interface Objects September 1998 1053 cpp_quote("EXTERN_C const IID IID_DOhioScreenEvents;") 1054 � 1055 uuid(45896AC7-BCF8-11D1-B2D3-0060080708DC), 1056 hidden, 1057 helpstring("DOhioScreenEvents Interface"), 1058 � 1059 dispinterface DOhioScreenEvents 1060 { 1061 properties: 1062 methods: 1063 �id(0)� HRESULT OnScreenChanged (�in� OHIO_UPDATE inUpdate, 1064 �in� IOhioPosition* inStart, 1065 �in� IOhioPosition* inEnd); 1066 }; 1068 //+--------------------------------------------------------------+ 1069 //� IOhioSession � 1070 //+--------------------------------------------------------------+ 1071 � 1072 object, 1073 uuid(25BEAEF6-B795-11D1-B2D1-0060080708DC), 1074 dual, 1075 helpstring("IOhioSession Interface"), 1076 pointer_default(unique) 1077 � 1078 interface IOhioSession : IOhio 1079 { 1080 �id(0), propget� HRESULT Screen (�out,retval� IOhioScreen** 1081 outScreen); 1083 �id(1), propget� HRESULT Connected (�out,retval� OHIO_STATE* 1084 outValue); 1085 �id(2) � HRESULT Connect (); 1086 �id(3) � HRESULT Disconnect (); 1088 �id(10),propget� HRESULT ConfigurationResource(�out,retval� BSTR* 1089 outValue); 1090 �id(11),propget� HRESULT SessionName (�out,retval� BSTR* outValue); 1091 �id(12),propget� HRESULT SessionType (�out,retval� OHIO_TYPE* 1092 outValue); 1093 }; 1095 � 1096 object, 1097 uuid(45896ACA-BCF8-11D1-B2D3-0060080708DC), 1098 dual, 1099 helpstring("IOhioSessionEvents Interface"), 1100 pointer_default(unique) 1101 � 1103 Brawn & Gunn Informational �Page 24� 1104 Ohio-00 Open Host Interface Objects September 1998 1106 interface IOhioSessionEvents : IUnknown 1107 { 1108 �id(0)� HRESULT OnSessionChanged (�in� OHIO_STATE inState); 1109 }; 1111 cpp_quote("EXTERN_C const IID IID_DOhioSessionEvents;") 1112 � 1113 uuid(45896ACC-BCF8-11D1-B2D3-0060080708DC), 1114 hidden, 1115 helpstring("DOhioSessionEvents Interface"), 1116 � 1117 dispinterface DOhioSessionEvents 1118 { 1119 properties: 1120 methods: 1121 �id(0)� HRESULT OnSessionChanged (�in� OHIO_STATE inState); 1122 }; 1124 //+--------------------------------------------------------------+ 1125 //� IOhioSessions � 1126 //+--------------------------------------------------------------+ 1127 � 1128 object, 1129 uuid(25BEAEF8-B795-11D1-B2D1-0060080708DC), 1130 dual, 1131 helpstring("IOhioSessions Interface"), 1132 pointer_default(unique) 1133 � 1134 interface IOhioSessions : IOhio 1135 { 1136 �id(0), propget� HRESULT Item (�in� VARIANT inIndexOrKey, 1137 �out,retval� IOhioSession** outElement); 1138 �id(1), propget� HRESULT Count (�out,retval� long *pVal); 1139 �id(10), � HRESULT Refresh (); 1141 �id(DISPID_NEWENUM),propget,restricted � HRESULT 1142 _NewEnum(�out,retval� IUnknown** outEnum); 1143 }; 1145 //+--------------------------------------------------------------+ 1146 //� IOhioManager � 1147 //+--------------------------------------------------------------+ 1148 � 1149 object, 1150 uuid(25BEAF00-B795-11D1-B2D1-0060080708DC), 1151 dual, 1152 helpstring("IOhioManager Interface"), 1153 pointer_default(unique) 1154 � 1156 Brawn & Gunn Informational �Page 25� 1157 Ohio-00 Open Host Interface Objects September 1998 1159 interface IOhioManager : IOhio 1160 { 1161 �id(0), propget� HRESULT Sessions (�out,retval� 1162 IOhioSessions** outSessions); 1164 �id(1) � HRESULT FindSession (�in� BSTR inConfigResource, 1165 �in� BSTR inSessionName, 1166 �out,retval� IOhioSession** outSession); 1167 }; 1169 Brawn & Gunn Informational �Page 26� 1170 Ohio-00 Open Host Interface Objects September 1998 1172 Appendix C - SendKeys Mnemonics 1174 This table contains the list of mnemonic keywords valid in the 1175 OhioScreen::SendKey() method. Mnemonic keywords adhere to the 1176 following rules: 1178 1) Keywords are enclosed in square brackets "��". 1179 2) Keywords are case insensitive (for example, �Attn� is 1180 identical to �attn�). 1181 3) Literal square brackets must be doubled. 1183 Example SendKey strings: 1185 abc�pf1� Sends character keys "abc" followed by the 1186 PF1 AID key 1187 �backspaceٍ�x�� Sends 3270 backspace key followed by the 3 1188 characters "�x�" 1189 xyz���CLEAR� Sends characters "xyz�" followed by 3270 Clear 1190 AID key 1192 +----------------+-----------------------+------------+----------------+ 1193 � � 3270 � IBM HACL � Extra! Objects � 1194 � Mnemonic � Function Description � Equivalent � Equivalent � 1195 +----------------+-----------------------+------------+----------------+ 1196 � �attn� � Attention AID key � �attn� � � 1197 +----------------+-----------------------+------------+----------------+ 1198 � �clear� � Clear AID key � �clear� � � 1199 +----------------+-----------------------+------------+----------------+ 1200 � �cursorselect� � Cursor Select AID key � �crsel� � � 1201 � � � � ??? � 1202 +----------------+-----------------------+------------+----------------+ 1203 � �enter� � Enter AID key � �enter� � � 1204 +----------------+-----------------------+------------+----------------+ 1205 � �sysreq� � System Request � �sysreq� � � 1206 +----------------+-----------------------+------------+----------------+ 1207 � �pa1� � Program Attention 1 � �pa1� � � 1208 � � AID key � � � 1209 +----------------+-----------------------+------------+----------------+ 1210 � �pa2� � Program Attention 2 � �pa2� � � 1211 � � AID key � � � 1212 +----------------+-----------------------+------------+----------------+ 1213 � �pa3� � Program Attention 3 � �pa3� � � 1214 � � AID key � � � 1215 +----------------+-----------------------+------------+----------------+ 1216 � �pf1� � Program Function 1 � �pf1� � � 1217 � � AID key � � � 1218 +----------------+-----------------------+------------+----------------+ 1219 � �pf2� � Program Function 2 � �pf2� � � 1220 � � AID key � � � 1222 Brawn & Gunn Informational �Page 27� 1223 Ohio-00 Open Host Interface Objects September 1998 1225 +----------------+-----------------------+------------+----------------+ 1226 � �pf3� � Program Function 3 � �pf3� � � 1227 � � AID key � � � 1228 +----------------+-----------------------+------------+----------------+ 1229 � �pf4� � Program Function 4 � �pf4� � � 1230 � � AID key � � � 1231 +----------------+-----------------------+------------+----------------+ 1232 � �pf5� � Program Function 5 � �pf5� � � 1233 � � AID key � � � 1234 +----------------+-----------------------+------------+----------------+ 1235 � �pf6� � Program Function 6 � �pf6� � � 1236 � � AID key � � � 1237 +----------------+-----------------------+------------+----------------+ 1238 � �pf7� � Program Function 7 � �pf7� � � 1239 � � AID key � � � 1240 +----------------+-----------------------+------------+----------------+ 1241 � �pf8� � Program Function 8 � �pf8� � � 1242 � � AID key � � � 1243 +----------------+-----------------------+------------+----------------+ 1244 � �pf9� � Program Function 9 � �pf9� � � 1245 � � AID key � � � 1246 +----------------+-----------------------+------------+----------------+ 1247 � �pf10� � Program Function 10 � �pf10� � � 1248 � � AID key � � � 1249 +----------------+-----------------------+------------+----------------+ 1250 � �pf11� � Program Function 11 � �pf11� � � 1251 � � AID key � � � 1252 +----------------+-----------------------+------------+----------------+ 1253 � �pf12� � Program Function 12 � �pf12� � � 1254 � � AID key � � � 1255 +----------------+-----------------------+------------+----------------+ 1256 � �pf13� � Program Function 13 � �pf13� � � 1257 � � AID key � � � 1258 +----------------+-----------------------+------------+----------------+ 1259 � �pf14� � Program Function 14 � �pf14� � � 1260 � � AID key � � � 1261 +----------------+-----------------------+------------+----------------+ 1262 � �pf15� � Program Function 15 � �pf15� � � 1263 � � AID key � � � 1264 +----------------+-----------------------+------------+----------------+ 1265 � �pf16� � Program Function 16 � �pf16� � � 1266 � � AID key � � � 1267 +----------------+-----------------------+------------+----------------+ 1268 � �pf17� � Program Function 17 � �pf17� � � 1269 � � AID key � � � 1270 +----------------+-----------------------+------------+----------------+ 1271 � �pf18� � Program Function 18 � �pf18� � � 1272 � � AID key � � � 1274 Brawn & Gunn Informational �Page 28� 1275 Ohio-00 Open Host Interface Objects September 1998 1277 +----------------+-----------------------+------------+----------------+ 1278 � �pf19� � Program Function 19 � �pf19� � � 1279 � � AID key � � � 1280 +----------------+-----------------------+------------+----------------+ 1281 � �pf20� � Program Function 20 � �pf20� � � 1282 � � AID key � � � 1283 +----------------+-----------------------+------------+----------------+ 1284 � �pf21� � Program Function 21 � �pf21� � � 1285 � � AID key � � � 1286 +----------------+-----------------------+------------+----------------+ 1287 � �pf22� � Program Function 22 � �pf22� � � 1288 � � AID key � � � 1289 +----------------+-----------------------+------------+----------------+ 1290 � �pf23� � Program Function 23 � �pf23� � � 1291 � � AID key � � � 1292 +----------------+-----------------------+------------+----------------+ 1293 � �pf24� � Program Function 24 � �pf24� � � 1294 � � AID key � � � 1295 +----------------+-----------------------+------------+----------------+ 1296 � �tab� � Tab forward to next � �tab� � � 1297 � � unprotected field � � � 1298 +----------------+-----------------------+------------+----------------+ 1299 � �backtab� � Back Tab - tab to � �backtab� � � 1300 � � previous unprotected � � � 1301 � � field � � � 1302 +----------------+-----------------------+------------+----------------+ 1303 � �up� � Cursor up � �up� � � 1304 +----------------+-----------------------+------------+----------------+ 1305 � �down� � Cursor down � �down� � � 1306 +----------------+-----------------------+------------+----------------+ 1307 � �right� � Cursor right � �right� � � 1308 +----------------+-----------------------+------------+----------------+ 1309 � �left� � Cursor left � �left� � � 1310 +----------------+-----------------------+------------+----------------+ 1311 � �fastup� � Cursor up two rows � �fastup� � � 1312 +----------------+-----------------------+------------+----------------+ 1313 � �fastdown� � Cursor down two rows � �fastdown� � � 1314 +----------------+-----------------------+------------+----------------+ 1315 � �fastright� � Cusor right two � �fastrightٺ � 1316 � � positions � � � 1317 +----------------+-----------------------+------------+----------------+ 1318 � �fastleft� � Cursor left two � �fastleft� � � 1319 � � positions � � � 1320 +----------------+-----------------------+------------+----------------+ 1321 � �home� � Home � �home� � � 1323 Brawn & Gunn Informational �Page 29� 1324 Ohio-00 Open Host Interface Objects September 1998 1326 +----------------+-----------------------+------------+----------------+ 1327 � �newline� � New line - move to � �newline� � � 1328 � � first unprotected � � � 1329 � � field on next or � � � 1330 � � subsequent line � � � 1331 +----------------+-----------------------+------------+----------------+ 1332 � �reset� � Reset - clear � �reset� � � 1333 � � keyboard lock and � � � 1334 � � clear insert mode � � � 1335 +----------------+-----------------------+------------+----------------+ 1336 � �insert� � Insert mode - turns � �insert� � � 1337 � � on insert mode for � � � 1338 � � all subsequent � � � 1339 � � keystrokes until � � � 1340 � � �reset� � � � 1341 +----------------+-----------------------+------------+----------------+ 1342 � �backspace� � Destructive Backspace � �backspaceٺ � 1343 � � - move cursor one � � � 1344 � � position left, delete� � � 1345 � � character, shift � � � 1346 � � remainder of field � � � 1347 � � one position left. � � � 1348 +----------------+-----------------------+------------+----------------+ 1349 � �delete� � Delete at cursor, � �delete� � � 1350 � � shift remainder of � � � 1351 � � field one position � � � 1352 � � left � � � 1353 +----------------+-----------------------+------------+----------------+ 1354 � �eraseinput� � Erase input - clear � �erinp� � � 1355 � � all unprotected � � � 1356 � � fields � � � 1357 +----------------+-----------------------+------------+----------------+ 1358 � �eraseeof� � Erase from cursor to � �eraseeof� � � 1359 � � end of field, � � � 1360 � � inclusive � � � 1361 +----------------+-----------------------+------------+----------------+ 1362 � �dup� � Duplicate � �dup� � � 1363 +----------------+-----------------------+------------+----------------+ 1364 � �fieldmark� � Field Mark � �fieldmarkٺ � 1365 +----------------+-----------------------+------------+----------------+ 1367 Brawn & Gunn Informational �Page 30�