diff options
| -rw-r--r-- | common/image.c | 10 | ||||
| -rw-r--r-- | include/image.h | 24 | 
2 files changed, 26 insertions, 8 deletions
| diff --git a/common/image.c b/common/image.c index ca8205ce4..e8ecfa5c0 100644 --- a/common/image.c +++ b/common/image.c @@ -74,12 +74,6 @@ static const image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch,  #include <image.h>  #endif /* !USE_HOSTCC*/ -typedef struct table_entry { -	int	id;		/* as defined in image.h	*/ -	char	*sname;		/* short (input) name		*/ -	char	*lname;		/* long (output) name		*/ -} table_entry_t; -  static table_entry_t uimage_arch[] = {  	{	IH_ARCH_INVALID,	NULL,		"Invalid ARCH",	},  	{	IH_ARCH_ALPHA,		"alpha",	"Alpha",	}, @@ -514,7 +508,7 @@ static void genimg_print_time (time_t timestamp)   *     long entry name if translation succeeds   *     msg otherwise   */ -static char *get_table_entry_name (table_entry_t *table, char *msg, int id) +char *get_table_entry_name (table_entry_t *table, char *msg, int id)  {  	for (; table->id >= 0; ++table) {  		if (table->id == id) @@ -561,7 +555,7 @@ const char *genimg_get_comp_name (uint8_t comp)   *     entry id if translation succeeds   *     -1 otherwise   */ -static int get_table_entry_id (table_entry_t *table, +int get_table_entry_id (table_entry_t *table,  		const char *table_name, const char *name)  {  	table_entry_t *t; diff --git a/include/image.h b/include/image.h index 4a7bf7820..d4cbf8c70 100644 --- a/include/image.h +++ b/include/image.h @@ -284,6 +284,30 @@ typedef struct bootm_headers {  #define uimage_to_cpu(x)		be32_to_cpu(x)  #define cpu_to_uimage(x)		cpu_to_be32(x) +/* + * Translation table for entries of a specific type; used by + * get_table_entry_id() and get_table_entry_name(). + */ +typedef struct table_entry { +	int	id; +	char	*sname;		/* short (input) name to find table entry */ +	char	*lname;		/* long (output) name to print for messages */ +} table_entry_t; + +/* + * get_table_entry_id() scans the translation table trying to find an + * entry that matches the given short name. If a matching entry is + * found, it's id is returned to the caller. + */ +int get_table_entry_id (table_entry_t *table, +		const char *table_name, const char *name); +/* + * get_table_entry_name() scans the translation table trying to find + * an entry that matches the given id. If a matching entry is found, + * its long name is returned to the caller. + */ +char *get_table_entry_name (table_entry_t *table, char *msg, int id); +  const char *genimg_get_os_name (uint8_t os);  const char *genimg_get_arch_name (uint8_t arch);  const char *genimg_get_type_name (uint8_t type); |