/* This file is part of Eclat. Copyright (C) 2012-2018 Sergey Poznyakoff. Eclat is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. Eclat is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Eclat. If not, see . */ ECLAT_CL_BEGIN([], [<[FILTER...] [ID...]>]) OPTION(name,n,, []) BEGIN name_option = 1; END ECLAT_CL_END static char *proto_str[] = { "tcp", "udp", "icmp", "or a protocol number", NULL }; static struct filter_descr filters[] = { { "description", FILTER_STRING }, { "group-id", FILTER_STRING }, { "group-name", FILTER_STRING }, { "ip-permission.cidr", FILTER_STRING }, { "ip-permission.from-port", FILTER_STRING }, { "ip-permission.group-name", FILTER_STRING }, { "ip-permission.protocol", FILTER_ENUM, proto_str }, { "ip-permission.to-port", FILTER_STRING }, { "ip-permission.user-id", FILTER_STRING }, { "owner-id", FILTER_STRING }, { "tag-key", FILTER_STRING }, { "tag-value", FILTER_STRING }, { NULL } }; ECLAT_CL_PARSER(parse_options, [],[< { available_filters = filters; proginfo.print_help_hook = list_filters; GETOPT(argc, argv, *index, exit(EX_USAGE)) } >])