/* This file is part of Eclat.
Copyright (C) 2012-2015 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 . */
static char *from_file;
static struct grecs_list *reslist;
struct resource {
char *map;
char *resid;
};
ECLAT_CL_BEGIN([],
[])
OPTION(resource-id,r,[<[MAP:]ID>],
[])
BEGIN
struct resource *res = grecs_malloc(sizeof(*res));
char *p = strchr(optarg, ':');
if (p) {
res->map = optarg;
*p++ = 0;
res->resid = p;
} else {
res->map = NULL;
res->resid = optarg;
}
grecs_list_append(reslist, res);
END
OPTION(instance,i,[],
[])
BEGIN
struct resource *res = grecs_malloc(sizeof(*res));
res->map = MAP_INSTANCE;
res->resid = optarg;
grecs_list_append(reslist, res);
END
OPTION(volume,v,[],
[])
BEGIN
struct resource *res = grecs_malloc(sizeof(*res));
res->map = MAP_VOLUME;
res->resid = optarg;
grecs_list_append(reslist, res);
END
OPTION(ami,a,[],
[])
BEGIN
struct resource *res = grecs_malloc(sizeof(*res));
res->map = MAP_IMAGE;
res->resid = optarg;
grecs_list_append(reslist, res);
END
OPTION(snapshot,s,[],
[])
BEGIN
struct resource *res = grecs_malloc(sizeof(*res));
res->map = MAP_SNAPSHOT;
res->resid = optarg;
grecs_list_append(reslist, res);
END
OPTION(internet-gateway,g,[],
[])
BEGIN
struct resource *res = grecs_malloc(sizeof(*res));
res->map = MAP_IGW;
res->resid = optarg;
grecs_list_append(reslist, res);
END
OPTION(from-file,T,[],
[])
BEGIN
from_file = optarg;
END
ECLAT_CL_END
ECLAT_CL_PARSER(parse_options, [],[<
{
reslist = grecs_list_create();
GETOPT(argc, argv, *index, exit(EX_USAGE))
}
>])