upstream u-boot with additional patches for our devices/boards: https://lists.denx.de/pipermail/u-boot/2017-March/282789.html (AXP crashes) ; Gbit ethernet patch for some LIME2 revisions ; with SPI flash support
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
u-boot/arch/sandbox/include/asm/getopt.h

71 lines
2.2 KiB

/*
* Code for setting up command line flags like `./u-boot --help`
*
* Copyright (c) 2011 The Chromium OS Authors.
*
* Licensed under the GPL-2 or later.
*/
#ifndef __SANDBOX_GETOPT_H
#define __SANDBOX_GETOPT_H
struct sandbox_state;
/*
* Internal structure for storing details about the flag.
* Most people should not have to dig around in this as
* it only gets parsed by the core sandbox code. End
* consumer code should focus on the macros below and
* the callback function.
*/
struct sb_cmdline_option {
/* The long flag name: "help" for "--help" */
const char *flag;
/* The (optional) short flag name: "h" for "-h" */
int flag_short;
/* The help string shown to the user when processing --help */
const char *help;
/* Whether this flag takes an argument */
int has_arg;
/* Callback into the end consumer code with the option */
int (*callback)(struct sandbox_state *state, const char *opt);
};
/*
* Internal macro to expand the lower macros into the necessary
* magic junk that makes this all work.
*/
#define _SB_CMDLINE_OPT(f, s, ha, h) \
static struct sb_cmdline_option sb_cmdline_option_##f = { \
.flag = #f, \
.flag_short = s, \
.help = h, \
.has_arg = ha, \
.callback = sb_cmdline_cb_##f, \
}; \
/* Ppointer to the struct in a special section for the linker script */ \
static __attribute__((section(".u_boot_sandbox_getopt"), used)) \
struct sb_cmdline_option *sb_cmdline_option_##f##_ptr = \
&sb_cmdline_option_##f
/**
* Macros for end code to declare new command line flags.
*
* @param f The long flag name e.g. help
* @param ha Does the flag have an argument e.g. 0/1
* @param h The help string displayed when showing --help
*
* This invocation:
* SB_CMDLINE_OPT(foo, 0, "The foo arg");
* Will create a new flag named "--foo" (no short option) that takes
* no argument. If the user specifies "--foo", then the callback func
* sb_cmdline_cb_foo() will automatically be called.
*/
#define SB_CMDLINE_OPT(f, ha, h) _SB_CMDLINE_OPT(f, 0, ha, h)
/*
* Same as above, but @s is used to specify a short flag e.g.
* SB_CMDLINE_OPT(foo, 'f', 0, "The foo arg");
*/
#define SB_CMDLINE_OPT_SHORT(f, s, ha, h) _SB_CMDLINE_OPT(f, s, ha, h)
#endif