--  Em3270Defs:  3270 Emulation Window

--  Revised for Star 3.3h by Kernaghan:		20-Apr-84 16:28:16
--  Owner:  Lui

--  Overview:
--  (Replace with overview from Functional Spec)



DIRECTORY
  CH USING [Name],
  CHEntries USING [IBM3270Languages],
  GateStream USING [DeviceAddress],
  IconDefs USING [Icon, Pvcreate, Pvmake],
  System USING [NetworkAddress],
  TraitGlobalDefs USING [Pvregistertrait, Trt];


Em3270Defs: DEFINITIONS =
  BEGIN

  --===================
  --  Public Types
  --===================

  -- Trait 3270schema's data	(trt3270schema)
  Lpttrt3270schemadata: TYPE = LONG POINTER TO Trt3270schemadata;
  Trt3270schemadata: TYPE = RECORD [
    icon: IconDefs.Icon, lptEmState: LONG POINTER TO UNSPECIFIED];
    
  -- Trait 3270icon's data		(trt3270icon)
  Lpttrt3270icondata: TYPE = LONG POINTER TO Trt3270icondata;
  Trt3270icondata: TYPE = RECORD[
    terminalAddress:GateStream.DeviceAddress,
    sysNetAddrECS:System.NetworkAddress,
    portOnController: GateStream.DeviceAddress,
    language: IBMlanguages ← USenglish];   
    
  -- Record structure for data existing from Directory row generation to Directory COPY time
  PtDir3270RowData: TYPE = LONG POINTER TO Dir3270RowData;
  Dir3270RowData: TYPE = RECORD [  --/* changed for 3.3 */
    nameOf3270Entry: CH.Name,
    controllerAddress: CARDINAL,
    lang: IBMlanguages];
      
  IBMlanguages: TYPE = CHEntries.IBM3270Languages;  --/* changed for 3.3 */

--==============================================================================
--+!+ IBMlanguages: TYPE = MACHINE DEPENDENT { 
--+!+    USEnglish(0), Austrian(1), AustrianAlt(2), German(3), GermanAlt(4), Belgian(5),
--+!+    Brazilian(6), CanadianFrench(7), Danish(8), DanishAlt(9), Norwegian(10), NorwegianAlt(11),
--+!+    Finnish(12), FinnishAlt(13), Swedish(14), SwedishAlt(15), French(16), International(17),
--+!+    Italian(18), JapaneseEnglish(19), JapaneseKana(20), Portuguese(21), Spanish(22), 
--+!+    SpanishAlt(23), SpanishSpeaking(24), UKenglish(25), unused1(26), unused2(27),
--+!+    unused3(28), unused4(29), unused5(30), unused6(31), (LAST[CARDINAL]) };
--============================================================================== 
  
  --===================
  --  Signals and Errors
  --===================
  
  --===================
  --  Public Procedures
  --===================

  Create: IconDefs.Pvcreate;
  -- called by IconPack when 3270 icon is created to make an instance of trt3270icon

  Make: IconDefs.Pvmake;
  -- call by Directory3Pack when icon is created to make a file object behind the icon

  PvSetFileParms: TYPE = PROCEDURE [icon3270: IconDefs.Icon, em3270data: PtDir3270RowData];
  SetResourceParms: PvSetFileParms;
  -- Procedure to write any 3270 data which must "live" forever (i.e., between boots)
  -- onto 3270 icon's backing file


  --===================
  --  Trait Registration (Private)
  --===================

  -- This new the new RegisterTrt3270schema with changes to StandardWindowDefs. 
  RegisterTrt3270schema: TraitGlobalDefs.Pvregistertrait = INLINE
    BEGIN
    RETURN[
      [
        trt: trt3270schema, trtcomponents: [trt1: trtschema, trt2: trtinstallee], szOpsForTrt: 0,
        szDataForTrt: SIZE[Trt3270schemadata], bvIsClass: TRUE]];
    END;  -- of RegisterTrt3270schema
  
     
  -- These procedures are used to register the 3270 traits "trt3270schema" and "trt3270icon"  
  -- RegisterTrt3270schema: TraitGlobalDefs.Pvregistertrait = INLINE
  --  BEGIN
  --   RETURN[
  --   [
  --      trt: trt3270schema, trtcomponents: [trt1: trtschema], szOpsForTrt: 0,
  --     szDataForTrt: SIZE[Trt3270schemadata], bvIsClass: TRUE]];
  --  END;  of RegisterTrt3270schema

  RegisterTrt3270icon: TraitGlobalDefs.Pvregistertrait = INLINE
    BEGIN
    RETURN[
      [
        trt: trt3270icon, trtcomponents: [trt1: trticon], szOpsForTrt: 0,
        szDataForTrt: SIZE[Trt3270icondata], bvIsClass: TRUE]];
    END;  -- of RegisterTrt3270icon

  --===================
  --  Modules
  --===================

  Em3270Pack: PRIVATE PROGRAM;

  END.	-- of Em3270Defs

