util: refactor listing card drivers

Make util_list_card_drivers() a function in util.c to allow
consistent listing of available card drivers from tools.
This commit is contained in:
Peter Marschall 2020-01-05 10:54:47 +01:00
parent a46b24bacd
commit a40cde2d04
2 changed files with 21 additions and 0 deletions

View File

@ -305,6 +305,26 @@ util_print_usage_and_die(const char *app_name, const struct option options[],
exit(2);
}
int util_list_card_drivers(const sc_context_t *ctx)
{
int i;
if (ctx == NULL) {
fprintf(stderr, "Unable to get card drivers!\n");
return 1;
}
if (ctx->card_drivers[0] == NULL) {
fprintf(stderr, "No card drivers installed!\n");
return 1;
}
printf("Available card drivers:\n");
for (i = 0; ctx->card_drivers[i] != NULL; i++) {
printf(" %-16s %s\n", ctx->card_drivers[i]->short_name,
ctx->card_drivers[i]->name);
}
return 0;
}
const char * util_acl_to_str(const sc_acl_entry_t *e)
{
static char line[80], buf[20];

View File

@ -41,6 +41,7 @@ void util_hex_dump(FILE *f, const u8 *in, int len, const char *sep);
void util_hex_dump_asc(FILE *f, const u8 *in, size_t count, int addr);
NORETURN void util_print_usage_and_die(const char *app_name, const struct option options[],
const char *option_help[], const char *args);
int util_list_card_drivers(const sc_context_t *ctx);
const char * util_acl_to_str(const struct sc_acl_entry *e);
void util_warn(const char *fmt, ...);
void util_error(const char *fmt, ...);