Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Local Variables |  All
Print Page as PDF
Routine: HLCSDL2

Package: Health Level Seven

Routine: HLCSDL2


Information

HLCSDL2 ;ALB/MTC/JC - X3.28 LOWER LAYER PROTOCOL UTILITIES 2.2 - 2/28/95 ;04/25/96 10:52 [ 04/02/2003 8:37 AM ]

Source Information

Source file <HLCSDL2.m>

Call Graph

Call Graph Total: 3

Package Total Call Graph
Health Level Seven 3 LOG^HLCSDL1  TRACE^HLCSDL2  ($$CHKSUM,$$CHKSUM2,$$READ)^HLCSUTL  

Caller Graph

Caller Graph Total: 3

Package Total Caller Graph
Health Level Seven 3 HLCSDL  HLCSDL1  HLCSDL2  

Entry Points

Name Comments DBIA/ICR reference
BLOOP ;-- block read loop
RETRY
HEXQ
BUILD(HLTEXT,HLSEQ,HLEND,HLHEAD,HLFOOT) ;-- This function will build the block to write.
; INPUT : HLTEXT - Array to write/format
; : HLSEQ - Sequence in message
; : HLEND - ETX or ETB
; : HLHEAD - Passed by reference - will be the header portion
; : HLFOOT - Passed by reference - will be the footer portion
READBK(HLTEXT,LEN,BLOCK,CHKSUM,BTERM) ; This function will read a block of data from the input device
; and store the result in the array specified by HLTEXT.
; INPUT : HLTEXT - Array reference to store data
; LEN - Passed by reference will get message lenght
; BLOCK - Passed by refence will get message block #
; CHKSUM - Passed by refence will get message BCC
; BTERM - Passed by reference will block termination char
; OUTPUT : 1 - OK, 0 - Fails
; If EOT is encountered HLTEXT=EOT
; If TimeOut is encountered then HLTEXT="-1^TIMEOUT"
HEXCON(%) ;-- converts a decimal #<128 to a two byte hex #
; INPUT : % - Decimal to convert
SENDACK(HLBK) ;-- This function will send an ack for the block specified
; by the parameter HLBK.
; INPUT : HLBK current sequence (block)
; OUTPUT: NONE
TRACE(HLSTATE) ;-- This function is used during for debug. It will print
; the current state of the X3.28 protocol. Each state is passed in
; through the variable HLSTATE
RDENQ
VALID(HLTEXT,HLBLK,LEN,BLOCK,CHKSUM,BTERM) ;-- This function will validate the incoming message as in should
; conform to the X3.28 protocol. No other error checking is perfomred
; for this validation. If this function is successful a
; 1 is returned else 0.
; INPUT : HLTEXT - The block that was read in from the device
; : HLBLK - Current block expected
; : LEN - xmitted length
; : BLOCK - xmitted block number
; : CHKSUM - xmitted checksum
; : BTERM - Block termination char (ETX or ETB)
; OUTPUT : 1 ok, 0 fails
READACK(HLBK) ;-- This function will read the input device for an ackN
; specified by HLBK.
; INPUT : HLBK - Expected AckN
; OUTPUT: 1- Ok 0-Fails
VALIDQ
EOT ;-- this function will send an EOT to the secondary station
; to end the master/stave relationship.
BLOOP2
ENQ ;-- this function will send an ENQ to the secondary station
; to establish a master/slave relationship for transmissions.
RUN() ;-- This function will determine if this occurance of the LLP
; should still be running.
; INPUT : NONE
RDACKQ
READBKQ
READENQ() ;-- This function will read the input device for an ENQ
SENDNAK ;-- This function will send an nack for the block specified
; by the parameter HLBK.
; OUTPUT: NONE

External References

