Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: HLCSGTM

HLCSGTM.m

Go to the documentation of this file.
HLCSGTM ;OIFO-O/RWF - (TCP/IP) GT.M Linux ;08/13/2007
 ;;1.6;HEALTH LEVEL SEVEN;**122**;Oct 13, 1995;Build 14
 ;Per VHA Directive 2004-038, this routine should not be modified.
 ;
 ; 1. port number is input from VMS COM file, such as HLSxxxxDSM.COM,
 ;    HLSxxxxCACHE.COM, or HLSxxxxGTM.COM file, where xxxx is port
 ;    number.
 ; 2. find the ien of #870(logical link file) for the multi-listener
 Q
 ;
IEN(HLPORT) ;
 ; HLIEN870: ien in #870 (logical link file)
 ; HLPRTS: port number in entry to be tested
 ;
 N HLPRTS,HLIEN870
 I '$G(HLPORT) D ^%ZTER Q
 S HLIEN870=0
 F  S HLIEN870=$O(^HLCS(870,"E","M",HLIEN870)) Q:'HLIEN870  D  Q:(HLPRTS=HLPORT)
 . S HLPRTS=$P(^HLCS(870,HLIEN870,400),"^",2)
 I 'HLIEN870 D ^%ZTER Q
 ;
 Q HLIEN870
 ;
GTMLNX ; From Linux xinetd script
 ;Get port from ZSHOW "D"
 S U="^",$ZT="",$ET="D ^%ZTER HALT" ;Setup the error trap
 ; GTM specific code
 S IO=$P X "U IO:(nowrap:nodelimiter:IOERROR=""TRAP"")" ;Setup device
 S @("$ZINTERRUPT=""I $$JOBEXAM^ZU($ZPOSITION)""")
 K ^TMP($J) ZSHOW "D":^TMP($J)
 F %=1:1 Q:'$D(^TMP($J,"D",%))  S X=^(%) Q:X["LOCAL"
 S IO("IP")=$P($P(X,"REMOTE=",2),"@"),IO("PORT")=+$P($P(X,"LOCAL=",2),"@",2)
 S %=$P($ZTRNLNM("SSH_CLIENT")," ") S:%="" %=$ZTRNLNM("REMOTEHOST")
 S HLDP=$$IEN(IO("PORT"))
 ;
 D LISTEN^HLCSTCP
 Q
 ;
 ;Sample Linux script
 ;#!/bin/bash
 ;#HL7 Listener
 ;cd /home/vista/dev/
 ;. ./gtmprofile
 ;#env > hl7log.txt
 ;$gtm_dist/mumps -r GTMLNX^HLCSGTM
 ;exit 0
 ;
 ;Sample xinetd config file
 ;service hl7tcp
 ;{
 ;        socket_type     = stream
 ;        user            = gtmuser
 ;        wait            = no
 ;        disable         = no
 ;        server          = /bin/bash
 ;        server_args     = -l /home/vista/dev/hl7tcp.sh
 ;        passenv         = REMOTE_HOST
 ;}