59 lines
1.7 KiB
Mathematica
59 lines
1.7 KiB
Mathematica
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
|
|
;}
|