Name Field # of Occurrence
LOG^HLCSDL1 SENDNAK+7, SENDACK+9, READACK+11, READACK+15, RETRY+3, RETRY+9, READBK+15, READBK+19, READBK+21, READBK+26
, BLOOP2+5, BLOOP2+12, BLOOP2+21, ENQ+5, EOT+5
TRACE^HLCSDL2 READACK+12, RETRY+4
$$CHKSUM^HLCSUTL BUILD+12
$$CHKSUM2^HLCSUTL VALID+21
$$READ^HLCSUTL READACK+10, READACK+14, RETRY+2, RETRY+8, READBK+14, READBK+19, READBK+21, READBK+25, BLOOP2+4, BLOOP2+11
, BLOOP2+20

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: $C(HLNAK)_$C(HLTERM)
  • Line Location: SENDNAK+6
Function Call: WRITE
  • Prompt: $C(HLDLE)_$C(@(HLACKN))_$C(HLTERM)
  • Line Location: SENDACK+8
Function Call: WRITE
  • Prompt: $C(HLENQ)_$C(HLTERM)
  • Line Location: ENQ+4
Function Call: WRITE
  • Prompt: $C(HLEOT)_$C(HLTERM)
  • Line Location: EOT+4
Function Call: READ
  • Timeout: 1
  • Variable: X
  • Line Location: RUN+11
