xref: /rk3399_ARM-atf/tools/cert_create/include/cmd_opt.h (revision 82cb2c1ad9897473743f08437d0a3995bed561b9)
1ad2c1a9aSJuan Castillo /*
2ad2c1a9aSJuan Castillo  * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
3ad2c1a9aSJuan Castillo  *
4*82cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
5ad2c1a9aSJuan Castillo  */
6ad2c1a9aSJuan Castillo 
7ad2c1a9aSJuan Castillo #ifndef CMD_OPT_H_
8ad2c1a9aSJuan Castillo #define CMD_OPT_H_
9ad2c1a9aSJuan Castillo 
10ad2c1a9aSJuan Castillo #include <getopt.h>
11ad2c1a9aSJuan Castillo 
12ad2c1a9aSJuan Castillo #define CMD_OPT_MAX_NUM			64
13ad2c1a9aSJuan Castillo 
14ad2c1a9aSJuan Castillo /* Supported long command line option types */
15ad2c1a9aSJuan Castillo enum {
16ad2c1a9aSJuan Castillo 	CMD_OPT_CERT,
17ad2c1a9aSJuan Castillo 	CMD_OPT_KEY,
18ad2c1a9aSJuan Castillo 	CMD_OPT_EXT
19ad2c1a9aSJuan Castillo };
20ad2c1a9aSJuan Castillo 
21159807e2SJuan Castillo /* Structure to define a command line option */
22159807e2SJuan Castillo typedef struct cmd_opt_s {
23159807e2SJuan Castillo 	struct option long_opt;
24159807e2SJuan Castillo 	const char *help_msg;
25159807e2SJuan Castillo } cmd_opt_t;
26159807e2SJuan Castillo 
27ad2c1a9aSJuan Castillo /* Exported API*/
28159807e2SJuan Castillo void cmd_opt_add(const cmd_opt_t *cmd_opt);
29ad2c1a9aSJuan Castillo const struct option *cmd_opt_get_array(void);
30ad2c1a9aSJuan Castillo const char *cmd_opt_get_name(int idx);
31159807e2SJuan Castillo const char *cmd_opt_get_help_msg(int idx);
32ad2c1a9aSJuan Castillo 
33ad2c1a9aSJuan Castillo #endif /* CMD_OPT_H_ */
34