#include <libintl.h>
#include <locale.h>
#include <stdio.h>
#include "libfru.h"
#include "prtfru.h"
static void
usage(const char *command)
{
(void) fprintf(stderr,
gettext("Usage: %s [ -d ] | [ -clx ] [ container ]\n"),
command);
}
int
main(int argc, char *argv[])
{
char *command = argv[0], *searchpath = NULL;
int containers_only = 0, dtd = 0, list_only = 0, nodtd = 0, option,
status, xml = 0;
(void) setlocale(LC_ALL, "");
(void) textdomain(TEXT_DOMAIN);
opterr = 0;
while ((option = getopt(argc, argv, "cdlx")) != EOF) {
switch (option) {
case 'c':
containers_only = 1;
nodtd = 1;
break;
case 'd':
dtd = 1;
break;
case 'l':
list_only = 1;
nodtd = 1;
break;
case 'x':
xml = 1;
nodtd = 1;
break;
default:
usage(command);
return (1);
}
}
argc -= optind;
argv += optind;
if (dtd) {
if (nodtd || (argc > 0)) {
usage(command);
(void) fprintf(stderr,
gettext("Specify \"-d\" alone\n"));
return (1);
}
return (output_dtd());
}
switch (argc) {
case 0:
break;
case 1:
searchpath = argv[0];
if (!searchpath[0]) {
usage(command);
(void) fprintf(stderr,
gettext("\"container\" should not be empty\n"));
return (1);
}
break;
default:
usage(command);
return (1);
}
if ((status = fru_open_data_source("picl")) != FRU_SUCCESS) {
(void) fprintf(stderr,
gettext("Error opening FRU ID data source: %s\n"),
fru_strerror(status));
return (1);
}
return (prtfru(searchpath, containers_only, list_only, xml));
}