1*90aa901fSSumit Garg /* 2*90aa901fSSumit Garg * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. 3*90aa901fSSumit Garg * Copyright (c) 2019, Linaro Limited. All rights reserved. 4*90aa901fSSumit Garg * 5*90aa901fSSumit Garg * SPDX-License-Identifier: BSD-3-Clause 6*90aa901fSSumit Garg */ 7*90aa901fSSumit Garg 8*90aa901fSSumit Garg #ifndef CMD_OPT_H 9*90aa901fSSumit Garg #define CMD_OPT_H 10*90aa901fSSumit Garg 11*90aa901fSSumit Garg #include <getopt.h> 12*90aa901fSSumit Garg 13*90aa901fSSumit Garg #define CMD_OPT_MAX_NUM 64 14*90aa901fSSumit Garg 15*90aa901fSSumit Garg /* Supported long command line option types */ 16*90aa901fSSumit Garg enum { 17*90aa901fSSumit Garg CMD_OPT_FW 18*90aa901fSSumit Garg }; 19*90aa901fSSumit Garg 20*90aa901fSSumit Garg /* Structure to define a command line option */ 21*90aa901fSSumit Garg typedef struct cmd_opt_s { 22*90aa901fSSumit Garg struct option long_opt; 23*90aa901fSSumit Garg const char *help_msg; 24*90aa901fSSumit Garg } cmd_opt_t; 25*90aa901fSSumit Garg 26*90aa901fSSumit Garg /* Exported API*/ 27*90aa901fSSumit Garg void cmd_opt_add(const cmd_opt_t *cmd_opt); 28*90aa901fSSumit Garg const struct option *cmd_opt_get_array(void); 29*90aa901fSSumit Garg const char *cmd_opt_get_name(int idx); 30*90aa901fSSumit Garg const char *cmd_opt_get_help_msg(int idx); 31*90aa901fSSumit Garg 32*90aa901fSSumit Garg #endif /* CMD_OPT_H */ 33