u_boot_cmd

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asty008/article/details/80380580

struct cmd_tbl_s {
    char        *name;      /* Command Name         */
    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) */

    char        *help;      /* Help  message    (long)  */

    /* do auto completion on the arguments */
    int     (*complete)(int argc, char *argv[], char last_char, int maxv, char *cmdv[]);

};


typedef struct cmd_tbl_s    cmd_tbl_t;

#define Struct_Section  __attribute__ ((unused,section (".u_boot_cmd")))

#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage}


int
do_version (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
    char version_string[] = "test";
    printf ("\n%s\n", version_string);
    return 0;
}

U_BOOT_CMD(
    version,    1,      1,  do_version,
    "version - print monitor version\n",
    NULL
);


int main(void)
{
    return 0;
}
 

猜你喜欢

转载自blog.csdn.net/asty008/article/details/80380580