coreboot-kgpe-d16/util/nvramtool/common.c
Patrick Georgi a73b93157f tree: drop last paragraph of GPL copyright header
It encourages users from writing to the FSF without giving an address.
Linux also prefers to drop that and their checkpatch.pl (that we
imported) looks out for that.

This is the result of util/scripts/no-fsf-addresses.sh with no further
editing.

Change-Id: Ie96faea295fe001911d77dbc51e9a6789558fbd6
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/11888
Tested-by: build bot (Jenkins)
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2015-10-31 21:37:39 +01:00

108 lines
4.5 KiB
C

/*****************************************************************************\
* common.c
*****************************************************************************
* Copyright (C) 2002-2005 The Regents of the University of California.
* Produced at the Lawrence Livermore National Laboratory.
* Written by Dave Peterson <dsp@llnl.gov> <dave_peterson@pobox.com>.
* UCRL-CODE-2003-012
* All rights reserved.
*
* This file is part of nvramtool, a utility for reading/writing coreboot
* parameters and displaying information from the coreboot table.
* For details, see http://coreboot.org/nvramtool.
*
* Please also read the file DISCLAIMER which is included in this software
* distribution.
*
* This program 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) version 2, dated June 1991.
*
* This program 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 terms and
* conditions of the GNU General Public License for more details.
\*****************************************************************************/
#include "common.h"
/* basename of this program, as reported by argv[0] */
const char prog_name[] = "nvramtool";
/* version of this program */
const char prog_version[] = "2.1";
/****************************************************************************
* get_line_from_file
*
* Get a line of input from file 'f'. Store result in 'line' which is an
* array of 'line_buf_size' bytes.
****************************************************************************/
int get_line_from_file(FILE * f, char line[], int line_buf_size)
{
if (fgets(line, line_buf_size, f) == NULL)
return LINE_EOF;
/* If the file contains a line that is too long, then it's best
* to let the user know right away rather than passing back a
* truncated result that will lead to problems later on.
*/
return (strlen(line) == ((size_t) (line_buf_size - 1))) ?
LINE_TOO_LONG : OK;
}
/****************************************************************************
* out_of_memory
*
* We ran out of memory. Print an error message and die.
****************************************************************************/
void out_of_memory(void)
{
fprintf(stderr, "%s: Out of memory.\n", prog_name);
exit(1);
}
/****************************************************************************
* usage
*
* Write a usage message to 'outfile'. If 'outfile' is 'stderr' then exit
* with a value of 1. Otherwise exit with a value of 0.
****************************************************************************/
void usage(FILE * outfile)
{
fprintf(outfile,
"Usage: %s [-y LAYOUT_FILE | -t] PARAMETER ...\n\n"
" Read/write coreboot parameters or show info from "
"coreboot table.\n\n"
" -y LAYOUT_FILE: Use CMOS layout specified by "
"LAYOUT_FILE.\n"
" -t: Use CMOS layout specified by CMOS option "
"table.\n"
" -C CBFS_FILE: Use CBFS file for layout and CMOS data.\n"
" -D CMOS_FILE: Use CMOS file for CMOS data (overrides CMOS of -C).\n"
" [-n] -r NAME: Show parameter NAME. If -n is given, "
"show value only.\n"
" -e NAME: Show all possible values for parameter "
"NAME.\n"
" -a: Show names and values for all "
"parameters.\n"
" -w NAME=VALUE: Set parameter NAME to VALUE.\n"
" -p INPUT_FILE: Set parameters according to INPUT_FILE.\n"
" -i: Same as -p but file contents taken from "
"standard input.\n"
" -c [VALUE]: Show CMOS checksum or set checksum to "
"VALUE.\n"
" -l [ARG]: Show coreboot table info for ARG, or "
"all ARG choices.\n"
" -L OUTPUT_BIN Write CMOS layout file in binary format\n"
" -H OUTPUT_HDR Write CMOS layout file in header format\n"
" -d: Show low-level dump of coreboot table.\n"
" -Y: Show CMOS layout info.\n"
" -b OUTPUT_FILE: Dump CMOS memory contents to file.\n"
" -B INPUT_FILE: Write file contents to CMOS memory.\n"
" -x: Show hex dump of CMOS memory.\n"
" -X DUMPFILE: Show hex dump of CMOS dumpfile.\n"
" -v: Show version info for this program.\n"
" -h: Show this message.\n", prog_name);
exit(outfile == stderr);
}