94int32_t
aaruf_get_geometry(
const void *context, uint32_t *cylinders, uint32_t *heads, uint32_t *sectors_per_track)
96 TRACE(
"Entering aaruf_get_geometry(%p, %p, %p, %p)", context, cylinders, heads, sectors_per_track);
102 FATAL(
"Invalid context");
104 TRACE(
"Exiting aaruf_get_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
113 FATAL(
"Invalid context");
115 TRACE(
"Exiting aaruf_get_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
121 FATAL(
"No geometry block present");
123 TRACE(
"Exiting aaruf_get_geometry() = AARUF_ERROR_CANNOT_READ_BLOCK");
131 TRACE(
"Exiting aaruf_get_geometry(%p, %u, %u, %u) = AARUF_STATUS_OK", context, *cylinders, *heads,
230 const uint32_t sectors_per_track)
232 TRACE(
"Entering aaruf_set_geometry(%p, %u, %u, %u)", context, cylinders, heads, sectors_per_track);
238 FATAL(
"Invalid context");
240 TRACE(
"Exiting aaruf_set_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
249 FATAL(
"Invalid context");
251 TRACE(
"Exiting aaruf_set_geometry() = AARUF_ERROR_NOT_AARUFORMAT");
258 FATAL(
"Trying to write a read-only image");
260 TRACE(
"Exiting aaruf_write_sector() = AARUF_READ_ONLY");
272 TRACE(
"Exiting aaruf_set_geometry(%p, %u, %u, %u) = AARUF_STATUS_OK", context, cylinders, heads, sectors_per_track);
365 TRACE(
"Entering aaruf_set_media_sequence(%p, %d, %d)", context, sequence, last_sequence);
370 FATAL(
"Invalid context");
372 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
381 FATAL(
"Invalid context");
383 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
390 FATAL(
"Trying to write a read-only image");
392 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_READ_ONLY");
402 TRACE(
"Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK", context, sequence, last_sequence);
495 TRACE(
"Entering aaruf_set_creator(%p, %p, %d)", context, data, length);
500 FATAL(
"Invalid context");
502 TRACE(
"Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT");
511 FATAL(
"Invalid context");
513 TRACE(
"Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT");
520 FATAL(
"Trying to write a read-only image");
522 TRACE(
"Exiting aaruf_set_creator() = AARUF_READ_ONLY");
530 uint8_t *copy = malloc(length);
533 FATAL(
"Could not allocate memory for creator");
538 memcpy(copy, data, length);
543 TRACE(
"Exiting aaruf_set_creator(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
609 TRACE(
"Entering aaruf_set_comments(%p, %p, %d)", context, data, length);
614 FATAL(
"Invalid context");
616 TRACE(
"Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT");
625 FATAL(
"Invalid context");
627 TRACE(
"Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT");
634 FATAL(
"Trying to write a read-only image");
636 TRACE(
"Exiting aaruf_set_comments() = AARUF_READ_ONLY");
644 uint8_t *copy = malloc(length);
647 FATAL(
"Could not allocate memory for comments");
652 memcpy(copy, data, length);
657 TRACE(
"Exiting aaruf_set_comments(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
722 TRACE(
"Entering aaruf_set_media_title(%p, %p, %d)", context, data, length);
727 FATAL(
"Invalid context");
729 TRACE(
"Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
738 FATAL(
"Invalid context");
740 TRACE(
"Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
747 FATAL(
"Trying to write a read-only image");
749 TRACE(
"Exiting aaruf_set_media_title() = AARUF_READ_ONLY");
757 uint8_t *copy = malloc(length);
760 FATAL(
"Could not allocate memory for media title");
765 memcpy(copy, data, length);
770 TRACE(
"Exiting aaruf_set_media_title(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
834 TRACE(
"Entering aaruf_set_media_manufacturer(%p, %p, %d)", context, data, length);
839 FATAL(
"Invalid context");
841 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
850 FATAL(
"Invalid context");
852 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
859 FATAL(
"Trying to write a read-only image");
861 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_READ_ONLY");
869 uint8_t *copy = malloc(length);
872 FATAL(
"Could not allocate memory for media manufacturer");
877 memcpy(copy, data, length);
882 TRACE(
"Exiting aaruf_set_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
941 TRACE(
"Entering aaruf_set_media_model(%p, %p, %d)", context, data, length);
946 FATAL(
"Invalid context");
948 TRACE(
"Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
957 FATAL(
"Invalid context");
959 TRACE(
"Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
966 FATAL(
"Trying to write a read-only image");
968 TRACE(
"Exiting aaruf_set_media_model() = AARUF_READ_ONLY");
976 uint8_t *copy = malloc(length);
979 FATAL(
"Could not allocate memory for media model");
984 memcpy(copy, data, length);
989 TRACE(
"Exiting aaruf_set_media_model(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1056 TRACE(
"Entering aaruf_set_media_serial_number(%p, %p, %d)", context, data, length);
1061 FATAL(
"Invalid context");
1063 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1072 FATAL(
"Invalid context");
1074 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1081 FATAL(
"Trying to write a read-only image");
1083 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_READ_ONLY");
1091 uint8_t *copy = malloc(length);
1094 FATAL(
"Could not allocate memory for media serial number");
1099 memcpy(copy, data, length);
1104 TRACE(
"Exiting aaruf_set_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1178 TRACE(
"Entering aaruf_set_media_barcode(%p, %p, %d)", context, data, length);
1183 FATAL(
"Invalid context");
1185 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
1194 FATAL(
"Invalid context");
1196 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
1203 FATAL(
"Trying to write a read-only image");
1205 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_READ_ONLY");
1213 uint8_t *copy = malloc(length);
1216 FATAL(
"Could not allocate memory for media barcode");
1221 memcpy(copy, data, length);
1226 TRACE(
"Exiting aaruf_set_media_barcode(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1299 TRACE(
"Entering aaruf_set_media_part_number(%p, %p, %d)", context, data, length);
1304 FATAL(
"Invalid context");
1306 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
1315 FATAL(
"Invalid context");
1317 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
1324 FATAL(
"Trying to write a read-only image");
1326 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_READ_ONLY");
1334 uint8_t *copy = malloc(length);
1337 FATAL(
"Could not allocate memory for creator");
1342 memcpy(copy, data, length);
1347 TRACE(
"Exiting aaruf_set_media_part_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1414 TRACE(
"Entering aaruf_set_drive_manufacturer(%p, %p, %d)", context, data, length);
1419 FATAL(
"Invalid context");
1421 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
1430 FATAL(
"Invalid context");
1432 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
1439 FATAL(
"Trying to write a read-only image");
1441 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_READ_ONLY");
1449 uint8_t *copy = malloc(length);
1452 FATAL(
"Could not allocate memory for drive manufacturer");
1457 memcpy(copy, data, length);
1462 TRACE(
"Exiting aaruf_set_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1536 TRACE(
"Entering aaruf_set_drive_model(%p, %p, %d)", context, data, length);
1541 FATAL(
"Invalid context");
1543 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
1552 FATAL(
"Invalid context");
1554 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
1561 FATAL(
"Trying to write a read-only image");
1563 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_READ_ONLY");
1571 uint8_t *copy = malloc(length);
1574 FATAL(
"Could not allocate memory for media model");
1579 memcpy(copy, data, length);
1584 TRACE(
"Exiting aaruf_set_drive_model(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1660 TRACE(
"Entering aaruf_set_drive_serial_number(%p, %p, %d)", context, data, length);
1665 FATAL(
"Invalid context");
1667 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1676 FATAL(
"Invalid context");
1678 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1685 FATAL(
"Trying to write a read-only image");
1687 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_READ_ONLY");
1695 uint8_t *copy = malloc(length);
1698 FATAL(
"Could not allocate memory for drive serial number");
1703 memcpy(copy, data, length);
1708 TRACE(
"Exiting aaruf_set_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1795 TRACE(
"Entering aaruf_set_drive_firmware_revision(%p, %p, %d)", context, data, length);
1800 FATAL(
"Invalid context");
1802 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
1811 FATAL(
"Invalid context");
1813 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
1820 FATAL(
"Trying to write a read-only image");
1822 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_READ_ONLY");
1830 uint8_t *copy = malloc(length);
1833 FATAL(
"Could not allocate memory for creator");
1838 memcpy(copy, data, length);
1843 TRACE(
"Exiting aaruf_set_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1946 TRACE(
"Entering aaruf_get_cicm_metadata(%p, %p, %p)", context, buffer, length);
1951 FATAL(
"Invalid context");
1953 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
1962 FATAL(
"Invalid context");
1964 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
1970 TRACE(
"No CICM XML metadata present");
1973 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_CANNOT_READ_BLOCK");
1977 if(*length < ctx->cicm_block_header.length)
1982 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_BUFFER_TOO_SMALL");
1989 TRACE(
"CICM XML metadata read successfully, length %u", *length);
1990 TRACE(
"Exiting aaruf_get_cicm_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2101 TRACE(
"Entering aaruf_get_aaru_json_metadata(%p, %p, %p)", context, buffer, length);
2106 FATAL(
"Invalid context");
2108 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2117 FATAL(
"Invalid context");
2119 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2126 TRACE(
"No Aaru metadata JSON present");
2129 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_CANNOT_READ_BLOCK");
2133 if(*length < ctx->json_block_header.length)
2138 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_BUFFER_TOO_SMALL");
2145 TRACE(
"Aaru metadata JSON read successfully, length %u", *length);
2146 TRACE(
"Exiting aaruf_get_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2260 TRACE(
"Entering aaruf_set_aaru_json_metadata(%p, %p, %d)", context, data, length);
2265 FATAL(
"Invalid context");
2267 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2276 FATAL(
"Invalid context");
2278 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2285 FATAL(
"Trying to write a read-only image");
2287 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_READ_ONLY");
2292 uint8_t *copy = malloc(length);
2295 FATAL(
"Could not allocate memory for Aaru metadata JSON");
2300 memcpy(copy, data, length);
2306 TRACE(
"Exiting aaruf_set_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
2339 TRACE(
"Entering aaruf_get_media_sequence(%p, %p, %p)", context, sequence, last_sequence);
2344 FATAL(
"Invalid context");
2346 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
2355 FATAL(
"Invalid context");
2357 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
2363 FATAL(
"No metadata block present");
2365 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_METADATA_NOT_PRESENT");
2372 TRACE(
"Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK", context, *sequence, *last_sequence);
2406 TRACE(
"Entering aaruf_get_creator(%p, %p, %p)", context, buffer, length);
2411 FATAL(
"Invalid context");
2413 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_NOT_AARUFORMAT");
2422 FATAL(
"Invalid context");
2424 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_NOT_AARUFORMAT");
2431 FATAL(
"No metadata block present");
2433 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_METADATA_NOT_PRESENT");
2437 if(buffer == NULL || *length < ctx->metadata_block_header.creatorLength)
2441 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_BUFFER_TOO_SMALL");
2449 TRACE(
"Exiting aaruf_get_creator(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2478 TRACE(
"Entering aaruf_get_comments(%p, %p, %p)", context, buffer, length);
2483 FATAL(
"Invalid context");
2485 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_NOT_AARUFORMAT");
2494 FATAL(
"Invalid context");
2496 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_NOT_AARUFORMAT");
2503 FATAL(
"No metadata block present");
2505 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_METADATA_NOT_PRESENT");
2509 if(buffer == NULL || *length < ctx->metadata_block_header.commentsLength)
2513 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_BUFFER_TOO_SMALL");
2521 TRACE(
"Exiting aaruf_get_comments(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2548 TRACE(
"Entering aaruf_get_media_title(%p, %p, %p)", context, buffer, length);
2553 FATAL(
"Invalid context");
2555 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
2564 FATAL(
"Invalid context");
2566 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
2573 FATAL(
"No metadata block present");
2575 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_METADATA_NOT_PRESENT");
2579 if(buffer == NULL || *length < ctx->metadata_block_header.mediaTitleLength)
2583 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_BUFFER_TOO_SMALL");
2591 TRACE(
"Exiting aaruf_get_media_title(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2618 TRACE(
"Entering aaruf_get_media_manufacturer(%p, %p, %p)", context, buffer, length);
2623 FATAL(
"Invalid context");
2625 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2634 FATAL(
"Invalid context");
2636 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2643 FATAL(
"No metadata block present");
2645 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_METADATA_NOT_PRESENT");
2649 if(buffer == NULL || *length < ctx->metadata_block_header.mediaManufacturerLength)
2653 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_BUFFER_TOO_SMALL");
2661 TRACE(
"Exiting aaruf_get_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2688 TRACE(
"Entering aaruf_get_media_model(%p, %p, %p)", context, buffer, length);
2693 FATAL(
"Invalid context");
2695 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
2704 FATAL(
"Invalid context");
2706 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
2713 FATAL(
"No metadata block present");
2715 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_METADATA_NOT_PRESENT");
2719 if(buffer == NULL || *length < ctx->metadata_block_header.mediaModelLength)
2723 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_BUFFER_TOO_SMALL");
2731 TRACE(
"Exiting aaruf_get_media_model(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2758 TRACE(
"Entering aaruf_get_media_serial_number(%p, %p, %p)", context, buffer, length);
2763 FATAL(
"Invalid context");
2765 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
2774 FATAL(
"Invalid context");
2776 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
2783 FATAL(
"No metadata block present");
2785 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
2789 if(buffer == NULL || *length < ctx->metadata_block_header.mediaSerialNumberLength)
2793 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
2801 TRACE(
"Exiting aaruf_get_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2827 TRACE(
"Entering aaruf_get_media_barcode(%p, %p, %p)", context, buffer, length);
2832 FATAL(
"Invalid context");
2834 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
2843 FATAL(
"Invalid context");
2845 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
2852 FATAL(
"No metadata block present");
2854 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_METADATA_NOT_PRESENT");
2858 if(buffer == NULL || *length < ctx->metadata_block_header.mediaBarcodeLength)
2862 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_BUFFER_TOO_SMALL");
2870 TRACE(
"Exiting aaruf_get_media_barcode(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2898 TRACE(
"Entering aaruf_get_media_part_number(%p, %p, %p)", context, buffer, length);
2903 FATAL(
"Invalid context");
2905 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
2914 FATAL(
"Invalid context");
2916 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
2923 FATAL(
"No metadata block present");
2925 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
2929 if(buffer == NULL || *length < ctx->metadata_block_header.mediaPartNumberLength)
2933 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
2941 TRACE(
"Exiting aaruf_get_media_part_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2970 TRACE(
"Entering aaruf_get_drive_manufacturer(%p, %p, %p)", context, buffer, length);
2975 FATAL(
"Invalid context");
2977 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2986 FATAL(
"Invalid context");
2988 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2995 FATAL(
"No metadata block present");
2997 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_METADATA_NOT_PRESENT");
3001 if(buffer == NULL || *length < ctx->metadata_block_header.driveManufacturerLength)
3005 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_BUFFER_TOO_SMALL");
3013 TRACE(
"Exiting aaruf_get_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3040 TRACE(
"Entering aaruf_get_drive_model(%p, %p, %p)", context, buffer, length);
3045 FATAL(
"Invalid context");
3047 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
3056 FATAL(
"Invalid context");
3058 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
3065 FATAL(
"No metadata block present");
3067 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_METADATA_NOT_PRESENT");
3071 if(buffer == NULL || *length < ctx->metadata_block_header.driveModelLength)
3075 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_BUFFER_TOO_SMALL");
3083 TRACE(
"Exiting aaruf_get_drive_model(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3110 TRACE(
"Entering aaruf_get_drive_serial_number(%p, %p, %p)", context, buffer, length);
3115 FATAL(
"Invalid context");
3117 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
3126 FATAL(
"Invalid context");
3128 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
3135 FATAL(
"No metadata block present");
3137 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
3141 if(buffer == NULL || *length < ctx->metadata_block_header.driveSerialNumberLength)
3145 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
3153 TRACE(
"Exiting aaruf_get_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3180 TRACE(
"Entering aaruf_get_drive_firmware_revision(%p, %p, %p)", context, buffer, length);
3185 FATAL(
"Invalid context");
3187 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
3196 FATAL(
"Invalid context");
3198 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
3205 FATAL(
"No metadata block present");
3207 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_METADATA_NOT_PRESENT");
3211 if(buffer == NULL || *length < ctx->metadata_block_header.driveFirmwareRevisionLength)
3215 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_BUFFER_TOO_SMALL");
3223 TRACE(
"Exiting aaruf_get_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3294 TRACE(
"Entering aaruf_get_user_sectors(%p, %p)", context, sectors);
3299 FATAL(
"Invalid context");
3301 TRACE(
"Exiting aaruf_get_user_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3310 FATAL(
"Invalid context");
3312 TRACE(
"Exiting aaruf_get_user_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3318 TRACE(
"Exiting aaruf_get_user_sectors(%p, %llu) = AARUF_STATUS_OK", context, *sectors);
3419 TRACE(
"Entering aaruf_get_negative_sectors(%p, %p)", context, sectors);
3424 FATAL(
"Invalid context");
3426 TRACE(
"Exiting aaruf_get_negative_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3435 FATAL(
"Invalid context");
3437 TRACE(
"Exiting aaruf_get_negative_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3443 TRACE(
"Exiting aaruf_get_negative_sectors(%p, %u) = AARUF_STATUS_OK", context, *sectors);
3554 TRACE(
"Entering aaruf_get_overflow_sectors(%p, %p)", context, sectors);
3559 FATAL(
"Invalid context");
3561 TRACE(
"Exiting aaruf_get_overflow_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3570 FATAL(
"Invalid context");
3572 TRACE(
"Exiting aaruf_get_overflow_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3578 TRACE(
"Exiting aaruf_get_overflow_sectors(%p, %u) = AARUF_STATUS_OK", context, *sectors);
3636 TRACE(
"Entering aaruf_get_image_info(%p, %p)", context, image_info);
3641 FATAL(
"Invalid context");
3643 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_NOT_AARUFORMAT");
3652 FATAL(
"Invalid context");
3654 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_NOT_AARUFORMAT");
3658 if(image_info == NULL)
3660 FATAL(
"image_info parameter is NULL");
3662 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_INCORRECT_DATA_SIZE");
3669 TRACE(
"Exiting aaruf_get_image_info() = 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.