LOG

October 20, 1981 - Kernaghan - Created
November 10, 1981- Kernaghan - Add trt3270wnschema data reocrd.
November 16, 1981 - Kernaghan - Add InitTrt3270data.
November 20, 1981 - Kernaghan - Split trt3270wnschema into two traits - "trt3270schema"
   and "trt3270icon".
November 23, 1981 - Kernaghan - Change trait data "rref"'s to be "Aref"'s.
December 3, 1981 - Kernaghan - Changed textWth from 20 to 100.
January 7, 1981 - Kernaghan - Add more data to trt3270icon (sysNetAddrECS).  Remove host name
   from trait data.  Added more types, constants, and SetResourceParms.
January 14, 1982 - Kernaghan - Add more data to trt3270schema (lptEmState).
January 19, 1982 - Kernaghan - Remove trt3270* equated to Unused5&6. 
January 28, 1982 - Kernaghan - Remove hostcntrDflt;  Make addrECSDflt an Exported READONLY Type.
February 3, 1982 - Kernaghan - Add StopOpen signal.  Add EmHandle
February 16, 1982 - Kernaghan - Split Defs into Em3270Defs and Em3270PrivDefs.
February 18, 1982 - Kernaghan - Replace trtlistschema with trtschema as the component of
   trt3270schema.  Retain StopOpen signal until Dtwm is changed.
March 11, 1982 - Kernaghan - Change Trt3270icondata.terminalAddress to type
   GateStream.TerminalAddress.
March 20, 1982 - Kernaghan - Change Em3270Data to Dir3270RowData to reflect new ClearingHouse code.
22-Mar-82 - Steinbach - Changed "Modules" to Em3270Pack (instead of Em3270WnPack, which doesn't
   exist) so StarControlPack can START the configuration.
 6-Aug-82 - Kernaghan - Removed the signal "StopOpen" no longer used by DtwmPack.
18-Aug-82 - Lui - added IBMlanguage, and added fields to Trt3270icondata.
   Also added "trt2: trtinstallee" to RegisterTrt3270schema.
23-Aug-82 - Lui - added portOnController to Trt3270iconData.
24-Aug-82 - Leong - NSFiling conversion.
 8-Oct-82 - Lui - changed reference of ChLookup.OldControllerRecord to IBMControllerRecord.
   Changed Dir3270RowData.description from LONG STRING to NSString.String 
10-Nov-83 - Pettit - Services 8.0b: GateStream.TerminalAddress -> GateStream.DeviceAddress.
 2-Feb-84 15:31:59 - Moursellas - Changed CHLookup.IBMHostControllerRecord to CHEntries.IBM3270Controller
  5-Apr-84 14:56:26 - Caro - Fixed Dir3270RowData for new CHS stuff.  
20-Apr-84 16:28:49 - Kernaghan - Changed Dir3270RowData.nameOf3270Entry from CH.ThreePartName to CH.Name to fix a bug "the right way".