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");
274 TRACE(
"Exiting aaruf_set_geometry(%p, %u, %u, %u) = AARUF_STATUS_OK", context, cylinders, heads, sectors_per_track);
366 const int32_t last_sequence)
368 TRACE(
"Entering aaruf_set_media_sequence(%p, %d, %d)", context, sequence, last_sequence);
373 FATAL(
"Invalid context");
375 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
384 FATAL(
"Invalid context");
386 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
393 FATAL(
"Trying to write a read-only image");
395 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_READ_ONLY");
405 TRACE(
"Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK", context, sequence, last_sequence);
498 TRACE(
"Entering aaruf_set_creator(%p, %p, %d)", context, data, length);
503 FATAL(
"Invalid context");
505 TRACE(
"Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT");
514 FATAL(
"Invalid context");
516 TRACE(
"Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT");
523 FATAL(
"Trying to write a read-only image");
525 TRACE(
"Exiting aaruf_set_creator() = AARUF_READ_ONLY");
533 uint8_t *copy = malloc(length);
536 FATAL(
"Could not allocate memory for creator");
541 memcpy(copy, data, length);
546 TRACE(
"Exiting aaruf_set_creator(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
612 TRACE(
"Entering aaruf_set_comments(%p, %p, %d)", context, data, length);
617 FATAL(
"Invalid context");
619 TRACE(
"Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT");
628 FATAL(
"Invalid context");
630 TRACE(
"Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT");
637 FATAL(
"Trying to write a read-only image");
639 TRACE(
"Exiting aaruf_set_comments() = AARUF_READ_ONLY");
647 uint8_t *copy = malloc(length);
650 FATAL(
"Could not allocate memory for comments");
655 memcpy(copy, data, length);
660 TRACE(
"Exiting aaruf_set_comments(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
725 TRACE(
"Entering aaruf_set_media_title(%p, %p, %d)", context, data, length);
730 FATAL(
"Invalid context");
732 TRACE(
"Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
741 FATAL(
"Invalid context");
743 TRACE(
"Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
750 FATAL(
"Trying to write a read-only image");
752 TRACE(
"Exiting aaruf_set_media_title() = AARUF_READ_ONLY");
760 uint8_t *copy = malloc(length);
763 FATAL(
"Could not allocate memory for media title");
768 memcpy(copy, data, length);
774 TRACE(
"Exiting aaruf_set_media_title(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
838 TRACE(
"Entering aaruf_set_media_manufacturer(%p, %p, %d)", context, data, length);
843 FATAL(
"Invalid context");
845 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
854 FATAL(
"Invalid context");
856 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
863 FATAL(
"Trying to write a read-only image");
865 TRACE(
"Exiting aaruf_set_media_manufacturer() = AARUF_READ_ONLY");
873 uint8_t *copy = malloc(length);
876 FATAL(
"Could not allocate memory for media manufacturer");
881 memcpy(copy, data, length);
886 TRACE(
"Exiting aaruf_set_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
945 TRACE(
"Entering aaruf_set_media_model(%p, %p, %d)", context, data, length);
950 FATAL(
"Invalid context");
952 TRACE(
"Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
961 FATAL(
"Invalid context");
963 TRACE(
"Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
970 FATAL(
"Trying to write a read-only image");
972 TRACE(
"Exiting aaruf_set_media_model() = AARUF_READ_ONLY");
980 uint8_t *copy = malloc(length);
983 FATAL(
"Could not allocate memory for media model");
988 memcpy(copy, data, length);
993 TRACE(
"Exiting aaruf_set_media_model(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1060 TRACE(
"Entering aaruf_set_media_serial_number(%p, %p, %d)", context, data, length);
1065 FATAL(
"Invalid context");
1067 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1076 FATAL(
"Invalid context");
1078 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1085 FATAL(
"Trying to write a read-only image");
1087 TRACE(
"Exiting aaruf_set_media_serial_number() = AARUF_READ_ONLY");
1095 uint8_t *copy = malloc(length);
1098 FATAL(
"Could not allocate memory for media serial number");
1103 memcpy(copy, data, length);
1108 TRACE(
"Exiting aaruf_set_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1182 TRACE(
"Entering aaruf_set_media_barcode(%p, %p, %d)", context, data, length);
1187 FATAL(
"Invalid context");
1189 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
1198 FATAL(
"Invalid context");
1200 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
1207 FATAL(
"Trying to write a read-only image");
1209 TRACE(
"Exiting aaruf_set_media_barcode() = AARUF_READ_ONLY");
1217 uint8_t *copy = malloc(length);
1220 FATAL(
"Could not allocate memory for media barcode");
1225 memcpy(copy, data, length);
1230 TRACE(
"Exiting aaruf_set_media_barcode(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1303 TRACE(
"Entering aaruf_set_media_part_number(%p, %p, %d)", context, data, length);
1308 FATAL(
"Invalid context");
1310 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
1319 FATAL(
"Invalid context");
1321 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
1328 FATAL(
"Trying to write a read-only image");
1330 TRACE(
"Exiting aaruf_set_media_part_number() = AARUF_READ_ONLY");
1338 uint8_t *copy = malloc(length);
1341 FATAL(
"Could not allocate memory for creator");
1346 memcpy(copy, data, length);
1351 TRACE(
"Exiting aaruf_set_media_part_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1418 TRACE(
"Entering aaruf_set_drive_manufacturer(%p, %p, %d)", context, data, length);
1423 FATAL(
"Invalid context");
1425 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
1434 FATAL(
"Invalid context");
1436 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
1443 FATAL(
"Trying to write a read-only image");
1445 TRACE(
"Exiting aaruf_set_drive_manufacturer() = AARUF_READ_ONLY");
1453 uint8_t *copy = malloc(length);
1456 FATAL(
"Could not allocate memory for drive manufacturer");
1461 memcpy(copy, data, length);
1466 TRACE(
"Exiting aaruf_set_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1540 TRACE(
"Entering aaruf_set_drive_model(%p, %p, %d)", context, data, length);
1545 FATAL(
"Invalid context");
1547 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
1556 FATAL(
"Invalid context");
1558 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
1565 FATAL(
"Trying to write a read-only image");
1567 TRACE(
"Exiting aaruf_set_drive_model() = AARUF_READ_ONLY");
1575 uint8_t *copy = malloc(length);
1578 FATAL(
"Could not allocate memory for media model");
1583 memcpy(copy, data, length);
1588 TRACE(
"Exiting aaruf_set_drive_model(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1664 TRACE(
"Entering aaruf_set_drive_serial_number(%p, %p, %d)", context, data, length);
1669 FATAL(
"Invalid context");
1671 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1680 FATAL(
"Invalid context");
1682 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
1689 FATAL(
"Trying to write a read-only image");
1691 TRACE(
"Exiting aaruf_set_drive_serial_number() = AARUF_READ_ONLY");
1699 uint8_t *copy = malloc(length);
1702 FATAL(
"Could not allocate memory for drive serial number");
1707 memcpy(copy, data, length);
1712 TRACE(
"Exiting aaruf_set_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1798 const int32_t length)
1800 TRACE(
"Entering aaruf_set_drive_firmware_revision(%p, %p, %d)", context, data, length);
1805 FATAL(
"Invalid context");
1807 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
1816 FATAL(
"Invalid context");
1818 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
1825 FATAL(
"Trying to write a read-only image");
1827 TRACE(
"Exiting aaruf_set_drive_firmware_revision() = AARUF_READ_ONLY");
1835 uint8_t *copy = malloc(length);
1838 FATAL(
"Could not allocate memory for creator");
1843 memcpy(copy, data, length);
1848 TRACE(
"Exiting aaruf_set_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
1951 TRACE(
"Entering aaruf_get_cicm_metadata(%p, %p, %p)", context, buffer, length);
1956 FATAL(
"Invalid context");
1958 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
1967 FATAL(
"Invalid context");
1969 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
1975 TRACE(
"No CICM XML metadata present");
1978 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_CANNOT_READ_BLOCK");
1982 if(*length < ctx->cicm_block_header.length)
1987 TRACE(
"Exiting aaruf_get_cicm_metadata() = AARUF_ERROR_BUFFER_TOO_SMALL");
1994 TRACE(
"CICM XML metadata read successfully, length %u", *length);
1995 TRACE(
"Exiting aaruf_get_cicm_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2106 TRACE(
"Entering aaruf_get_aaru_json_metadata(%p, %p, %p)", context, buffer, length);
2111 FATAL(
"Invalid context");
2113 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2122 FATAL(
"Invalid context");
2124 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2131 TRACE(
"No Aaru metadata JSON present");
2134 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_CANNOT_READ_BLOCK");
2138 if(*length < ctx->json_block_header.length)
2143 TRACE(
"Exiting aaruf_get_aaru_json_metadata() = AARUF_ERROR_BUFFER_TOO_SMALL");
2150 TRACE(
"Aaru metadata JSON read successfully, length %u", *length);
2151 TRACE(
"Exiting aaruf_get_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2265 TRACE(
"Entering aaruf_set_aaru_json_metadata(%p, %p, %d)", context, data, length);
2270 FATAL(
"Invalid context");
2272 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2281 FATAL(
"Invalid context");
2283 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT");
2290 FATAL(
"Trying to write a read-only image");
2292 TRACE(
"Exiting aaruf_set_aaru_json_metadata() = AARUF_READ_ONLY");
2297 uint8_t *copy = malloc(length);
2300 FATAL(
"Could not allocate memory for Aaru metadata JSON");
2305 memcpy(copy, data, length);
2312 TRACE(
"Exiting aaruf_set_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK", context, data, length);
2345 TRACE(
"Entering aaruf_get_media_sequence(%p, %p, %p)", context, sequence, last_sequence);
2350 FATAL(
"Invalid context");
2352 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
2361 FATAL(
"Invalid context");
2363 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
2369 FATAL(
"No metadata block present");
2371 TRACE(
"Exiting aaruf_set_media_sequence() = AARUF_ERROR_METADATA_NOT_PRESENT");
2378 TRACE(
"Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK", context, *sequence, *last_sequence);
2412 TRACE(
"Entering aaruf_get_creator(%p, %p, %p)", context, buffer, length);
2417 FATAL(
"Invalid context");
2419 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_NOT_AARUFORMAT");
2428 FATAL(
"Invalid context");
2430 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_NOT_AARUFORMAT");
2437 FATAL(
"No metadata block present");
2439 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_METADATA_NOT_PRESENT");
2443 if(buffer == NULL || *length < ctx->metadata_block_header.creatorLength)
2447 TRACE(
"Exiting aaruf_get_creator() = AARUF_ERROR_BUFFER_TOO_SMALL");
2455 TRACE(
"Exiting aaruf_get_creator(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2484 TRACE(
"Entering aaruf_get_comments(%p, %p, %p)", context, buffer, length);
2489 FATAL(
"Invalid context");
2491 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_NOT_AARUFORMAT");
2500 FATAL(
"Invalid context");
2502 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_NOT_AARUFORMAT");
2509 FATAL(
"No metadata block present");
2511 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_METADATA_NOT_PRESENT");
2515 if(buffer == NULL || *length < ctx->metadata_block_header.commentsLength)
2519 TRACE(
"Exiting aaruf_get_comments() = AARUF_ERROR_BUFFER_TOO_SMALL");
2527 TRACE(
"Exiting aaruf_get_comments(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2554 TRACE(
"Entering aaruf_get_media_title(%p, %p, %p)", context, buffer, length);
2559 FATAL(
"Invalid context");
2561 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
2570 FATAL(
"Invalid context");
2572 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
2579 FATAL(
"No metadata block present");
2581 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_METADATA_NOT_PRESENT");
2585 if(buffer == NULL || *length < ctx->metadata_block_header.mediaTitleLength)
2589 TRACE(
"Exiting aaruf_get_media_title() = AARUF_ERROR_BUFFER_TOO_SMALL");
2597 TRACE(
"Exiting aaruf_get_media_title(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2624 TRACE(
"Entering aaruf_get_media_manufacturer(%p, %p, %p)", context, buffer, length);
2629 FATAL(
"Invalid context");
2631 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2640 FATAL(
"Invalid context");
2642 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2649 FATAL(
"No metadata block present");
2651 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_METADATA_NOT_PRESENT");
2655 if(buffer == NULL || *length < ctx->metadata_block_header.mediaManufacturerLength)
2659 TRACE(
"Exiting aaruf_get_media_manufacturer() = AARUF_ERROR_BUFFER_TOO_SMALL");
2667 TRACE(
"Exiting aaruf_get_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2694 TRACE(
"Entering aaruf_get_media_model(%p, %p, %p)", context, buffer, length);
2699 FATAL(
"Invalid context");
2701 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
2710 FATAL(
"Invalid context");
2712 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
2719 FATAL(
"No metadata block present");
2721 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_METADATA_NOT_PRESENT");
2725 if(buffer == NULL || *length < ctx->metadata_block_header.mediaModelLength)
2729 TRACE(
"Exiting aaruf_get_media_model() = AARUF_ERROR_BUFFER_TOO_SMALL");
2737 TRACE(
"Exiting aaruf_get_media_model(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2764 TRACE(
"Entering aaruf_get_media_serial_number(%p, %p, %p)", context, buffer, length);
2769 FATAL(
"Invalid context");
2771 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
2780 FATAL(
"Invalid context");
2782 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
2789 FATAL(
"No metadata block present");
2791 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
2795 if(buffer == NULL || *length < ctx->metadata_block_header.mediaSerialNumberLength)
2799 TRACE(
"Exiting aaruf_get_media_serial_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
2807 TRACE(
"Exiting aaruf_get_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2833 TRACE(
"Entering aaruf_get_media_barcode(%p, %p, %p)", context, buffer, length);
2838 FATAL(
"Invalid context");
2840 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
2849 FATAL(
"Invalid context");
2851 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
2858 FATAL(
"No metadata block present");
2860 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_METADATA_NOT_PRESENT");
2864 if(buffer == NULL || *length < ctx->metadata_block_header.mediaBarcodeLength)
2868 TRACE(
"Exiting aaruf_get_media_barcode() = AARUF_ERROR_BUFFER_TOO_SMALL");
2876 TRACE(
"Exiting aaruf_get_media_barcode(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2904 TRACE(
"Entering aaruf_get_media_part_number(%p, %p, %p)", context, buffer, length);
2909 FATAL(
"Invalid context");
2911 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
2920 FATAL(
"Invalid context");
2922 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
2929 FATAL(
"No metadata block present");
2931 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
2935 if(buffer == NULL || *length < ctx->metadata_block_header.mediaPartNumberLength)
2939 TRACE(
"Exiting aaruf_get_media_part_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
2947 TRACE(
"Exiting aaruf_get_media_part_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
2976 TRACE(
"Entering aaruf_get_drive_manufacturer(%p, %p, %p)", context, buffer, length);
2981 FATAL(
"Invalid context");
2983 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
2992 FATAL(
"Invalid context");
2994 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
3001 FATAL(
"No metadata block present");
3003 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_METADATA_NOT_PRESENT");
3007 if(buffer == NULL || *length < ctx->metadata_block_header.driveManufacturerLength)
3011 TRACE(
"Exiting aaruf_get_drive_manufacturer() = AARUF_ERROR_BUFFER_TOO_SMALL");
3019 TRACE(
"Exiting aaruf_get_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3046 TRACE(
"Entering aaruf_get_drive_model(%p, %p, %p)", context, buffer, length);
3051 FATAL(
"Invalid context");
3053 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
3062 FATAL(
"Invalid context");
3064 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
3071 FATAL(
"No metadata block present");
3073 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_METADATA_NOT_PRESENT");
3077 if(buffer == NULL || *length < ctx->metadata_block_header.driveModelLength)
3081 TRACE(
"Exiting aaruf_get_drive_model() = AARUF_ERROR_BUFFER_TOO_SMALL");
3089 TRACE(
"Exiting aaruf_get_drive_model(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3116 TRACE(
"Entering aaruf_get_drive_serial_number(%p, %p, %p)", context, buffer, length);
3121 FATAL(
"Invalid context");
3123 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
3132 FATAL(
"Invalid context");
3134 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
3141 FATAL(
"No metadata block present");
3143 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_METADATA_NOT_PRESENT");
3147 if(buffer == NULL || *length < ctx->metadata_block_header.driveSerialNumberLength)
3151 TRACE(
"Exiting aaruf_get_drive_serial_number() = AARUF_ERROR_BUFFER_TOO_SMALL");
3159 TRACE(
"Exiting aaruf_get_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3186 TRACE(
"Entering aaruf_get_drive_firmware_revision(%p, %p, %p)", context, buffer, length);
3191 FATAL(
"Invalid context");
3193 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
3202 FATAL(
"Invalid context");
3204 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
3211 FATAL(
"No metadata block present");
3213 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_METADATA_NOT_PRESENT");
3217 if(buffer == NULL || *length < ctx->metadata_block_header.driveFirmwareRevisionLength)
3221 TRACE(
"Exiting aaruf_get_drive_firmware_revision() = AARUF_ERROR_BUFFER_TOO_SMALL");
3229 TRACE(
"Exiting aaruf_get_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK", context, buffer, *length);
3300 TRACE(
"Entering aaruf_get_user_sectors(%p, %p)", context, sectors);
3305 FATAL(
"Invalid context");
3307 TRACE(
"Exiting aaruf_get_user_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3316 FATAL(
"Invalid context");
3318 TRACE(
"Exiting aaruf_get_user_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3324 TRACE(
"Exiting aaruf_get_user_sectors(%p, %llu) = AARUF_STATUS_OK", context, *sectors);
3425 TRACE(
"Entering aaruf_get_negative_sectors(%p, %p)", context, sectors);
3430 FATAL(
"Invalid context");
3432 TRACE(
"Exiting aaruf_get_negative_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3441 FATAL(
"Invalid context");
3443 TRACE(
"Exiting aaruf_get_negative_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3449 TRACE(
"Exiting aaruf_get_negative_sectors(%p, %u) = AARUF_STATUS_OK", context, *sectors);
3560 TRACE(
"Entering aaruf_get_overflow_sectors(%p, %p)", context, sectors);
3565 FATAL(
"Invalid context");
3567 TRACE(
"Exiting aaruf_get_overflow_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3576 FATAL(
"Invalid context");
3578 TRACE(
"Exiting aaruf_get_overflow_sectors() = AARUF_ERROR_NOT_AARUFORMAT");
3584 TRACE(
"Exiting aaruf_get_overflow_sectors(%p, %u) = AARUF_STATUS_OK", context, *sectors);
3642 TRACE(
"Entering aaruf_get_image_info(%p, %p)", context, image_info);
3647 FATAL(
"Invalid context");
3649 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_NOT_AARUFORMAT");
3658 FATAL(
"Invalid context");
3660 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_NOT_AARUFORMAT");
3664 if(image_info == NULL)
3666 FATAL(
"image_info parameter is NULL");
3668 TRACE(
"Exiting aaruf_get_image_info() = AARUF_ERROR_INCORRECT_DATA_SIZE");
3675 TRACE(
"Exiting aaruf_get_image_info() = AARUF_STATUS_OK");
3748 TRACE(
"Entering aaruf_clear_media_sequence(%p)", context);
3753 FATAL(
"Invalid context");
3755 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
3764 FATAL(
"Invalid context");
3766 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT");
3773 FATAL(
"Trying to write a read-only image");
3775 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_READ_ONLY");
3781 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_STATUS_OK");
3798 TRACE(
"Exiting aaruf_clear_media_sequence() = AARUF_STATUS_OK");
3879 TRACE(
"Entering aaruf_clear_creator(%p)", context);
3884 FATAL(
"Invalid context");
3886 TRACE(
"Exiting aaruf_clear_creator() = AARUF_ERROR_NOT_AARUFORMAT");
3895 FATAL(
"Invalid context");
3897 TRACE(
"Exiting aaruf_clear_creator() = AARUF_ERROR_NOT_AARUFORMAT");
3904 FATAL(
"Trying to write a read-only image");
3906 TRACE(
"Exiting aaruf_clear_creator() = AARUF_READ_ONLY");
3912 TRACE(
"Exiting aaruf_clear_creator() = AARUF_STATUS_OK");
3932 TRACE(
"Exiting aaruf_clear_creator() = AARUF_STATUS_OK");
4008 TRACE(
"Entering aaruf_clear_comments(%p)", context);
4013 FATAL(
"Invalid context");
4015 TRACE(
"Exiting aaruf_clear_comments() = AARUF_ERROR_NOT_AARUFORMAT");
4024 FATAL(
"Invalid context");
4026 TRACE(
"Exiting aaruf_clear_comments() = AARUF_ERROR_NOT_AARUFORMAT");
4033 FATAL(
"Trying to write a read-only image");
4035 TRACE(
"Exiting aaruf_clear_comments() = AARUF_READ_ONLY");
4041 TRACE(
"Exiting aaruf_clear_comments() = AARUF_STATUS_OK");
4061 TRACE(
"Exiting aaruf_clear_comments() = AARUF_STATUS_OK");
4091 TRACE(
"Entering aaruf_clear_media_title(%p)", context);
4096 FATAL(
"Invalid context");
4098 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
4107 FATAL(
"Invalid context");
4109 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_ERROR_NOT_AARUFORMAT");
4116 FATAL(
"Trying to write a read-only image");
4118 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_READ_ONLY");
4124 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_STATUS_OK");
4144 TRACE(
"Exiting aaruf_clear_media_title() = AARUF_STATUS_OK");
4175 TRACE(
"Entering aaruf_clear_media_manufacturer(%p)", context);
4180 FATAL(
"Invalid context");
4182 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4191 FATAL(
"Invalid context");
4193 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4200 FATAL(
"Trying to write a read-only image");
4202 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_READ_ONLY");
4208 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_STATUS_OK");
4228 TRACE(
"Exiting aaruf_clear_media_manufacturer() = AARUF_STATUS_OK");
4259 TRACE(
"Entering aaruf_clear_media_model(%p)", context);
4264 FATAL(
"Invalid context");
4266 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
4275 FATAL(
"Invalid context");
4277 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_ERROR_NOT_AARUFORMAT");
4284 FATAL(
"Trying to write a read-only image");
4286 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_READ_ONLY");
4292 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_STATUS_OK");
4312 TRACE(
"Exiting aaruf_clear_media_model() = AARUF_STATUS_OK");
4345 TRACE(
"Entering aaruf_clear_media_serial_number(%p)", context);
4350 FATAL(
"Invalid context");
4352 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4361 FATAL(
"Invalid context");
4363 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4370 FATAL(
"Trying to write a read-only image");
4372 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_READ_ONLY");
4378 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_STATUS_OK");
4398 TRACE(
"Exiting aaruf_clear_media_serial_number() = AARUF_STATUS_OK");
4431 TRACE(
"Entering aaruf_clear_media_barcode(%p)", context);
4436 FATAL(
"Invalid context");
4438 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
4447 FATAL(
"Invalid context");
4449 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT");
4456 FATAL(
"Trying to write a read-only image");
4458 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_READ_ONLY");
4464 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_STATUS_OK");
4484 TRACE(
"Exiting aaruf_clear_media_barcode() = AARUF_STATUS_OK");
4517 TRACE(
"Entering aaruf_clear_media_part_number(%p)", context);
4522 FATAL(
"Invalid context");
4524 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
4533 FATAL(
"Invalid context");
4535 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT");
4542 FATAL(
"Trying to write a read-only image");
4544 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_READ_ONLY");
4550 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_STATUS_OK");
4570 TRACE(
"Exiting aaruf_clear_media_part_number() = AARUF_STATUS_OK");
4603 TRACE(
"Entering aaruf_clear_drive_manufacturer(%p)", context);
4608 FATAL(
"Invalid context");
4610 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4619 FATAL(
"Invalid context");
4621 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT");
4628 FATAL(
"Trying to write a read-only image");
4630 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_READ_ONLY");
4636 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_STATUS_OK");
4655 TRACE(
"Exiting aaruf_clear_drive_manufacturer() = AARUF_STATUS_OK");
4689 TRACE(
"Entering aaruf_clear_drive_model(%p)", context);
4694 FATAL(
"Invalid context");
4696 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
4705 FATAL(
"Invalid context");
4707 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_ERROR_NOT_AARUFORMAT");
4714 FATAL(
"Trying to write a read-only image");
4716 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_READ_ONLY");
4722 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_STATUS_OK");
4742 TRACE(
"Exiting aaruf_clear_drive_model() = AARUF_STATUS_OK");
4778 TRACE(
"Entering aaruf_clear_drive_serial_number(%p)", context);
4783 FATAL(
"Invalid context");
4785 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4794 FATAL(
"Invalid context");
4796 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT");
4803 FATAL(
"Trying to write a read-only image");
4805 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_READ_ONLY");
4811 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_STATUS_OK");
4830 TRACE(
"Exiting aaruf_clear_drive_serial_number() = AARUF_STATUS_OK");
4866 TRACE(
"Entering aaruf_clear_drive_firmware_revision(%p)", context);
4871 FATAL(
"Invalid context");
4873 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
4882 FATAL(
"Invalid context");
4884 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT");
4891 FATAL(
"Trying to write a read-only image");
4893 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_READ_ONLY");
4899 TRACE(
"Exiting aaruf_clear_drive_firmware_revision() = AARUF_STATUS_OK");
4918 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 dirty_json_block
True if JSON metadata block should be written during close.
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).
bool dirty_metadata_block
True if metadata block should be written during close.
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.
bool dirty_geometry_block
True if geometry block should be written during close.
uint8_t * media_manufacturer
Manufacturer of the media represented by the image.