| [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 | ;}
|
|---|