Add media type string conversion and update info display in info.c

This commit is contained in:
2025-10-09 00:53:38 +01:00
parent 802048b957
commit d24bf749c4
3 changed files with 1084 additions and 19 deletions

View File

@@ -26,6 +26,7 @@
int identify(const char *path); int identify(const char *path);
int info(const char *path); int info(const char *path);
char *byte_array_to_hex_string(const unsigned char *array, int array_size); char *byte_array_to_hex_string(const unsigned char *array, int array_size);
const char *media_type_to_string(MediaType type);
int read(unsigned long long sector_no, const char *path); int read(unsigned long long sector_no, const char *path);
int printhex(unsigned char *array, unsigned int length, int width, bool color); int printhex(unsigned char *array, unsigned int length, int width, bool color);
int read_long(unsigned long long sector_no, const char *path); int read_long(unsigned long long sector_no, const char *path);

File diff suppressed because it is too large Load Diff

View File

@@ -58,7 +58,7 @@ int info(const char *path)
printf("\tApplication version: %d.%d\n", ctx->header.applicationMajorVersion, ctx->header.applicationMinorVersion); printf("\tApplication version: %d.%d\n", ctx->header.applicationMajorVersion, ctx->header.applicationMinorVersion);
printf("\tImage format version: %d.%d\n", ctx->header.imageMajorVersion, ctx->header.imageMinorVersion); printf("\tImage format version: %d.%d\n", ctx->header.imageMajorVersion, ctx->header.imageMinorVersion);
printf("\tMedia type: %u\n", ctx->header.mediaType); printf("\tMedia type: %u (%s)\n", ctx->header.mediaType, media_type_to_string(ctx->header.mediaType));
printf("\tIndex offset: %llu\n", ctx->header.indexOffset); printf("\tIndex offset: %llu\n", ctx->header.indexOffset);
printf("\tCreation time: %lld\n", ctx->header.creationTime); printf("\tCreation time: %lld\n", ctx->header.creationTime);
printf("\tLast written time: %lld\n", ctx->header.lastWrittenTime); printf("\tLast written time: %lld\n", ctx->header.lastWrittenTime);
@@ -427,7 +427,7 @@ int info(const char *path)
printf("\tMedia serial number: %s\n", ctx->imageInfo.MediaSerialNumber); printf("\tMedia serial number: %s\n", ctx->imageInfo.MediaSerialNumber);
if(ctx->imageInfo.MediaBarcode != NULL) printf("\tMedia barcode: %s\n", ctx->imageInfo.MediaBarcode); if(ctx->imageInfo.MediaBarcode != NULL) printf("\tMedia barcode: %s\n", ctx->imageInfo.MediaBarcode);
if(ctx->imageInfo.MediaPartNumber != NULL) printf("\tMedia part number: %s\n", ctx->imageInfo.MediaPartNumber); if(ctx->imageInfo.MediaPartNumber != NULL) printf("\tMedia part number: %s\n", ctx->imageInfo.MediaPartNumber);
printf("\tMedia type: %u\n", ctx->imageInfo.MediaType); printf("\tMedia type: %u (%s)\n", ctx->imageInfo.MediaType, media_type_to_string(ctx->imageInfo.MediaType));
if(ctx->imageInfo.MediaSequence > 0 || ctx->imageInfo.LastMediaSequence > 0) if(ctx->imageInfo.MediaSequence > 0 || ctx->imageInfo.LastMediaSequence > 0)
printf("\tMedia is number %d in a set of %d media\n", ctx->imageInfo.MediaSequence, printf("\tMedia is number %d in a set of %d media\n", ctx->imageInfo.MediaSequence,