95 uint32_t *sectors_per_track)
97 TRACE(
"Entering aaruf_get_geometry(%p, %p, %p, %p)", context, cylinders, heads, sectors_per_track);
103 FATAL(
"Invalid context");
105 TRACE(
"Exiting aaruf_get_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
114 FATAL(
"Invalid context");
116 TRACE(
"Exiting aaruf_get_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
122 FATAL(
"No geometry block present");
124 TRACE(
"Exiting aaruf_get_geometry() = AARUF_ERROR_CANNOT_READ_BLOCK");
132 TRACE(
"Exiting aaruf_get_geometry(%p, %u, %u, %u) = AARUF_STATUS_OK", context, *cylinders, *heads,
231 const uint32_t sectors_per_track)
233 TRACE(
"Entering aaruf_set_geometry(%p, %u, %u, %u)", context, cylinders, heads, sectors_per_track);
239 FATAL(
"Invalid context");
241 TRACE(
"Exiting aaruf_set_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
250 FATAL(
"Invalid context");
252 TRACE(
"Exiting aaruf_set_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
259 FATAL(
"Trying to write a read-only image");
261 TRACE(
"Exiting aaruf_write_sector() = AARUF_READ_ONLY");
273 TRACE(
"Exiting aaruf_set_geometry(%p, %u, %u, %u) = AARUF_STATUS_OK", context, cylinders, heads, sectors_per_track);
365 const int32_t last_sequence)
367 TRACE(
"Entering aaruf_set_media_sequence(%p, %d, %d)", context, sequence, last_sequence);
372 FATAL(
"Invalid context");
374 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
383 FATAL(
"Invalid context");
385 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
392 FATAL(
"Trying to write a read-only image");
394 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_READ_ONLY");
404 TRACE(
"Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK", context, sequence, last_sequence);
497 TRACE(
"Entering aaruf_set_creator(%p, %p, %d)", context, data, length);
502 FATAL(
"Invalid context");
504 TRACE(
"Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT");
513 FATAL(
"Invalid context");
515 TRACE(
"Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT");
522 FATAL(
"Trying to write a read-only image");
524 TRACE(
"Exiting aaruf_set_creator() = AARUF_READ_ONLY");
532 uint8_t *copy = malloc(length);
535 FATAL(
"Could not allocate memory for creator");
540 memcpy(copy, data, length);
545 TRACE(
"Exiting aaruf_set_creator(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
611 TRACE(
"Entering aaruf_set_comments(%p, %p, %d)", context, data, length);
616 FATAL(
"Invalid context");
618 TRACE(
"Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT");
627 FATAL(
"Invalid context");
629 TRACE(
"Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT");
636 FATAL(
"Trying to write a read-only image");
638 TRACE(
"Exiting aaruf_set_comments() = AARUF_READ_ONLY");
646 uint8_t *copy = malloc(length);
649 FATAL(
"Could not allocate memory for comments");
654 memcpy(copy, data, length);
659 TRACE(
"Exiting aaruf_set_comments(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
724 TRACE(
"Entering aaruf_set_media_title(%p, %p, %d)", context, data, length);
729 FATAL(
"Invalid context");
731 TRACE(
"Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
740 FATAL(
"Invalid context");
742 TRACE(
"Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
749 FATAL(
"Trying to write a read-only image");
751 TRACE(
"Exiting aaruf_set_media_title() = AARUF_READ_ONLY");
759 uint8_t *copy = malloc(length);
762 FATAL(
"Could not allocate memory for media title");
767 memcpy(copy, data, length);
772 TRACE(
"Exiting aaruf_set_media_title(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
836 TRACE(
"Entering aaruf_set_media_manufacturer(%p, %p, %d)", context, data, length);
841 FATAL(
"Invalid context");
843 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
852 FATAL(
"Invalid context");
854 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
861 FATAL(
"Trying to write a read-only image");
863 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_READ_ONLY");
871 uint8_t *copy = malloc(length);
874 FATAL(
"Could not allocate memory for media manufacturer");
879 memcpy(copy, data, length);
884 TRACE(
"Exiting aaruf_set_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
943 TRACE(
"Entering aaruf_set_media_model(%p, %p, %d)", context, data, length);
948 FATAL(
"Invalid context");
950 TRACE(
"Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
959 FATAL(
"Invalid context");
961 TRACE(
"Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
968 FATAL(
"Trying to write a read-only image");
970 TRACE(
"Exiting aaruf_set_media_model() = AARUF_READ_ONLY");
978 uint8_t *copy = malloc(length);
981 FATAL(
"Could not allocate memory for media model");
986 memcpy(copy, data, length);
991 TRACE(
"Exiting aaruf_set_media_model(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1058 TRACE(
"Entering aaruf_set_media_serial_number(%p, %p, %d)", context, data, length);
1063 FATAL(
"Invalid context");
1065 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1074 FATAL(
"Invalid context");
1076 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1083 FATAL(
"Trying to write a read-only image");
1085 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_READ_ONLY");
1093 uint8_t *copy = malloc(length);
1096 FATAL(
"Could not allocate memory for media serial number");
1101 memcpy(copy, data, length);
1106 TRACE(
"Exiting aaruf_set_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1180 TRACE(
"Entering aaruf_set_media_barcode(%p, %p, %d)", context, data, length);
1185 FATAL(
"Invalid context");
1187 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
1196 FATAL(
"Invalid context");
1198 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
1205 FATAL(
"Trying to write a read-only image");
1207 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_READ_ONLY");
1215 uint8_t *copy = malloc(length);
1218 FATAL(
"Could not allocate memory for media barcode");
1223 memcpy(copy, data, length);
1228 TRACE(
"Exiting aaruf_set_media_barcode(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1301 TRACE(
"Entering aaruf_set_media_part_number(%p, %p, %d)", context, data, length);
1306 FATAL(
"Invalid context");
1308 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
1317 FATAL(
"Invalid context");
1319 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
1326 FATAL(
"Trying to write a read-only image");
1328 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_READ_ONLY");
1336 uint8_t *copy = malloc(length);
1339 FATAL(
"Could not allocate memory for creator");
1344 memcpy(copy, data, length);
1349 TRACE(
"Exiting aaruf_set_media_part_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1416 TRACE(
"Entering aaruf_set_drive_manufacturer(%p, %p, %d)", context, data, length);
1421 FATAL(
"Invalid context");
1423 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
1432 FATAL(
"Invalid context");
1434 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
1441 FATAL(
"Trying to write a read-only image");
1443 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_READ_ONLY");
1451 uint8_t *copy = malloc(length);
1454 FATAL(
"Could not allocate memory for drive manufacturer");
1459 memcpy(copy, data, length);
1464 TRACE(
"Exiting aaruf_set_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1538 TRACE(
"Entering aaruf_set_drive_model(%p, %p, %d)", context, data, length);
1543 FATAL(
"Invalid context");
1545 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
1554 FATAL(
"Invalid context");
1556 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
1563 FATAL(
"Trying to write a read-only image");
1565 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_READ_ONLY");
1573 uint8_t *copy = malloc(length);
1576 FATAL(
"Could not allocate memory for media model");
1581 memcpy(copy, data, length);
1586 TRACE(
"Exiting aaruf_set_drive_model(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1662 TRACE(
"Entering aaruf_set_drive_serial_number(%p, %p, %d)", context, data, length);
1667 FATAL(
"Invalid context");
1669 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1678 FATAL(
"Invalid context");
1680 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1687 FATAL(
"Trying to write a read-only image");
1689 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_READ_ONLY");
1697 uint8_t *copy = malloc(length);
1700 FATAL(
"Could not allocate memory for drive serial number");
1705 memcpy(copy, data, length);
1710 TRACE(
"Exiting aaruf_set_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1796 const int32_t length)
1798 TRACE(
"Entering aaruf_set_drive_firmware_revision(%p, %p, %d)", context, data, length);
1803 FATAL(
"Invalid context");
1805 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
1814 FATAL(
"Invalid context");
1816 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
1823 FATAL(
"Trying to write a read-only image");
1825 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_READ_ONLY");
1833 uint8_t *copy = malloc(length);
1836 FATAL(
"Could not allocate memory for creator");
1841 memcpy(copy, data, length);
1846 TRACE(
"Exiting aaruf_set_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1949 TRACE(
"Entering aaruf_get_cicm_metadata(%p, %p, %p)", context, buffer, length);
1954 FATAL(
"Invalid context");
1956 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
1965 FATAL(
"Invalid context");
1967 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
1973 TRACE(
"No CICM XML metadata present");
1976 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_CANNOT_READ_BLOCK");
1980 if(*length < ctx->cicm_block_header.length)
1985 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_BUFFER_TOO_SMALL");
1992 TRACE(
"CICM XML metadata read successfully, length %u", *length);
1993 TRACE(
"Exiting aaruf_get_cicm_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2104 TRACE(
"Entering aaruf_get_aaru_json_metadata(%p, %p, %p)", context, buffer, length);
2109 FATAL(
"Invalid context");
2111 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2120 FATAL(
"Invalid context");
2122 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2129 TRACE(
"No Aaru metadata JSON present");
2132 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_CANNOT_READ_BLOCK");
2136 if(*length < ctx->json_block_header.length)
2141 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_BUFFER_TOO_SMALL");
2148 TRACE(
"Aaru metadata JSON read successfully, length %u", *length);
2149 TRACE(
"Exiting aaruf_get_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2263 TRACE(
"Entering aaruf_set_aaru_json_metadata(%p, %p, %d)", context, data, length);
2268 FATAL(
"Invalid context");
2270 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2279 FATAL(
"Invalid context");
2281 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2288 FATAL(
"Trying to write a read-only image");
2290 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_READ_ONLY");
2295 uint8_t *copy = malloc(length);
2298 FATAL(
"Could not allocate memory for Aaru metadata JSON");
2303 memcpy(copy, data, length);
2309 TRACE(
"Exiting aaruf_set_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
2342 TRACE(
"Entering aaruf_get_media_sequence(%p, %p, %p)", context, sequence, last_sequence);
2347 FATAL(
"Invalid context");
2349 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
2358 FATAL(
"Invalid context");
2360 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
2366 FATAL(
"No metadata block present");
2368 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_METADATA_NOT_PRESENT");
2375 TRACE(
"Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK", context, *sequence, *last_sequence);
2409 TRACE(
"Entering aaruf_get_creator(%p, %p, %p)", context, buffer, length);
2414 FATAL(
"Invalid context");
2416 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_NOT_AARUFORMAT");
2425 FATAL(
"Invalid context");
2427 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_NOT_AARUFORMAT");
2434 FATAL(
"No metadata block present");
2436 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_METADATA_NOT_PRESENT");
2440 if(buffer == NULL || *length < ctx->metadata_block_header.creatorLength)
2444 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_BUFFER_TOO_SMALL");
2452 TRACE(
"Exiting aaruf_get_creator(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2481 TRACE(
"Entering aaruf_get_comments(%p, %p, %p)", context, buffer, length);
2486 FATAL(
"Invalid context");
2488 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_NOT_AARUFORMAT");
2497 FATAL(
"Invalid context");
2499 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_NOT_AARUFORMAT");
2506 FATAL(
"No metadata block present");
2508 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_METADATA_NOT_PRESENT");
2512 if(buffer == NULL || *length < ctx->metadata_block_header.commentsLength)
2516 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_BUFFER_TOO_SMALL");
2524 TRACE(
"Exiting aaruf_get_comments(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2551 TRACE(
"Entering aaruf_get_media_title(%p, %p, %p)", context, buffer, length);
2556 FATAL(
"Invalid context");
2558 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
2567 FATAL(
"Invalid context");
2569 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
2576 FATAL(
"No metadata block present");
2578 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_METADATA_NOT_PRESENT");
2582 if(buffer == NULL || *length < ctx->metadata_block_header.mediaTitleLength)
2586 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_BUFFER_TOO_SMALL");
2594 TRACE(
"Exiting aaruf_get_media_title(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2621 TRACE(
"Entering aaruf_get_media_manufacturer(%p, %p, %p)", context, buffer, length);
2626 FATAL(
"Invalid context");
2628 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2637 FATAL(
"Invalid context");
2639 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2646 FATAL(
"No metadata block present");
2648 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_METADATA_NOT_PRESENT");
2652 if(buffer == NULL || *length < ctx->metadata_block_header.mediaManufacturerLength)
2656 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_BUFFER_TOO_SMALL");
2664 TRACE(
"Exiting aaruf_get_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2691 TRACE(
"Entering aaruf_get_media_model(%p, %p, %p)", context, buffer, length);
2696 FATAL(
"Invalid context");
2698 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
2707 FATAL(
"Invalid context");
2709 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
2716 FATAL(
"No metadata block present");
2718 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_METADATA_NOT_PRESENT");
2722 if(buffer == NULL || *length < ctx->metadata_block_header.mediaModelLength)
2726 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_BUFFER_TOO_SMALL");
2734 TRACE(
"Exiting aaruf_get_media_model(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2761 TRACE(
"Entering aaruf_get_media_serial_number(%p, %p, %p)", context, buffer, length);
2766 FATAL(
"Invalid context");
2768 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
2777 FATAL(
"Invalid context");
2779 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
2786 FATAL(
"No metadata block present");
2788 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
2792 if(buffer == NULL || *length < ctx->metadata_block_header.mediaSerialNumberLength)
2796 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
2804 TRACE(
"Exiting aaruf_get_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2830 TRACE(
"Entering aaruf_get_media_barcode(%p, %p, %p)", context, buffer, length);
2835 FATAL(
"Invalid context");
2837 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
2846 FATAL(
"Invalid context");
2848 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
2855 FATAL(
"No metadata block present");
2857 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_METADATA_NOT_PRESENT");
2861 if(buffer == NULL || *length < ctx->metadata_block_header.mediaBarcodeLength)
2865 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_BUFFER_TOO_SMALL");
2873 TRACE(
"Exiting aaruf_get_media_barcode(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2901 TRACE(
"Entering aaruf_get_media_part_number(%p, %p, %p)", context, buffer, length);
2906 FATAL(
"Invalid context");
2908 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
2917 FATAL(
"Invalid context");
2919 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
2926 FATAL(
"No metadata block present");
2928 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
2932 if(buffer == NULL || *length < ctx->metadata_block_header.mediaPartNumberLength)
2936 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
2944 TRACE(
"Exiting aaruf_get_media_part_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2973 TRACE(
"Entering aaruf_get_drive_manufacturer(%p, %p, %p)", context, buffer, length);
2978 FATAL(
"Invalid context");
2980 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2989 FATAL(
"Invalid context");
2991 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2998 FATAL(
"No metadata block present");
3000 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_METADATA_NOT_PRESENT");
3004 if(buffer == NULL || *length < ctx->metadata_block_header.driveManufacturerLength)
3008 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_BUFFER_TOO_SMALL");
3016 TRACE(
"Exiting aaruf_get_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3043 TRACE(
"Entering aaruf_get_drive_model(%p, %p, %p)", context, buffer, length);
3048 FATAL(
"Invalid context");
3050 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
3059 FATAL(
"Invalid context");
3061 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
3068 FATAL(
"No metadata block present");
3070 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_METADATA_NOT_PRESENT");
3074 if(buffer == NULL || *length < ctx->metadata_block_header.driveModelLength)
3078 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_BUFFER_TOO_SMALL");
3086 TRACE(
"Exiting aaruf_get_drive_model(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3113 TRACE(
"Entering aaruf_get_drive_serial_number(%p, %p, %p)", context, buffer, length);
3118 FATAL(
"Invalid context");
3120 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
3129 FATAL(
"Invalid context");
3131 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
3138 FATAL(
"No metadata block present");
3140 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
3144 if(buffer == NULL || *length < ctx->metadata_block_header.driveSerialNumberLength)
3148 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
3156 TRACE(
"Exiting aaruf_get_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3183 TRACE(
"Entering aaruf_get_drive_firmware_revision(%p, %p, %p)", context, buffer, length);
3188 FATAL(
"Invalid context");
3190 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
3199 FATAL(
"Invalid context");
3201 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
3208 FATAL(
"No metadata block present");
3210 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_METADATA_NOT_PRESENT");
3214 if(buffer == NULL || *length < ctx->metadata_block_header.driveFirmwareRevisionLength)
3218 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_BUFFER_TOO_SMALL");
3226 TRACE(
"Exiting aaruf_get_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3297 TRACE(
"Entering aaruf_get_user_sectors(%p, %p)", context, sectors);
3302 FATAL(
"Invalid context");
3304 TRACE(
"Exiting aaruf_get_user_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3313 FATAL(
"Invalid context");
3315 TRACE(
"Exiting aaruf_get_user_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3321 TRACE(
"Exiting aaruf_get_user_sectors(%p, %llu) = AARUF_STATUS_OK", context, *sectors);
3422 TRACE(
"Entering aaruf_get_negative_sectors(%p, %p)", context, sectors);
3427 FATAL(
"Invalid context");
3429 TRACE(
"Exiting aaruf_get_negative_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3438 FATAL(
"Invalid context");
3440 TRACE(
"Exiting aaruf_get_negative_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3446 TRACE(
"Exiting aaruf_get_negative_sectors(%p, %u) = AARUF_STATUS_OK", context, *sectors);
3557 TRACE(
"Entering aaruf_get_overflow_sectors(%p, %p)", context, sectors);
3562 FATAL(
"Invalid context");
3564 TRACE(
"Exiting aaruf_get_overflow_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3573 FATAL(
"Invalid context");
3575 TRACE(
"Exiting aaruf_get_overflow_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3581 TRACE(
"Exiting aaruf_get_overflow_sectors(%p, %u) = AARUF_STATUS_OK", context, *sectors);
3639 TRACE(
"Entering aaruf_get_image_info(%p, %p)", context, image_info);
3644 FATAL(
"Invalid context");
3646 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_NOT_AARUFORMAT");
3655 FATAL(
"Invalid context");
3657 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_NOT_AARUFORMAT");
3661 if(image_info == NULL)
3663 FATAL(
"image_info parameter is NULL");
3665 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_INCORRECT_DATA_SIZE");
3672 TRACE(
"Exiting aaruf_get_image_info() = AARUF_STATUS_OK");
3745 TRACE(
"Entering aaruf_clear_media_sequence(%p)", context);
3750 FATAL(
"Invalid context");
3752 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
3761 FATAL(
"Invalid context");
3763 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
3770 FATAL(
"Trying to write a read-only image");
3772 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_READ_ONLY");
3778 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_STATUS_OK");
3795 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_STATUS_OK");
3876 TRACE(
"Entering aaruf_clear_creator(%p)", context);
3881 FATAL(
"Invalid context");
3883 TRACE(
"Exiting aaruf_clear_creator() = AARUF_ERROR_NOT_AARUFORMAT");
3892 FATAL(
"Invalid context");
3894 TRACE(
"Exiting aaruf_clear_creator() = AARUF_ERROR_NOT_AARUFORMAT");
3901 FATAL(
"Trying to write a read-only image");
3903 TRACE(
"Exiting aaruf_clear_creator() = AARUF_READ_ONLY");
3909 TRACE(
"Exiting aaruf_clear_creator() = AARUF_STATUS_OK");
3929 TRACE(
"Exiting aaruf_clear_creator() = AARUF_STATUS_OK");
4005 TRACE(
"Entering aaruf_clear_comments(%p)", context);
4010 FATAL(
"Invalid context");
4012 TRACE(
"Exiting aaruf_clear_comments() = AARUF_ERROR_NOT_AARUFORMAT");
4021 FATAL(
"Invalid context");
4023 TRACE(
"Exiting aaruf_clear_comments() = AARUF_ERROR_NOT_AARUFORMAT");
4030 FATAL(
"Trying to write a read-only image");
4032 TRACE(
"Exiting aaruf_clear_comments() = AARUF_READ_ONLY");
4038 TRACE(
"Exiting aaruf_clear_comments() = AARUF_STATUS_OK");
4058 TRACE(
"Exiting aaruf_clear_comments() = AARUF_STATUS_OK");
4088 TRACE(
"Entering aaruf_clear_media_title(%p)", context);
4093 FATAL(
"Invalid context");
4095 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
4104 FATAL(
"Invalid context");
4106 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
4113 FATAL(
"Trying to write a read-only image");
4115 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_READ_ONLY");
4121 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_STATUS_OK");
4141 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_STATUS_OK");
4172 TRACE(
"Entering aaruf_clear_media_manufacturer(%p)", context);
4177 FATAL(
"Invalid context");
4179 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4188 FATAL(
"Invalid context");
4190 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4197 FATAL(
"Trying to write a read-only image");
4199 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_READ_ONLY");
4205 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_STATUS_OK");
4225 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_STATUS_OK");
4256 TRACE(
"Entering aaruf_clear_media_model(%p)", context);
4261 FATAL(
"Invalid context");
4263 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
4272 FATAL(
"Invalid context");
4274 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
4281 FATAL(
"Trying to write a read-only image");
4283 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_READ_ONLY");
4289 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_STATUS_OK");
4309 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_STATUS_OK");
4342 TRACE(
"Entering aaruf_clear_media_serial_number(%p)", context);
4347 FATAL(
"Invalid context");
4349 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4358 FATAL(
"Invalid context");
4360 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4367 FATAL(
"Trying to write a read-only image");
4369 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_READ_ONLY");
4375 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_STATUS_OK");
4395 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_STATUS_OK");
4428 TRACE(
"Entering aaruf_clear_media_barcode(%p)", context);
4433 FATAL(
"Invalid context");
4435 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
4444 FATAL(
"Invalid context");
4446 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
4453 FATAL(
"Trying to write a read-only image");
4455 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_READ_ONLY");
4461 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_STATUS_OK");
4481 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_STATUS_OK");
4514 TRACE(
"Entering aaruf_clear_media_part_number(%p)", context);
4519 FATAL(
"Invalid context");
4521 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
4530 FATAL(
"Invalid context");
4532 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
4539 FATAL(
"Trying to write a read-only image");
4541 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_READ_ONLY");
4547 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_STATUS_OK");
4567 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_STATUS_OK");
4600 TRACE(
"Entering aaruf_clear_drive_manufacturer(%p)", context);
4605 FATAL(
"Invalid context");
4607 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4616 FATAL(
"Invalid context");
4618 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4625 FATAL(
"Trying to write a read-only image");
4627 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_READ_ONLY");
4633 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_STATUS_OK");
4652 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_STATUS_OK");
4686 TRACE(
"Entering aaruf_clear_drive_model(%p)", context);
4691 FATAL(
"Invalid context");
4693 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
4702 FATAL(
"Invalid context");
4704 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
4711 FATAL(
"Trying to write a read-only image");
4713 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_READ_ONLY");
4719 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_STATUS_OK");
4739 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_STATUS_OK");
4775 TRACE(
"Entering aaruf_clear_drive_serial_number(%p)", context);
4780 FATAL(
"Invalid context");
4782 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4791 FATAL(
"Invalid context");
4793 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4800 FATAL(
"Trying to write a read-only image");
4802 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_READ_ONLY");
4808 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_STATUS_OK");
4827 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_STATUS_OK");
4863 TRACE(
"Entering aaruf_clear_drive_firmware_revision(%p)", context);
4868 FATAL(
"Invalid context");
4870 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
4879 FATAL(
"Invalid context");
4881 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
4888 FATAL(
"Trying to write a read-only image");
4890 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_READ_ONLY");
4896 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_STATUS_OK");
4915 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_STATUS_OK");
#define AARU_MAGIC
Magic identifier for AaruFormat container (ASCII "AARUFRMT").
@ GeometryBlock
Block containing logical geometry.
@ AaruMetadataJsonBlock
Block containing JSON version of Aaru Metadata.
@ CicmBlock
Block containing CICM XML metadata.
@ MetadataBlock
Block containing metadata.
#define AARUF_STATUS_OK
Sector present and read without uncorrectable errors.
#define AARUF_READ_ONLY
Operation requires write mode but context is read-only.
#define AARUF_ERROR_NOT_ENOUGH_MEMORY
Memory allocation failure (critical).
#define AARUF_ERROR_CANNOT_READ_BLOCK
Generic block read failure (seek/read error).
#define AARUF_ERROR_INCORRECT_DATA_SIZE
Data size does not match expected size.
#define AARUF_ERROR_METADATA_NOT_PRESENT
Requested metadata not present in image.
#define AARUF_ERROR_NOT_AARUFORMAT
Input file/stream failed magic or structural validation.
#define AARUF_ERROR_BUFFER_TOO_SMALL
Caller-supplied buffer insufficient for data.
High-level summary of an opened Aaru image containing metadata and media characteristics.
Master context representing an open or in‑creation Aaru image.
uint8_t * media_barcode
Barcode of the media represented by the image.
DdtHeader2 user_data_ddt_header
Active user data DDT v2 header (primary table meta).
uint8_t * creator
Who (person) created the image?
uint8_t * cicm_block
CICM XML payload.
uint32_t cylinders
Cylinders of the media represented by the image.
uint8_t * drive_firmware_revision
Firmware revision of the drive used to read the media represented by the image.
uint8_t * media_serial_number
Serial number of the media represented by the image.
MetadataBlockHeader metadata_block_header
Metadata block header.
uint8_t * media_model
Model of the media represented by the image.
uint8_t * drive_serial_number
Serial number of the drive used to read the media represented by the image.
uint8_t * drive_manufacturer
Manufacturer of the drive used to read the media represented by the image.
bool is_writing
True if context opened/created for writing.
CicmMetadataBlock cicm_block_header
CICM metadata header (if present).
uint8_t * drive_model
Model of the drive used to read the media represented by the image.
uint64_t magic
File magic (AARU_MAGIC) post-open.
GeometryBlockHeader geometry_block
Logical geometry block (if present).
uint8_t * json_block
JSON metadata block payload (UTF-8).
uint8_t * media_part_number
Part number of the media represented by the image.
AaruMetadataJsonBlockHeader json_block_header
JSON metadata block header (if present).
uint32_t sectors_per_track
Sectors per track of the media represented by the image (for variable image, the smallest)
uint8_t * comments
Image comments.
uint32_t heads
Heads of the media represented by the image.
ImageInfo image_info
Exposed high-level image info summary.
uint8_t * media_title
Title of the media represented by the image.
uint8_t * media_manufacturer
Manufacturer of the media represented by the image.