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 |  Label References |  Local Variables  | All
Print Page as PDF
Routine: XLFIPV

Package: Kernel

Routine: XLFIPV


Information

XLFIPV ;ISD/HGW - IPv4 and IPv6 Utilities ; 8/19/20 10:57am

Source Information

Source file <XLFIPV.m>

Call Graph

Call Graph

Call Graph Total: 4

Package Total Call Graph
Kernel 3 $$VERSION^%ZOSV  $$UP^XLFSTR  ($$CNV,$$DEC)^XLFUTL  
VA FileMan 1 ^DIR  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 27

Package Total Caller Graph
Kernel 15 %ZISTCP  XLFIPV CONVERT  XLFIPV FORCEIP4  XLFIPV FORCEIP6  XLFIPV VALIDATE  XLFIPV VERSION  XLFNSLK  XUS1  
XUS1A  XUS1B  XUSBSE1  XUSC1C  XUSKAAJ1  XUSRB4  ^XUSEC(0  
Health Level Seven 4 HLOUSR  HLTP31  HLTP4  HLTPCK2B  
Clinical Procedures 3 MDHL7B  MDRPCOT1  ^MDS(702.09  
MailMan 2 ^DIC(4.2  ^XMB(1  
RPC Broker 2 XWBTCP  XWBTCPMT  
Oncology 1 ONCX10  

Entry Points

Name Comments DBIA/ICR reference
VALIDATE(IP) ; EXTRINSIC. ICR #5844 (supported)
; Validate the format of an IP address (either IPv4 or IPv6).
; Usage: S Y=$$VALIDATE^XLFIPV(IP)
; Input: IP (string) - IPv4 or IPv6 Address to be validated.
; Output: returns:
; 1 - if the IP address is in a valid format.
; 0 - if the format is invalid or null input.
  • ICR #5844
    • Status: Active
    • Usage: Supported
    FORCEIP4(IP) ; EXTRINSIC. ICR #5844 (supported)
    ; Convert an IP address (either IPv4 or IPv6) into an IPv4 address in a standardized format: "127.0.0.1".
    ; Usage: S Y=$$FORCEIP4^XLFIPV(IP)
    ; Input: IP (string) IPv4 or IPv6 Address to be converted.
    ; Output: returns: An IPv4 address in "ddd.ddd.ddd.ddd" notation if the input address is valid and has an
    ; IPv4 equivalent, or the null address "0.0.0.0" if the input address is invalid, or the null address
    ; "0.0.0.0" if an IPv6 address is input which does not have an IPv4 equivalent.
  • ICR #5844
    • Status: Active
    • Usage: Supported
    FORCEIP6(IP) ; EXTRINSIC. ICR #5844 (supported)
    ; Convert an IP address (either IPv4 or IPv6) into an IPv6 address in a standardized format: "2001:0DB8:0000:0000:0000:8A2E:0370:7334".
    ; Usage: S Y=$$FORCEIP6^XLFIPV(IP)
    ; Input: IP (string) IPv4 or IPv6 Address to be converted.
    ; Output: returns: An IPv6 address in "hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh" notation if the
    ; input address is valid, or the null address "::0" if the input address is invalid.
  • ICR #5844
    • Status: Active
    • Usage: Supported
    CONVERT(IP) ; EXTRINSIC. ICR #5844 (supported)
    ; Convert an IP address (either IPv4 or IPv6) into an IPv6 address in a standardized format, either IPv4 or IPv6 depending
    ; upon the Cache system settings.
    ; Usage: S Y=$$CONVERT^XLFIPV(IP)
    ; Input: IP (string) IPv4 or IPv6 Address to be converted.
    ; Output: returns:
    ; - An IPv4 address if IPv6 is disabled on the system.
    ; - An IPv6 address if IPv6 is enabled on the system.
    ; - An IPv4 or IPv6 null address if the input cannot be converted.
  • ICR #5844
    • Status: Active
    • Usage: Supported
    VERSION() ; EXTRINSIC. ICR #5844 (supported)
    ; Determine the Cache system settings for IPv6.
    ; Usage: S Y=$$VERSION^XLFIPV()
    ; Input: None.
    ; Output: returns:
    ; 1 - if IPv6 is enabled.
    ; 0 - if IPv6 is disabled.
  • ICR #5844
    • Status: Active
    • Usage: Supported
    VAL ; OPTION. "Validate IPv4 and IPv6 address" [XLFIPV VALIDATE]
    VALH ; Extended help for VAL^XLFIPV
    IP4 ; OPTION. "Convert any IP address to IPv4" [XLFIPV FORCEIP4]
    IP4H ; Extended help for IP4^XLFIPV
    IP6 ; OPTION. "Convert any IP address to IPv6" [XLFIPV FORCEIP6]
    IP6H ; Extended help for IP6^XLFIPV
    CON ; OPTION. "Convert any IP address per system settings" [XLFIPV CONVERT]
    CONH ; Extended help for CON^XLFIPV
    VER ; OPTION. "Show system settings for IPv6" [XLFIPV VERSION]
    EXPAND4(IP) ; INTRINSIC.
    ; Changes the format of an IPv4 address to a common format that can be validated
    ; Usage: S Y=$$EXPAND4^XLFIPV(IP)
    ; Input: IP (string) IPv4 address to be reformatted.
    ; Output: returns: An IPv4 address in the format "nnn.nnn.nnn.nnn".
    EXPAND6(IP,ZNUM) ; INTRINSIC.
    ; Changes the format of an IPv6 address to a common format that can be validated
    ; Usage: S Y=$$EXPAND6^XLFIPV(IP)
    ; Input: IP (string) IPv6 address to be reformatted.
    ; ZNUM The number of expected colons
    ; Output: returns: An IPv6 address in the format "hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh".
    EXAMINE4(XLFIELD) ; INTRINSIC.
    ; Examine a single field of an IPv4 address for a valid format
    ; Usage: S Y=$$EXAMINE4^XLFIPV(XLFIELD)
    ; Input: XLFIELD (string) Field to be examined.
    ; Output: returns:
    ; 1 - if the field is valid.
    ; 0 - if the field is invalid.
    EXAMINE6(XLFIELD) ; INTRINSIC.
    ; Examine a single field of an IPv6 address for a valid format
    ; Usage: S Y=$$EXAMINE6^XLFIPV(XLFIELD)
    ; Input: XLFIELD (string) Field to be examined.
    ; Output: returns:
    ; 1 - if the field is valid.
    ; 0 - if the field is invalid.
    CNVF(IP) ; INTRINSIC.
    ; Expands a decimal IP address "ddd.ddd.ddd.ddd" to hexadecimal fields
    ; Usage: S Y=$$CNVF^XLFIPV(IP)
    ; Input: IP (string) IPv4 address to be reformatted.
    ; Output: returns: The last two bytes of an IPv6 address in the format "hhhh:hhhh".

    External References

    Name Field # of Occurrence
    $$VERSION^%ZOSV VERSION+10, VER+2
    ^DIR VAL+5, IP4+5, IP6+5, CON+5
    $$UP^XLFSTR EXPAND4+13, EXPAND6+15, EXAMINE6+9
    $$CNV^XLFUTL CNVF+9
    $$DEC^XLFUTL FORCEIP4+21, EXPAND4+13, EXPAND4+17

    Interaction Calls

    Name Line Occurrences
    Function Call: WRITE
    • Prompt: !!,?3,X," is NOT a valid address."
    • Line Location: VAL+6
    Function Call: WRITE
    • Prompt: !!,?3,X," is a valid address."
    • Line Location: VAL+7
    Function Call: WRITE
    • Prompt: !!," This option will validate the format of an IP address (either IPv4 or IPv6)"
    • Line Location: VALH+1
    Function Call: WRITE
    • Prompt: !," and return ""IP is NOT a valid address"" if the address is in an invalid"
    • Line Location: VALH+2
    Function Call: WRITE
    • Prompt: !," format, or return ""IP is a valid address"" if the format is correct."
    • Line Location: VALH+3
    Function Call: WRITE
    • Prompt: !!,?3,$$FORCEIP4(X)
    • Line Location: IP4+5
    Function Call: WRITE
    • Prompt: !!," This option will take an IP address (either IPv4 or IPv6) and return an"
    • Line Location: IP4H+1
    Function Call: WRITE
    • Prompt: !," IPv4 address in a standardized format. It will return the null address"
    • Line Location: IP4H+2
    Function Call: WRITE
    • Prompt: !," 0.0.0.0 if the passed IP address is invalid. If an IPv6 address is input"
    • Line Location: IP4H+3
    Function Call: WRITE
    • Prompt: !," which does not have a valid IPv4 equivalent, the null address will be"
    • Line Location: IP4H+4
    Function Call: WRITE
    • Prompt: !," returned."
    • Line Location: IP4H+5
    Function Call: WRITE
    • Prompt: !!,?3,$$FORCEIP6(X)
    • Line Location: IP6+5
    Function Call: WRITE
    • Prompt: !!," This option will take an IP address (either IPv4 or IPv6) and return an"
    • Line Location: IP6H+1
    Function Call: WRITE
    • Prompt: !," IPv6 address in a standardized format. It will return the null address"
    • Line Location: IP6H+2
    Function Call: WRITE
    • Prompt: !," ::0 if the passed IP address is invalid."
    • Line Location: IP6H+3
    Function Call: WRITE
    • Prompt: !!,?3,$$CONVERT(X)
    • Line Location: CON+5
    Function Call: WRITE
    • Prompt: !!," This option will take an IP address (either IPv4 or IPv6) and return an"
    • Line Location: CONH+1
    Function Call: WRITE
    • Prompt: !," IP address in a standardized format, depending on system settings. If"
    • Line Location: CONH+2
    Function Call: WRITE
    • Prompt: !," IPv6 is disabled on the system, an IPv4 address will be returned. If"
    • Line Location: CONH+3
    Function Call: WRITE
    • Prompt: !," IPv6 is enabled on the system, an IPv6 address will be returned. If an"
    • Line Location: CONH+4
    Function Call: WRITE
    • Prompt: !," invalid address is entered, a null address will be returned. If an IPv6"
    • Line Location: CONH+5
    Function Call: WRITE
    • Prompt: !," is entered, IPv6 is not enabled, and the input address does not have an"
    • Line Location: CONH+6
    Function Call: WRITE
    • Prompt: !," IPv4 equivalent, a null address will be returned."
    • Line Location: CONH+7
    Function Call: WRITE
    • Prompt: !!,?3,XLSYS," ",XLVER
    • Line Location: VER+3
    Function Call: WRITE
    • Prompt: !!," IPv6 is available but is disabled on this system."
    • Line Location: VER+6
    Function Call: WRITE
    • Prompt: !!," IPv6 is not available on this version of Cache."
    • Line Location: VER+7
    Function Call: WRITE
    • Prompt: !!," IPv6 is not available on this system."
    • Line Location: VER+8
    Function Call: WRITE
    • Prompt: !!," IPv6 is enabled on this system."
    • Line Location: VER+9
    Routine Call
    • DIR
    • Line Location:
      • VAL+5
      • IP4+5
      • IP6+5
      • CON+5

    Label References

    Name Line Occurrences
    $$CNVF FORCEIP6+15, FORCEIP6+20
    $$CONVERT CON+5
    $$EXAMINE4 VALIDATE+19, VALIDATE+28
    $$EXAMINE6 VALIDATE+16, VALIDATE+24
    $$EXPAND4 VALIDATE+26, FORCEIP4+16, FORCEIP4+23, FORCEIP6+15, FORCEIP6+20
    $$EXPAND6 VALIDATE+14, VALIDATE+22, FORCEIP4+15, FORCEIP4+18, FORCEIP6+14, FORCEIP6+18
    $$FORCEIP4 CONVERT+13, IP4+5
    $$FORCEIP6 CONVERT+12, IP6+5
    $$VALIDATE FORCEIP4+10, FORCEIP6+9, VAL+5
    $$VERSION CONVERT+11, VER+2

    Local Variables

    Legend:

    >> Not killed explicitly
    * Changed
    ! Killed
    ~ Newed

    Name Field # of Occurrence
    % VERSION+8~, VERSION+9*, VERSION+10*, VERSION+11
    DIR VAL+1~, IP4+1~, IP6+1~, CON+1~
    DIR("?" VAL+3*, IP4+3*, IP6+3*, CON+3*
    DIR("??" VAL+4*, IP4+4*, IP6+4*, CON+4*
    DIR("A" VAL+2*, IP4+2*, IP6+2*, CON+2*
    DIR("B" VAL+2*, IP4+2*, IP6+2*, CON+2*
    DIR(0 VAL+2*, IP4+2*, IP6+2*, CON+2*
    I VALIDATE+8~, VALIDATE+15*, VALIDATE+16, VALIDATE+18*, VALIDATE+19, VALIDATE+23*, VALIDATE+24, VALIDATE+27*, VALIDATE+28, FORCEIP4+8~
    , EXPAND4+6~, EXPAND4+10*, EXPAND4+11, EXPAND4+14, EXPAND6+7~, EXPAND6+14*, EXPAND6+15, EXPAND6+17, EXAMINE6+8~, EXAMINE6+10*
    , EXAMINE6+11, CNVF+6~, CNVF+8*, CNVF+9, CNVF+11
    IP VALIDATE~, VALIDATE+10, VALIDATE+11*, VALIDATE+13, VALIDATE+14*, VALIDATE+16, VALIDATE+17, VALIDATE+21, VALIDATE+22*, VALIDATE+24
    , VALIDATE+25, VALIDATE+26*, VALIDATE+28, FORCEIP4~, FORCEIP4+10, FORCEIP4+11*, FORCEIP4+14, FORCEIP4+15*, FORCEIP4+16*, FORCEIP4+17
    , FORCEIP4+18*, FORCEIP4+19*, FORCEIP4+20*, FORCEIP4+21*, FORCEIP4+22, FORCEIP4+23*, FORCEIP6~, FORCEIP6+9, FORCEIP6+11*, FORCEIP6+13
    , FORCEIP6+14*, FORCEIP6+15*, FORCEIP6+17, FORCEIP6+18*, FORCEIP6+19, FORCEIP6+20*, FORCEIP6+21*, FORCEIP6+22*, FORCEIP6+23, CONVERT~
    , CONVERT+12*, CONVERT+13*, CONVERT+14, EXPAND4~, EXPAND4+8, EXPAND4+9*, EXPAND4+11, EXPAND4+14*, EXPAND4+16, EXPAND4+17*
    , EXPAND4+18, EXPAND6~, EXPAND6+8*, EXPAND6+9*, EXPAND6+10*, EXPAND6+11, EXPAND6+12*, EXPAND6+13*, EXPAND6+15, EXPAND6+17*
    , EXPAND6+18, CNVF~, CNVF+9
    J VALIDATE+8~
    X VALIDATE+8~, VALIDATE+9*, VALIDATE+13, VALIDATE+14*, VALIDATE+15, VALIDATE+16*, VALIDATE+18, VALIDATE+19*, VALIDATE+21, VALIDATE+22*
    , VALIDATE+23, VALIDATE+24*, VALIDATE+25, VALIDATE+27, VALIDATE+28*, VAL+1~, VAL+5, VAL+6, VAL+7, IP4+1~
    IP4+5, IP6+1~, IP6+5, CON+1~, CON+5, VER+1~, VER+2*, VER+4, VER+9, EXAMINE6+8~
    , EXAMINE6+10*, EXAMINE6+11*, EXAMINE6+12
    XLBLANK EXPAND6+7~, EXPAND6+13*
    XLCNT EXPAND6+7~, EXPAND6+11*, EXPAND6+12, EXPAND6+13
    XLFIELD VALIDATE+8~, VALIDATE+17*, VALIDATE+19, FORCEIP4+8~, EXPAND4+6~, EXPAND4+11*, EXPAND4+13*, EXPAND4+14, EXPAND6+7~, EXPAND6+15*
    , EXPAND6+16*, EXPAND6+17, EXAMINE4~, EXAMINE4+8, EXAMINE4+9, EXAMINE6~, EXAMINE6+9*, EXAMINE6+11, CNVF+6~, CNVF+9*
    , CNVF+10
    XLFX VAL+1~, VAL+5*, VAL+6, VAL+7
    XLMAP FORCEIP4+8~, FORCEIP4+12*, FORCEIP4+20, FORCEIP6+7~, FORCEIP6+10*, FORCEIP6+20
    XLOUT CNVF+6~, CNVF+7*, CNVF+10*, CNVF+11*, CNVF+12
    XLSYS VER+1~, VER+2*, VER+3, VER+5
    XLV6 CONVERT+10~, CONVERT+11*, CONVERT+12, CONVERT+13
    XLVER VER+1~, VER+2*, VER+3, VER+6
    ZNUM EXPAND6~, EXPAND6+11, EXPAND6+14
    Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Label References |  Local Variables  | All