/* would need to make the " | " optional depending on more than one selected: */
//usage:#define ip_trivial_usage
-//usage: "[OPTIONS] {"
-//usage: IF_FEATURE_IP_ADDRESS("address | ")
-//usage: IF_FEATURE_IP_ROUTE("route | ")
-//usage: IF_FEATURE_IP_LINK("link | ")
-//usage: IF_FEATURE_IP_TUNNEL("tunnel | ")
-//usage: IF_FEATURE_IP_NEIGH("neigh | ")
+//usage: "[OPTIONS] "
+//usage: IF_FEATURE_IP_ADDRESS("address|")
+//usage: IF_FEATURE_IP_ROUTE("route|")
+//usage: IF_FEATURE_IP_LINK("link|")
+//usage: IF_FEATURE_IP_TUNNEL("tunnel|")
+//usage: IF_FEATURE_IP_NEIGH("neigh|")
//usage: IF_FEATURE_IP_RULE("rule")
-//usage: "} {COMMAND}"
+//usage: " [COMMAND]"
//usage:#define ip_full_usage "\n\n"
-//usage: "ip [OPTIONS] OBJECT {COMMAND}\n"
-//usage: "where OBJECT := {"
-//usage: IF_FEATURE_IP_ADDRESS("address | ")
-//usage: IF_FEATURE_IP_ROUTE("route | ")
-//usage: IF_FEATURE_IP_LINK("link | ")
-//usage: IF_FEATURE_IP_TUNNEL("tunnel | ")
-//usage: IF_FEATURE_IP_NEIGH("neigh | ")
+//usage: "ip [OPTIONS] OBJECT [COMMAND]\n"
+//usage: "where OBJECT := "
+//usage: IF_FEATURE_IP_ADDRESS("address|")
+//usage: IF_FEATURE_IP_ROUTE("route|")
+//usage: IF_FEATURE_IP_LINK("link|")
+//usage: IF_FEATURE_IP_TUNNEL("tunnel|")
+//usage: IF_FEATURE_IP_NEIGH("neigh|")
//usage: IF_FEATURE_IP_RULE("rule")
-//usage: "}\n"
-//usage: "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }"
+//usage: "\n"
+//usage: "OPTIONS := -f[amily] inet|inet6|link | -o[neline]"
//usage:
//usage:#define ipaddr_trivial_usage
-//usage: "{ {add|del} IFADDR dev STRING | {show|flush}\n"
-//usage: " [dev STRING] [to PREFIX] }"
+//usage: "add|del IFADDR dev STRING | show|flush [dev STRING] [to PREFIX]"
//usage:#define ipaddr_full_usage "\n\n"
-//usage: "ipaddr {add|change|replace|delete} IFADDR dev STRING\n"
-//usage: "ipaddr {show|flush} [dev STRING] [scope SCOPE-ID]\n"
+//usage: "ipaddr add|change|replace|delete IFADDR dev STRING\n"
+//usage: "ipaddr show|flush [dev STRING] [scope SCOPE-ID]\n"
//usage: " [to PREFIX] [label PATTERN]\n"
//usage: " IFADDR := PREFIX | ADDR peer PREFIX\n"
//usage: " [broadcast ADDR] [anycast ADDR]\n"
//usage: " [label STRING] [scope SCOPE-ID]\n"
-//usage: " SCOPE-ID := [host | link | global | NUMBER]"
+//usage: " SCOPE-ID := [host|link|global|NUMBER]"
//usage:
//usage:#define iplink_trivial_usage
-//usage: "{ set DEVICE { up | down | arp { on | off } | show [DEVICE] }"
+//usage: "{ set DEVICE [up|down] [arp on|off] } | show [DEVICE]"
//usage:#define iplink_full_usage "\n\n"
-//usage: "iplink set DEVICE { up | down | arp | multicast { on | off } |\n"
-//usage: " dynamic { on | off } |\n"
-//usage: " mtu MTU }\n"
+//usage: "iplink set DEVICE [up|down]\n"
+//usage: " [arp on|off]\n"
+//usage: " [dynamic on|off]\n"
+//usage: " [multicast on|off]\n"
+//usage: " [mtu MTU]\n"
//usage: "iplink show [DEVICE]"
//usage:
//usage:#define iproute_trivial_usage
-//usage: "{ list | flush | add | del | change | append |\n"
-//usage: " replace | test } ROUTE"
+//usage: "list|flush|add|del|change|append|replace|test ROUTE"
//usage:#define iproute_full_usage "\n\n"
-//usage: "iproute { list | flush } SELECTOR\n"
+//usage: "iproute list|flush SELECTOR\n"
//usage: "iproute get ADDRESS [from ADDRESS iif STRING]\n"
//usage: " [oif STRING] [tos TOS]\n"
-//usage: "iproute { add | del | change | append | replace | test } ROUTE\n"
+//usage: "iproute add|del|change|append|replace|test ROUTE\n"
//usage: " SELECTOR := [root PREFIX] [match PREFIX] [proto RTPROTO]\n"
//usage: " ROUTE := [TYPE] PREFIX [tos TOS] [proto RTPROTO] [metric METRIC]"
//usage:
//usage:#define iprule_trivial_usage
-//usage: "{[list | add | del] RULE}"
+//usage: "[list|add|del] RULE"
//usage:#define iprule_full_usage "\n\n"
-//usage: "iprule [list | add | del] SELECTOR ACTION\n"
+//usage: "iprule [list|add|del] SELECTOR ACTION\n"
//usage: " SELECTOR := [from PREFIX] [to PREFIX] [tos TOS] [fwmark FWMARK]\n"
//usage: " [dev STRING] [pref NUMBER]\n"
//usage: " ACTION := [table TABLE_ID] [nat ADDRESS]\n"
//usage: " TABLE_ID := [local | main | default | NUMBER]"
//usage:
//usage:#define iptunnel_trivial_usage
-//usage: "{ add | change | del | show } [NAME]\n"
-//usage: " [mode { ipip | gre | sit }]\n"
+//usage: "add|change|del|show [NAME]\n"
+//usage: " [mode ipip|gre|sit]\n"
//usage: " [remote ADDR] [local ADDR] [ttl TTL]"
//usage:#define iptunnel_full_usage "\n\n"
-//usage: "iptunnel { add | change | del | show } [NAME]\n"
-//usage: " [mode { ipip | gre | sit }] [remote ADDR] [local ADDR]\n"
+//usage: "iptunnel add|change|del|show [NAME]\n"
+//usage: " [mode ipip|gre|sit] [remote ADDR] [local ADDR]\n"
//usage: " [[i|o]seq] [[i|o]key KEY] [[i|o]csum]\n"
//usage: " [ttl TTL] [tos TOS] [[no]pmtudisc] [dev PHYS_DEV]"
//usage:
//usage:#define ipneigh_trivial_usage
-//usage: "{ show | flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]"
+//usage: "show|flush [to PREFIX] [dev DEV] [nud STATE]"
//usage:#define ipneigh_full_usage "\n\n"
-//usage: "ipneigh { show | flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]"
+//usage: "ipneigh show|flush [to PREFIX] [dev DEV] [nud STATE]"
#include "libbb.h"
//usage: "\n -4,-6 Force IP or IPv6 name resolution"
//usage: )
//usage: "\n -c CNT Send only CNT pings"
-//usage: "\n -s SIZE Send SIZE data bytes in packets (default:56)"
+//usage: "\n -s SIZE Send SIZE data bytes in packets (default 56)"
//usage: "\n -t TTL Set TTL"
-//usage: "\n -I IFACE/IP Use interface or IP address as source"
-//usage: "\n -W SEC Seconds to wait for the first response (default:10)"
+//usage: "\n -I IFACE/IP Source interface or IP address"
+//usage: "\n -W SEC Seconds to wait for the first response (default 10)"
//usage: "\n (after all -c CNT packets are sent)"
//usage: "\n -w SEC Seconds until ping exits (default:infinite)"
//usage: "\n (can exit earlier with -c CNT)"
//usage:# define ping6_full_usage "\n\n"
//usage: "Send ICMP ECHO_REQUEST packets to network hosts\n"
//usage: "\n -c CNT Send only CNT pings"
-//usage: "\n -s SIZE Send SIZE data bytes in packets (default:56)"
-//usage: "\n -I IFACE/IP Use interface or IP address as source"
+//usage: "\n -s SIZE Send SIZE data bytes in packets (default 56)"
+//usage: "\n -I IFACE/IP Source interface or IP address"
//usage: "\n -q Quiet, only display output at start"
//usage: "\n and when finished"
//usage: "\n -p Pattern to use for payload"