Eliminate a couple of 3-line functions that barely wrap *printf calls
[coreboot.git] / util / nvramtool / opts.h
1 /*****************************************************************************\
2  * opts.h
3  *****************************************************************************
4  *  Copyright (C) 2002-2005 The Regents of the University of California.
5  *  Produced at the Lawrence Livermore National Laboratory.
6  *  Written by Dave Peterson <dsp@llnl.gov> <dave_peterson@pobox.com>.
7  *  UCRL-CODE-2003-012
8  *  All rights reserved.
9  *
10  *  This file is part of nvramtool, a utility for reading/writing coreboot
11  *  parameters and displaying information from the coreboot table.
12  *  For details, see http://coreboot.org/nvramtool.
13  *
14  *  Please also read the file DISCLAIMER which is included in this software
15  *  distribution.
16  *
17  *  This program is free software; you can redistribute it and/or modify it
18  *  under the terms of the GNU General Public License (as published by the
19  *  Free Software Foundation) version 2, dated June 1991.
20  *
21  *  This program is distributed in the hope that it will be useful, but
22  *  WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the terms and
24  *  conditions of the GNU General Public License for more details.
25  *
26  *  You should have received a copy of the GNU General Public License along
27  *  with this program; if not, write to the Free Software Foundation, Inc.,
28  *  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
29 \*****************************************************************************/
30
31 #ifndef OPTS_H
32 #define OPTS_H
33
34 #include "common.h"
35
36 typedef enum { NVRAMTOOL_OP_SHOW_VERSION = 0,
37         NVRAMTOOL_OP_SHOW_USAGE,
38         NVRAMTOOL_OP_LBTABLE_SHOW_INFO,
39         NVRAMTOOL_OP_LBTABLE_DUMP,
40         NVRAMTOOL_OP_SHOW_PARAM_VALUES,
41         NVRAMTOOL_OP_CMOS_SHOW_ONE_PARAM,
42         NVRAMTOOL_OP_CMOS_SHOW_ALL_PARAMS,
43         NVRAMTOOL_OP_CMOS_SET_ONE_PARAM,
44         NVRAMTOOL_OP_CMOS_SET_PARAMS_STDIN,
45         NVRAMTOOL_OP_CMOS_SET_PARAMS_FILE,
46         NVRAMTOOL_OP_CMOS_CHECKSUM,
47         NVRAMTOOL_OP_SHOW_LAYOUT,
48         NVRAMTOOL_OP_WRITE_CMOS_DUMP,
49         NVRAMTOOL_OP_READ_CMOS_DUMP,
50         NVRAMTOOL_OP_SHOW_CMOS_HEX_DUMP,
51         NVRAMTOOL_OP_SHOW_CMOS_DUMPFILE
52 } nvramtool_op_t;
53
54 typedef struct {
55         nvramtool_op_t op;
56         char *param;
57 } nvramtool_op_info_t;
58
59 typedef enum { NVRAMTOOL_MOD_SHOW_VALUE_ONLY = 0,
60         NVRAMTOOL_MOD_USE_CMOS_LAYOUT_FILE,
61         NVRAMTOOL_MOD_USE_CBFS_FILE,
62         NVRAMTOOL_MOD_USE_CMOS_FILE,
63         NVRAMTOOL_MOD_USE_CMOS_OPT_TABLE,
64         NVRAMTOOL_NUM_OP_MODIFIERS      /* must always be last */
65 } nvramtool_op_modifier_t;
66
67 typedef struct {
68         int found;
69         int found_seq;
70         char *param;
71 } nvramtool_op_modifier_info_t;
72
73 extern nvramtool_op_info_t nvramtool_op;
74
75 extern nvramtool_op_modifier_info_t nvramtool_op_modifiers[];
76
77 void parse_nvramtool_args(int argc, char *argv[]);
78
79 #endif                          /* OPTS_H */