| 91 | } |
| 92 | |
| 93 | int cmdline_get_help_ipaddr(cmdline_parse_token_hdr_t *tk, char *dstbuf, |
| 94 | unsigned int size) |
| 95 | { |
| 96 | struct cmdline_token_ipaddr *tk2; |
| 97 | |
| 98 | if (!tk || !dstbuf) |
| 99 | return -1; |
| 100 | |
| 101 | tk2 = (struct cmdline_token_ipaddr *)tk; |
| 102 | |
| 103 | switch (tk2->ipaddr_data.flags) { |
| 104 | case CMDLINE_IPADDR_V4: |
| 105 | snprintf(dstbuf, size, "IPv4"); |
| 106 | break; |
| 107 | case CMDLINE_IPADDR_V6: |
| 108 | snprintf(dstbuf, size, "IPv6"); |
| 109 | break; |
| 110 | case CMDLINE_IPADDR_V4|CMDLINE_IPADDR_V6: |
| 111 | snprintf(dstbuf, size, "IPv4/IPv6"); |
| 112 | break; |
| 113 | case CMDLINE_IPADDR_NETWORK|CMDLINE_IPADDR_V4: |
| 114 | snprintf(dstbuf, size, "IPv4 network"); |
| 115 | break; |
| 116 | case CMDLINE_IPADDR_NETWORK|CMDLINE_IPADDR_V6: |
| 117 | snprintf(dstbuf, size, "IPv6 network"); |
| 118 | break; |
| 119 | case CMDLINE_IPADDR_NETWORK|CMDLINE_IPADDR_V4|CMDLINE_IPADDR_V6: |
| 120 | snprintf(dstbuf, size, "IPv4/IPv6 network"); |
| 121 | break; |
| 122 | default: |
| 123 | snprintf(dstbuf, size, "IPaddr (bad flags)"); |
| 124 | break; |
| 125 | } |
| 126 | return 0; |
| 127 | } |