// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Implementation of the 'bootstat' command, part of the Chromium OS
// 'bootstat' facility.  The command provides a command line wrapper
// around the key functionality declared in "bootstat.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <libgen.h>

#include "bootstat.h"

static void usage(char* cmd)
{
  fprintf(stderr, "usage: %s <event-name>\n", basename(strdup(cmd)));
  exit(EXIT_FAILURE);
}


int main(int argc, char* argv[])
{
  if (argc != 2)
    usage(argv[0]);

  bootstat_log(argv[1]);
  return EXIT_SUCCESS;
}
