/drivers/net/wireless/bcm4329/include/miniopt.h
https://bitbucket.org/wisechild/galaxy-nexus · C++ Header · 77 lines · 26 code · 14 blank · 37 comment · 0 complexity · 2e2aa01a74cb362314e6ce76d5a40b83 MD5 · raw file
- /*
- * Command line options parser.
- *
- * Copyright (C) 1999-2010, Broadcom Corporation
- *
- * Unless you and Broadcom execute a separate written software license
- * agreement governing use of this software, this software is licensed to you
- * under the terms of the GNU General Public License version 2 (the "GPL"),
- * available at http://www.broadcom.com/licenses/GPLv2.php, with the
- * following added to such license:
- *
- * As a special exception, the copyright holders of this software give you
- * permission to link this software with independent modules, and to copy and
- * distribute the resulting executable under terms of your choice, provided that
- * you also meet, for each linked independent module, the terms and conditions of
- * the license of that module. An independent module is a module which is not
- * derived from this software. The special exception does not apply to any
- * modifications of the software.
- *
- * Notwithstanding the above, under no circumstances may you combine this
- * software in any way with any other Broadcom software provided under a license
- * other than the GPL, without Broadcom's express prior written consent.
- * $Id: miniopt.h,v 1.1.6.2 2009/01/14 23:52:48 Exp $
- */
- #ifndef MINI_OPT_H
- #define MINI_OPT_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* ---- Include Files ---------------------------------------------------- */
- /* ---- Constants and Types ---------------------------------------------- */
- #define MINIOPT_MAXKEY 128 /* Max options */
- typedef struct miniopt {
- /* These are persistent after miniopt_init() */
- const char* name; /* name for prompt in error strings */
- const char* flags; /* option chars that take no args */
- bool longflags; /* long options may be flags */
- bool opt_end; /* at end of options (passed a "--") */
- /* These are per-call to miniopt() */
- int consumed; /* number of argv entries cosumed in
- * the most recent call to miniopt()
- */
- bool positional;
- bool good_int; /* 'val' member is the result of a sucessful
- * strtol conversion of the option value
- */
- char opt;
- char key[MINIOPT_MAXKEY];
- char* valstr; /* positional param, or value for the option,
- * or null if the option had
- * no accompanying value
- */
- uint uval; /* strtol translation of valstr */
- int val; /* strtol translation of valstr */
- } miniopt_t;
- void miniopt_init(miniopt_t *t, const char* name, const char* flags, bool longflags);
- int miniopt(miniopt_t *t, char **argv);
- /* ---- Variable Externs ------------------------------------------------- */
- /* ---- Function Prototypes ---------------------------------------------- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* MINI_OPT_H */