XLFIPV ;ISD/HGW - IPv4 and IPv6 Utilities ;06/17/14 08:20
Source file <XLFIPV.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| 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". | |
| 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. | 
 
 | 
| VALH | ; Extended help for VAL^XLFIPV | |
| VER | ; OPTION. "Show system settings for IPv6" [XLFIPV VERSION] | |
| 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". | |
| VAL | ; OPTION. "Validate IPv4 and IPv6 address" [XLFIPV VALIDATE] | |
| 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. | |
| IP6H | ; Extended help for IP6^XLFIPV | |
| 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. | |
| 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. | 
 
 | 
| 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. | 
 
 | 
| IP4H | ; Extended help for IP4^XLFIPV | |
| IP6 | ; OPTION. "Convert any IP address to IPv6" [XLFIPV FORCEIP6] | |
| IP4 | ; OPTION. "Convert any IP address to IPv4" [XLFIPV FORCEIP4] | |
| 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". | |
| CONH | ; Extended help for CON^XLFIPV | |
| 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. | 
 
 | 
| 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. | 
 
 | 
| CON | ; OPTION. "Convert any IP address per system settings" [XLFIPV CONVERT] | 
| Name | Line Occurrences | 
|---|---|
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Routine Call | 
 | 
| 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 | 
| >> | 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 |