HLCSDL1 ;ALB/MTC/JC - X3.28 LOWER LAYER PROTOCOL 2.2 - 2/28/95 ;08/19/97 [ 04/02/2003 8:38 AM ]
Source file <HLCSDL1.m>
| Package | Total | Call Graph | 
|---|---|---|
| Health Level Seven | 4 | ($$READACK,$$READBK,$$READENQ,$$RUN,$$VALID,BUILD,ENQ,EOT,SENDACK,SENDNAK,TRACE)^HLCSDL2 MONITOR^HLCSDR2 ($$DEQUEUE,$$ENQUEUE,PUSH)^HLCSQUE ($$NEXTLINE,APPEND)^HLCSUTL | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| MASTERQ | ||
| WRITEQ | ||
| RETRY | ;-- write data | |
| SLAVE | ;-- this function will check if anything is ready to read in from ; the port. If nothing is ready then return to polling, else ; start slave process. | |
| TRANS(ST) | ;Translate controls in string | |
| READ | ;-- This function will take the incoming data from the device and ; store in file 870. After each read an ack will be sent to the ; client application. Once an EOT has been received, return to ; polling. | |
| BIDRET | ;-- bid for master status | |
| SENDQ | ;-- exit | |
| BID(MAXTRY) | ;-- This function will bid for Master status MAXTRY times ; and return a 1 if succesful, 0 if fails ; INPUT - MAXTRY - Maximum number of attemps before failing ; OUTPUT - 1 for ok; 0 fails | |
| EXIT | ;-- Cleanup | |
| BIDQ | ;-- exit | |
| READQ | ||
| START | ; | |
| SLAVEQ | ; | |
| SEND(HLTEXT,HLHEAD,HLFOOT,HLRETRY,HLBK) | ;-- This function will write the X3.28 formatted ; string out the port and wait for an ack. If this function fails ; 0 will be returned, else 1. | |
| WRITE(HLDOUT0,HLDOUT1) | ;-- This function will take the message contained ; in file 870 specified by HLDOUT0 and HLDOUT1 and write the data out. ; after each write the system will wait for an ack. ; INPUT : HLDOUT0 - IEN of file #870 ; HLDOUT1 - IEN of out queue multiple | |
| LOG(ST1,OP) | ;Log reads/writes (translates ctrls) | |
| MASTER | ;-- if outgoing messages are present then establish m/s and begin ; transmission of message. | |
| POLL | ;-- This function will check if any messages should be sent ; then if anything is in the buffer to read in. If there is data ; to write out then the system will bid for master status and if ; successful x-mit the message. If the system receives a request to ; receive data, then it will attemp to enter a slave mode and read ; data in. | |
| LOOP | ;-- main loop for reading in message | 
| Name | Field # of Occurrence | 
|---|---|
| $$READACK^HLCSDL2 | BIDRET+7, RETRY+16 | 
| $$READBK^HLCSDL2 | LOOP+5 | 
| $$READENQ^HLCSDL2 | SLAVE+8 | 
| $$RUN^HLCSDL2 | POLL+13, POLL+16 | 
| $$VALID^HLCSDL2 | LOOP+11 | 
| BUILD^HLCSDL2 | WRITE+11 | 
| ENQ^HLCSDL2 | BIDRET+2 | 
| EOT^HLCSDL2 | MASTER+17 | 
| SENDACK^HLCSDL2 | SLAVE+11, LOOP+28 | 
| SENDNAK^HLCSDL2 | LOOP+16 | 
| TRACE^HLCSDL2 | POLL+9, POLL+15, POLL+18, SLAVE+6, SLAVE+10, SLAVE+13, LOOP+13, MASTER+5, MASTER+8, BIDRET+1 , BIDRET+4, RETRY+2, RETRY+13 | 
| MONITOR^HLCSDR2 | POLL+11, POLL+13, POLL+16, LOOP+3, LOOP+14, LOOP+25, LOOP+26, BID+8, BIDRET+5, RETRY+3 , RETRY+14, RETRY+16 | 
| $$DEQUEUE^HLCSQUE | MASTER+6 | 
| $$ENQUEUE^HLCSQUE | LOOP+19 | 
| PUSH^HLCSQUE | MASTER+13 | 
| $$NEXTLINE^HLCSUTL | WRITE+9, WRITE+10 | 
| APPEND^HLCSUTL | LOOP+20 | 
| Name | Line Occurrences | 
|---|---|
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^XTMP("HL" | LOG+4, LOG+7*, LOG+8* | 
| Name | Line Occurrences | 
|---|---|
| $$BID | MASTER+11 | 
| $$SEND | WRITE+9 | 
| $$TRANS | LOG+6 | 
| BIDQ | BIDRET+7, BIDRET+10 | 
| BIDRET | BIDRET+11 | 
| EXIT | START+9 | 
| LOG | RETRY+8, RETRY+9, RETRY+11 | 
| LOOP | LOOP+11, LOOP+30 | 
| MASTER | POLL+18 | 
| MASTERQ | MASTER+8, MASTER+13 | 
| POLL | START+7 | 
| READ | SLAVE+14 | 
| READQ | LOOP+7, LOOP+9 | 
| RETRY | RETRY+20 | 
| SENDQ | RETRY+16, RETRY+19 | 
| SLAVE | POLL+15 | 
| SLAVEQ | SLAVE+8 | 
| WRITE | MASTER+16 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| BTERM | READ+5~, LOOP+5, LOOP+11, LOOP+24 | 
| DT | LOG+4 | 
| HLACKBLK | START+1~ | 
| HLBID | MASTER+3~, MASTER+11*, MASTER+13, MASTER+15 | 
| HLBK | READ+5~, LOOP+5, LOOP+11, LOOP+28, SEND~, RETRY+13, RETRY+16 | 
| HLC1 | START+2~ | 
| HLC2 | START+2~ | 
| HLCHK | START+1~ | 
| >> HLCK | LOOP+5, LOOP+11 | 
| >> HLCTRL( | TRANS+3 | 
| HLDATA | READ+5~, LOOP+7, LOOP+9 | 
| HLDLX | START+3~, BID+5~ | 
| HLDOUT0 | START+1~, LOOP+19*, LOOP+20, LOOP+25, LOOP+26, MASTER+3~, MASTER+6*, MASTER+8, MASTER+9*, MASTER+13 , MASTER+16, WRITE~, WRITE+9, WRITE+10 | 
| HLDOUT1 | START+1~, LOOP+19*, LOOP+20, LOOP+25, LOOP+26, MASTER+3~, MASTER+9*, MASTER+13, MASTER+16, WRITE~ , WRITE+9, WRITE+10, RETRY+16 | 
| >> HLDP | POLL+11, POLL+13, POLL+16, LOOP+3, LOOP+14, LOOP+19, MASTER+6, BID+8, BIDRET+5, RETRY+3 , RETRY+14, RETRY+16 | 
| >> HLEOT | LOOP+9 | 
| >> HLETB | WRITE+11 | 
| >> HLETX | LOOP+24, WRITE+11 | 
| HLETXB | READ+5~ | 
| HLFLAG | POLL+7~, POLL+8*, POLL+11, POLL+13*, POLL+16* | 
| HLFOOT | WRITE+6~, WRITE+9, WRITE+11, SEND~, RETRY+11 | 
| HLHEAD | WRITE+6~, WRITE+9, WRITE+11, SEND~, RETRY+7, RETRY+8 | 
| HLI | READ+5~, READ+7*, WRITE+9*, WRITE+11 | 
| HLIND0 | START+1~ | 
| HLIND1 | START+1~ | 
| >> HLLEN | LOOP+5, LOOP+11 | 
| HLLINE | START+2~, READ+5~, READ+7*, LOOP+11, LOOP+21* | 
| >> HLLOG | LOG+5*, LOG+7* | 
| HLM | START+3~, START+5* | 
| >> HLN | LOG+6*, LOG+7 | 
| HLNXST | START+1~, START+2~, START+5* | 
| HLRETRY | START+1~, SEND~, RETRY+19 | 
| HLTEMP | WRITE+6~ | 
| HLTEXT | SEND~, RETRY+9 | 
| HLTEXT1 | WRITE+6~, WRITE+9! | 
| HLTOUT | START+2~ | 
| >> HLTRACE | LOG+3 | 
| HLTRANS | START+1~ | 
| HLTRIES | BID+5~, BID+6*, BIDRET+9*, BIDRET+10 | 
| HLTRY | SEND+11~, SEND+12*, RETRY+18*, RETRY+19 | 
| HLX | SLAVE+4~, READ+5~, LOOP+5* | 
| HLX1 | WRITE+6~, WRITE+8*, WRITE+9*, WRITE+10 | 
| HLX2 | WRITE+6~, WRITE+8*, WRITE+9, WRITE+11 | 
| HLX3 | WRITE+6~, WRITE+10*, WRITE+11 | 
| HLXOR | START+2~ | 
| >> I | TRANS+2* | 
| IO | RETRY+5 | 
| >> J | TRANS+2*, TRANS+3*, TRANS+4 | 
| MAXTRY | BID~, BIDRET+10 | 
| OP | LOG~, LOG+7 | 
| RESULT | BID+5~, BID+6*, BIDRET+7*, BIDQ+1, SEND+11~, SEND+12*, RETRY+16*, RETRY+19*, SENDQ+1 | 
| ST | TRANS~, TRANS+2 | 
| ST1 | LOG~, LOG+6 | 
| >> ST2 | TRANS+2*, TRANS+4*, TRANS+5 | 
| U | LOOP+19, MASTER+9, LOG+4, LOG+5, LOG+7 | 
| X | START+1~, SEND+11~, RETRY+9*, LOG+4~*, LOG+5*, LOG+7*, LOG+8 |