[623] | 1 | HLCSGTM ;OIFO-O/RWF - (TCP/IP) GT.M Linux ;08/13/2007
|
---|
| 2 | ;;1.6;HEALTH LEVEL SEVEN;**122**;Oct 13, 1995;Build 4;WorldVistA 30-Jan-08
|
---|
| 3 | ;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | ; 1. port number is input from VMS COM file, such as HLSxxxxDSM.COM,
|
---|
| 6 | ; HLSxxxxCACHE.COM, or HLSxxxxGTM.COM file, where xxxx is port
|
---|
| 7 | ; number.
|
---|
| 8 | ; 2. find the ien of #870(logical link file) for the multi-listener
|
---|
| 9 | ;Modified from FOIA VISTA,
|
---|
| 10 | ;Copyright 2008 WorldVistA. Licensed under the terms of the GNU
|
---|
| 11 | ;General Public License See attached copy of the License.
|
---|
| 12 | ;
|
---|
| 13 | ;This program is free software; you can redistribute it and/or modify
|
---|
| 14 | ;it under the terms of the GNU General Public License as published by
|
---|
| 15 | ;the Free Software Foundation; either version 2 of the License, or
|
---|
| 16 | ;(at your option) any later version.
|
---|
| 17 | ;
|
---|
| 18 | ;This program is distributed in the hope that it will be useful,
|
---|
| 19 | ;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 20 | ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
| 21 | ;GNU General Public License for more details.
|
---|
| 22 | ;
|
---|
| 23 | ;You should have received a copy of the GNU General Public License along
|
---|
| 24 | ;with this program; if not, write to the Free Software Foundation, Inc.,
|
---|
| 25 | ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
---|
| 26 | Q
|
---|
| 27 | ;
|
---|
| 28 | IEN(HLPORT) ;
|
---|
| 29 | ; HLIEN870: ien in #870 (logical link file)
|
---|
| 30 | ; HLPRTS: port number in entry to be tested
|
---|
| 31 | ;
|
---|
| 32 | N HLPRTS,HLIEN870
|
---|
| 33 | I '$G(HLPORT) D ^%ZTER Q
|
---|
| 34 | S HLIEN870=0
|
---|
| 35 | F S HLIEN870=$O(^HLCS(870,"E","M",HLIEN870)) Q:'HLIEN870 D Q:(HLPRTS=HLPORT)
|
---|
| 36 | . S HLPRTS=$P(^HLCS(870,HLIEN870,400),"^",2)
|
---|
| 37 | I 'HLIEN870 D ^%ZTER Q
|
---|
| 38 | ;
|
---|
| 39 | Q HLIEN870
|
---|
| 40 | ;
|
---|
| 41 | GTMLNX ; From Linux xinetd script
|
---|
| 42 | ;Get port from ZSHOW "D"
|
---|
| 43 | S U="^",$ZT="",$ET="D ^%ZTER HALT" ;Setup the error trap
|
---|
| 44 | ; GTM specific code
|
---|
| 45 | S IO=$P X "U IO:(nowrap:nodelimiter:IOERROR=""TRAP"")" ;Setup device
|
---|
| 46 | S @("$ZINTERRUPT=""I $$JOBEXAM^ZU($ZPOSITION)""")
|
---|
| 47 | K ^TMP($J) ZSHOW "D":^TMP($J)
|
---|
| 48 | F %=1:1 Q:'$D(^TMP($J,"D",%)) S X=^(%) Q:X["LOCAL"
|
---|
| 49 | S IO("IP")=$P($P(X,"REMOTE=",2),"@"),IO("PORT")=+$P($P(X,"LOCAL=",2),"@",2)
|
---|
| 50 | S %=$P($ZTRNLNM("SSH_CLIENT")," ") S:%="" %=$ZTRNLNM("REMOTEHOST")
|
---|
| 51 | S HLDP=$$IEN(IO("PORT"))
|
---|
| 52 | ;
|
---|
| 53 | D LISTEN^HLCSTCP
|
---|
| 54 | Q
|
---|
| 55 | ;
|
---|
| 56 | ;Sample Linux script
|
---|
| 57 | ;#!/bin/bash
|
---|
| 58 | ;#HL7 Listener
|
---|
| 59 | ;cd /home/vista/dev/
|
---|
| 60 | ;. ./gtmprofile
|
---|
| 61 | ;#env > hl7log.txt
|
---|
| 62 | ;$gtm_dist/mumps -r GTMLNX^HLCSGTM
|
---|
| 63 | ;exit 0
|
---|
| 64 | ;
|
---|
| 65 | ;Sample xinetd config file
|
---|
| 66 | ;service hl7tcp
|
---|
| 67 | ;{
|
---|
| 68 | ; socket_type = stream
|
---|
| 69 | ; user = gtmuser
|
---|
| 70 | ; wait = no
|
---|
| 71 | ; disable = no
|
---|
| 72 | ; server = /bin/bash
|
---|
| 73 | ; server_args = -l /home/vista/dev/hl7tcp.sh
|
---|
| 74 | ; passenv = REMOTE_HOST
|
---|
| 75 | ;}
|
---|