xref: /rk3399_ARM-atf/tools/encrypt_fw/include/cmd_opt.h (revision 091576e7f1fa0ca7360732d290a28ff2dc2a16e6)
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