Function Call: WRITE
  • Prompt: !,"In State : ",HLSTATE
  • Line Location: TRACE+9

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^%ZOSF("LPC" BUILD+18, VALID+23
^HLCS(870 - [#870] RUN+9, RUN+11*

Label References

Name Line Occurrences
$$HEXCON BUILD+20, VALID+25
BLOOP2 BLOOP2+16
HEXQ HEXCON+6, HEXCON+7
RDACKQ READACK+13, READACK+16
RDENQ RETRY+5, RETRY+10
READBKQ READBK+17, READBK+19, READBK+23, READBK+28, BLOOP2+14
RETRY RETRY+6
VALIDQ VALID+27, VALID+29, VALID+31

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
% HEXCON~, HEXCON+6, HEXCON+7, HEXCON+8, HEXCON+9
BLOCK READBK~, READBK+12*, READBK+31*, VALID~, VALID+23, VALID+31
BTERM READBK~, READBK+12*, BLOOP2+18*, VALID~, VALID+23
CHKSUM READBK~, READBK+12*, BLOOP2+23*, VALID~, VALID+27
H HEXCON+4~, HEXCON+8*, HEXCON+9*
H1 HEXCON+4~, HEXCON+6*, HEXCON+7*, HEXCON+8*, HEXQ
H2 HEXCON+4~, HEXCON+6*, HEXCON+7*, HEXCON+9*, HEXQ
HLACKN SENDACK+5~, SENDACK+7*, SENDACK+8, SENDACK+9, READACK+5~, READACK+8*, READACK+16
HLBCC VALID+18~, VALID+21*, VALID+23, VALID+29
HLBCC1 VALID+18~, VALID+23*, VALID+25*, VALID+27
HLBK SENDACK~, SENDACK+7, READACK~, READACK+8
HLBL BUILD+10~, BUILD+14*, BUILD+18, BUILD+22
HLBLK VALID~, VALID+31
>> HLCHK BUILD+12*, BUILD+16, BUILD+17, BUILD+18
>> HLDBLOCK READACK+10, READACK+14, RETRY+2, RETRY+8, READBK+14, READBK+19, READBK+21, READBK+25, BLOOP2+4, BLOOP2+11
, BLOOP2+20
>> HLDLE SENDACK+8, SENDACK+9, READACK+13
>> HLDONE BLOOP2+3*, BLOOP2+4, BLOOP2+6*, BLOOP2+8*
>> HLDP RUN+9, RUN+11
HLEND BUILD~, BUILD+18, BUILD+22
>> HLENQ RETRY+6, ENQ+4, ENQ+5
>> HLEOT READBK+19, EOT+4, EOT+5
>> HLETB BLOOP2+18
>> HLETX BLOOP2+18
HLFOOT BUILD~, BUILD+22*
HLHEAD BUILD~, BUILD+22*
HLHEX BUILD+10~, BUILD+20*, BUILD+22
>> HLI READBK+30*, BLOOP+3, BLOOP2*, BLOOP2+7
>> HLJ BLOOP2+3*, BLOOP2+7*
HLLEN VALID+18~
>> HLLN BUILD+16*, BUILD+17*, BUILD+18, BUILD+22
>> HLNAK SENDNAK+6, SENDNAK+7
HLSEQ BUILD~, BUILD+14
>> HLSOH READBK+21
HLSTATE TRACE~, TRACE+9
>> HLSTX READBK+23, BUILD+22
>> HLTERM SENDNAK+6, SENDNAK+7, SENDACK+8, SENDACK+9, READACK+16, RETRY+10, BLOOP2+8, BLOOP2+16, BUILD+22, ENQ+4
, ENQ+5, EOT+4, EOT+5
HLTEXT READBK~, READBK+17, READBK+19, READBK+21, READBK+28, BLOOP2, BLOOP2+7, BLOOP2+14, BUILD~, BUILD+12
, VALID~, VALID+21
>> HLTIMA READACK+10, READACK+14, RETRY+2, RETRY+8
>> HLTIMB READBK+14, READBK+19, READBK+21, READBK+25, BLOOP2+4, BLOOP2+11, BLOOP2+20
>> HLTRACE RUN+11, TRACE+7
HLTRM READACK+5~, READACK+7*, READACK+10, READACK+11, READACK+12, READACK+13, READACK+14, READACK+15, READACK+16, READENQ+5~
, RETRY*, RETRY+2, RETRY+3, RETRY+4, RETRY+6, RETRY+8, RETRY+9, RETRY+10, READBK+11~, READBK+14
, READBK+15, READBK+19, READBK+21, READBK+23, READBK+25, READBK+26, BLOOP2+2, BLOOP2+4, BLOOP2+5, BLOOP2+8
, BLOOP2+11, BLOOP2+12, BLOOP2+16, BLOOP2+18, BLOOP2+20, BLOOP2+21
HLX READENQ+5~, READENQ+7*, RETRY+5*, READBK+11~, READBK+14*, READBK+15, READBK+17, READBK+19*, READBK+21*, READBK+25*
, READBK+26, READBK+28, READBK+31, BLOOP+3*, BLOOP2, BLOOP2+4*, BLOOP2+5, BLOOP2+6, BLOOP2+7, BLOOP2+11*
, BLOOP2+12, BLOOP2+14, BLOOP2+20*, BLOOP2+21, BLOOP2+23
IO SENDNAK+5, SENDACK+8, ENQ+3, EOT+3
IO(0 RUN+11, TRACE+8
LEN READBK~, READBK+12*, READBK+31*, VALID~, VALID+23, VALID+29
RESULT READACK+5~, READACK+7*, READACK+17*, RDACKQ, READENQ+5~, RETRY*, RETRY+11*, RDENQ, READBK+11~, READBK+12*
, READBK+19*, BLOOP2+25*, READBKQ, RUN+5~, RUN+7*, RUN+9*, RUN+11*, RUN+13, VALID+18~, VALID+19*
, VALID+33*, VALIDQ
U READACK+12, RETRY+4, BUILD+16, BUILD+17, BUILD+18, RUN+9, RUN+11, VALID+23, VALID+29
X READACK+5~, READACK+10*, READACK+11, READACK+12, READACK+14*, READACK+15, READACK+16, READENQ+5~, RETRY+2*, RETRY+3
, RETRY+4, RETRY+8*, RETRY+9, BUILD+10~, BUILD+18*, RUN+11*, VALID+18~, VALID+23*
Y READACK+5~, READENQ+5~, BUILD+10~, BUILD+20, VALID+18~, VALID+23
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Global Variables Directly Accessed |  Label References |  Local Variables |  All