diff options
Diffstat (limited to 'include/command.h')
| -rw-r--r-- | include/command.h | 28 | 
1 files changed, 19 insertions, 9 deletions
| diff --git a/include/command.h b/include/command.h index 9453c0d1c..a39c12f9a 100644 --- a/include/command.h +++ b/include/command.h @@ -38,9 +38,9 @@  struct cmd_tbl_s {  	char		*name;		/* Command Name			*/ -	int		lmin;		/* minimum abbreviated length	*/  	int		maxargs;	/* maximum number of arguments	*/  	int		repeatable;	/* autorepeat allowed?		*/ +  					/* Implementation function	*/  	int		(*cmd)(struct cmd_tbl_s *, int, int, char *[]);  	char		*usage;		/* Usage message	(short)	*/ @@ -51,15 +51,9 @@ struct cmd_tbl_s {  typedef struct cmd_tbl_s	cmd_tbl_t; -extern	cmd_tbl_t cmd_tbl[]; +extern cmd_tbl_t  __u_boot_cmd_start; +extern cmd_tbl_t  __u_boot_cmd_end; -#ifdef	CFG_LONGHELP -#define	MK_CMD_TBL_ENTRY(name,lmin,maxargs,rep,cmd,usage,help)	\ -				{ name, lmin, maxargs, rep, cmd, usage, help } -#else	/* no help info */ -#define	MK_CMD_TBL_ENTRY(name,lmin,maxargs,rep,cmd,usage,help)	\ -				{ name, lmin, maxargs, rep, cmd, usage } -#endif  /* common/command.c */  cmd_tbl_t *find_cmd(const char *cmd); @@ -87,4 +81,20 @@ typedef	void 	command_t (cmd_tbl_t *, int, int, char *[]);   * to include/cmd_confdefs.h   */ + +#define Struct_Section  __attribute__ ((unused,section (".u_boot_cmd"))) +#define U_BOOT_CMD(x)  __u_boot_cmd_##x Struct_Section + +#ifdef  CFG_LONGHELP + +#define MK_CMD_ENTRY(name,maxargs,rep,cmd,usage,help)	\ +			{ name, maxargs, rep, cmd, usage, help } + +#else	/* no long help info */ + +#define MK_CMD_ENTRY(name,maxargs,rep,cmd,usage,help)	\ +			{ name, maxargs, rep, cmd, usage } + +#endif	/* CFG_LONGHELP */ +  #endif	/* __COMMAND_H */ |