|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
Public high-level API types: media classifications, per-sector / per-media tag enums and image summary. More...
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | ImageInfo |
| High-level summary of an opened Aaru image containing metadata and media characteristics. More... | |
Typedefs | |
| typedef struct ImageInfo | ImageInfo |
Enumerations | |
| enum | MediaType { UnknownMedia = 0 , UnknownMO = 1 , GENERIC_HDD = 2 , Microdrive = 3 , Zone_HDD = 4 , FlashDrive = 5 , CD = 10 , CDDA = 11 , CDG = 12 , CDEG = 13 , CDI = 14 , CDROM = 15 , CDROMXA = 16 , CDPLUS = 17 , CDMO = 18 , CDR = 19 , CDRW = 20 , CDMRW = 21 , VCD = 22 , SVCD = 23 , PCD = 24 , SACD = 25 , DDCD = 26 , DDCDR = 27 , DDCDRW = 28 , DTSCD = 29 , CDMIDI = 30 , CDV = 31 , PD650 = 32 , PD650_WORM = 33 , CDIREADY = 34 , FMTOWNS = 35 , DVDROM = 40 , DVDR = 41 , DVDRW = 42 , DVDPR = 43 , DVDPRW = 44 , DVDPRWDL = 45 , DVDRDL = 46 , DVDPRDL = 47 , DVDRAM = 48 , DVDRWDL = 49 , DVDDownload = 50 , HDDVDROM = 51 , HDDVDRAM = 52 , HDDVDR = 53 , HDDVDRW = 54 , HDDVDRDL = 55 , HDDVDRWDL = 56 , BDROM = 60 , BDR = 61 , BDRE = 62 , BDRXL = 63 , BDREXL = 64 , EVD = 70 , FVD = 71 , HVD = 72 , CBHD = 73 , HDVMD = 74 , VCDHD = 75 , SVOD = 76 , FDDVD = 77 , LD = 80 , LDROM = 81 , LDROM2 = 82 , LVROM = 83 , MegaLD = 84 , HiMD = 90 , MD = 91 , MDData = 92 , MDData2 = 93 , UDO = 100 , UDO2 , UDO2_WORM , PlayStationMemoryCard = 110 , PlayStationMemoryCard2 = 111 , PS1CD = 112 , PS2CD = 113 , PS2DVD = 114 , PS3DVD = 115 , PS3BD = 116 , PS4BD = 117 , UMD = 118 , PlayStationVitaGameCard = 119 , XGD = 130 , XGD2 = 131 , XGD3 = 132 , XGD4 = 133 , MEGACD = 150 , SATURNCD = 151 , GDROM = 152 , GDR = 153 , SegaCard = 154 , MilCD = 155 , HuCard = 170 , SuperCDROM2 = 171 , JaguarCD = 172 , ThreeDO = 173 , PCFX = 174 , NeoGeoCD = 175 , CDTV = 176 , CD32 = 177 , Nuon = 178 , Playdia = 179 , Apple32SS = 180 , Apple32DS = 181 , Apple33SS = 182 , Apple33DS = 183 , AppleSonySS = 184 , AppleSonyDS = 185 , AppleFileWare = 186 , DOS_525_SS_DD_8 = 190 , DOS_525_SS_DD_9 = 191 , DOS_525_DS_DD_8 = 192 , DOS_525_DS_DD_9 = 193 , DOS_525_HD = 194 , DOS_35_SS_DD_8 = 195 , DOS_35_SS_DD_9 = 196 , DOS_35_DS_DD_8 = 197 , DOS_35_DS_DD_9 = 198 , DOS_35_HD = 199 , DOS_35_ED = 200 , DMF = 201 , DMF_82 = 202 , XDF_525 = 203 , XDF_35 = 204 , IBM23FD = 210 , IBM33FD_128 = 211 , IBM33FD_256 = 212 , IBM33FD_512 = 213 , IBM43FD_128 = 214 , IBM43FD_256 = 215 , IBM53FD_256 = 216 , IBM53FD_512 = 217 , IBM53FD_1024 = 218 , RX01 = 220 , RX02 = 221 , RX03 = 222 , RX50 = 223 , ACORN_525_SS_SD_40 = 230 , ACORN_525_SS_SD_80 = 231 , ACORN_525_SS_DD_40 = 232 , ACORN_525_SS_DD_80 = 233 , ACORN_525_DS_DD = 234 , ACORN_35_DS_DD = 235 , ACORN_35_DS_HD = 236 , ATARI_525_SD = 240 , ATARI_525_ED = 241 , ATARI_525_DD = 242 , ATARI_35_SS_DD = 243 , ATARI_35_DS_DD = 244 , ATARI_35_SS_DD_11 = 245 , ATARI_35_DS_DD_11 = 246 , CBM_35_DD = 250 , CBM_AMIGA_35_DD = 251 , CBM_AMIGA_35_HD = 252 , CBM_1540 = 253 , CBM_1540_Ext = 254 , CBM_1571 = 255 , NEC_8_SD = 260 , NEC_8_DD = 261 , NEC_525_SS = 262 , NEC_525_DS = 263 , NEC_525_HD = 264 , NEC_35_HD_8 = 265 , NEC_35_HD_15 = 266 , NEC_35_TD = 267 , SHARP_525 = NEC_525_HD , SHARP_525_9 = 268 , SHARP_35 = NEC_35_HD_8 , SHARP_35_9 = 269 , ECMA_99_8 = 270 , ECMA_99_15 = 271 , ECMA_99_26 = 272 , ECMA_100 = DOS_35_DS_DD_9 , ECMA_125 = DOS_35_HD , ECMA_147 = DOS_35_ED , ECMA_54 = 273 , ECMA_59 = 274 , ECMA_66 , ECMA_69_8 = 276 , ECMA_69_15 = 277 , ECMA_69_26 = 278 , ECMA_70 = 279 , ECMA_78 = 280 , ECMA_78_2 = 281 , FDFORMAT_525_DD = 290 , FDFORMAT_525_HD = 291 , FDFORMAT_35_DD = 292 , FDFORMAT_35_HD = 293 , Apricot_35 = 309 , ADR2120 = 310 , ADR260 = 311 , ADR30 = 312 , ADR50 = 313 , AIT1 = 320 , AIT1Turbo = 321 , AIT2 = 322 , AIT2Turbo = 323 , AIT3 = 324 , AIT3Ex = 325 , AIT3Turbo = 326 , AIT4 = 327 , AIT5 = 328 , AITETurbo = 329 , SAIT1 = 330 , SAIT2 = 331 , Bernoulli = 340 , Bernoulli2 = 341 , Ditto = 342 , DittoMax = 343 , Jaz = 344 , Jaz2 = 345 , PocketZip = 346 , REV120 = 347 , REV35 = 348 , REV70 = 349 , ZIP100 = 350 , ZIP250 = 351 , ZIP750 = 352 , CompactCassette = 360 , Data8 = 361 , MiniDV = 362 , Dcas25 = 363 , Dcas85 = 364 , Dcas103 = 365 , CFast = 370 , CompactFlash = 371 , CompactFlashType2 = 372 , DigitalAudioTape = 380 , DAT160 = 381 , DAT320 = 382 , DAT72 = 383 , DDS1 = 384 , DDS2 = 385 , DDS3 = 386 , DDS4 = 387 , CompactTapeI = 390 , CompactTapeII = 391 , DECtapeII = 392 , DLTtapeIII = 393 , DLTtapeIIIxt = 394 , DLTtapeIV = 395 , DLTtapeS4 = 396 , SDLT1 = 397 , SDLT2 = 398 , VStapeI = 399 , Exatape15m = 400 , Exatape22m = 401 , Exatape22mAME = 402 , Exatape28m = 403 , Exatape40m = 404 , Exatape45m = 405 , Exatape54m = 406 , Exatape75m = 407 , Exatape76m = 408 , Exatape80m = 409 , Exatape106m = 410 , Exatape160mXL = 411 , Exatape112m = 412 , Exatape125m = 413 , Exatape150m = 414 , Exatape170m = 415 , Exatape225m = 416 , ExpressCard34 = 420 , ExpressCard54 = 421 , PCCardTypeI = 422 , PCCardTypeII = 423 , PCCardTypeIII = 424 , PCCardTypeIV = 425 , EZ135 = 430 , EZ230 = 431 , Quest = 432 , SparQ = 433 , SQ100 = 434 , SQ200 = 435 , SQ300 = 436 , SQ310 = 437 , SQ327 = 438 , SQ400 = 439 , SQ800 = 440 , SQ1500 = 441 , SQ2000 = 442 , SyJet = 443 , FamicomGamePak = 450 , GameBoyAdvanceGamePak = 451 , GameBoyGamePak = 452 , GOD = 453 , N64DD = 454 , N64GamePak = 455 , NESGamePak = 456 , Nintendo3DSGameCard = 457 , NintendoDiskCard = 458 , NintendoDSGameCard = 459 , NintendoDSiGameCard = 460 , SNESGamePak = 461 , SNESGamePakUS = 462 , WOD = 463 , WUOD = 464 , SwitchGameCard = 465 , IBM3470 = 470 , IBM3480 = 471 , IBM3490 = 472 , IBM3490E = 473 , IBM3592 = 474 , LTO = 480 , LTO2 = 481 , LTO3 = 482 , LTO3WORM = 483 , LTO4 = 484 , LTO4WORM = 485 , LTO5 = 486 , LTO5WORM = 487 , LTO6 = 488 , LTO6WORM = 489 , LTO7 = 490 , LTO7WORM = 491 , MemoryStick = 510 , MemoryStickDuo = 511 , MemoryStickMicro = 512 , MemoryStickPro = 513 , MemoryStickProDuo = 514 , microSD = 520 , miniSD = 521 , SecureDigital = 522 , MMC = 530 , MMCmicro = 531 , RSMMC = 532 , MMCplus = 533 , MMCmobile = 534 , MLR1 = 540 , MLR1SL = 541 , MLR3 = 542 , SLR1 = 543 , SLR2 = 544 , SLR3 = 545 , SLR32 = 546 , SLR32SL = 547 , SLR4 = 548 , SLR5 = 549 , SLR5SL = 550 , SLR6 = 551 , SLRtape7 = 552 , SLRtape7SL = 553 , SLRtape24 = 554 , SLRtape24SL = 555 , SLRtape40 = 556 , SLRtape50 = 557 , SLRtape60 = 558 , SLRtape75 = 559 , SLRtape100 = 560 , SLRtape140 = 561 , QIC11 = 570 , QIC120 = 571 , QIC1350 = 572 , QIC150 = 573 , QIC24 = 574 , QIC3010 = 575 , QIC3020 = 576 , QIC3080 = 577 , QIC3095 = 578 , QIC320 = 579 , QIC40 = 580 , QIC525 = 581 , QIC80 = 582 , STK4480 = 590 , STK4490 = 591 , STK9490 = 592 , T9840A = 593 , T9840B = 594 , T9840C = 595 , T9840D = 596 , T9940A = 597 , T9940B = 598 , T10000A = 599 , T10000B = 600 , T10000C = 601 , T10000D = 602 , Travan1 = 610 , Travan1Ex = 611 , Travan3 = 612 , Travan3Ex = 613 , Travan4 = 614 , Travan5 = 615 , Travan7 = 616 , VXA1 = 620 , VXA2 = 621 , VXA3 = 622 , ECMA_153 = 630 , ECMA_153_512 = 631 , ECMA_154 = 632 , ECMA_183_512 = 633 , ECMA_183 = 634 , ECMA_184_512 = 635 , ECMA_184 = 636 , ECMA_189 = 637 , ECMA_190 = 638 , ECMA_195 = 639 , ECMA_195_512 = 640 , ECMA_201 = 641 , ECMA_201_ROM = 642 , ECMA_223 = 643 , ECMA_223_512 = 644 , ECMA_238 = 645 , ECMA_239 = 646 , ECMA_260 = 647 , ECMA_260_Double = 648 , ECMA_280 = 649 , ECMA_317 = 650 , ECMA_322 = 651 , ECMA_322_2k = 652 , GigaMo = 653 , GigaMo2 = 654 , CompactFloppy = 660 , DemiDiskette = 661 , Floptical = 662 , HiFD = 663 , QuickDisk = 664 , UHD144 = 665 , VideoFloppy = 666 , Wafer = 667 , ZXMicrodrive = 668 , BeeCard = 670 , Borsu = 671 , DataStore = 672 , DIR = 673 , DST = 674 , DTF = 675 , DTF2 = 676 , Flextra3020 = 677 , Flextra3225 = 678 , HiTC1 = 679 , HiTC2 = 680 , LT1 = 681 , MiniCard = 872 , Orb = 683 , Orb5 = 684 , SmartMedia = 685 , xD = 686 , XQD = 687 , DataPlay = 688 , AppleProfile = 690 , AppleWidget = 691 , AppleHD20 = 692 , PriamDataTower = 693 , Pippin = 694 , RA60 = 700 , RA80 = 701 , RA81 = 702 , RC25 = 703 , RD31 = 704 , RD32 = 705 , RD51 = 706 , RD52 = 707 , RD53 = 708 , RD54 = 709 , RK06 = 710 , RK06_18 = 711 , RK07 = 712 , RK07_18 = 713 , RM02 = 714 , RM03 = 715 , RM05 = 716 , RP02 = 717 , RP02_18 = 718 , RP03 = 719 , RP03_18 = 720 , RP04 = 721 , RP04_18 = 722 , RP05 = 723 , RP05_18 = 724 , RP06 = 725 , RP06_18 = 726 , LS120 = 730 , LS240 = 731 , FD32MB = 732 , RDX = 733 , RDX320 = 734 , VideoNow = 740 , VideoNowColor = 741 , VideoNowXp = 742 , Bernoulli10 = 750 , Bernoulli20 = 751 , BernoulliBox2_20 = 752 , KodakVerbatim3 = 760 , KodakVerbatim6 = 761 , KodakVerbatim12 = 762 , ProfessionalDisc = 770 , ProfessionalDiscDual = 771 , ProfessionalDiscTriple = 772 , ProfessionalDiscQuad = 773 , PDD = 774 , PDD_WORM = 775 , ArchivalDisc = 776 , ArchivalDisc2 = 777 , ArchivalDisc3 = 778 , ODC300R = 779 , ODC300RE = 780 , ODC600R = 781 , ODC600RE = 782 , ODC1200RE = 783 , ODC1500R = 784 , ODC3300R = 785 , ODC5500R = 786 , ECMA_322_1k = 800 , ECMA_322_512 = 801 , ISO_14517 = 802 , ISO_14517_512 = 803 , ISO_15041_512 = 804 , HSM650 = 805 , MetaFloppy_Mod_I = 820 , HF12 = 823 , HF24 = 824 , AtariLynxCard = 821 , AtariJaguarCartridge = 822 } |
| Enumerates every recognized media / cartridge / optical / tape / card / disk format. More... | |
| enum | SectorTagType { AppleSonyTagAaru = 0 , CdSectorSync = 1 , CdSectorHeader = 2 , CdSectorSubHeader = 3 , CdSectorEdc = 4 , CdSectorEccP = 5 , CdSectorEccQ = 6 , CdSectorEcc = 7 , CdSectorSubchannelAaru = 8 , CdTrackIsrc = 9 , CdTrackText = 10 , CdTrackFlags = 11 , DvdCmi = 12 , FloppyAddressMark = 13 , DvdSectorTitleKey = 14 , DvdTitleKeyDecrypted = 15 , DvdSectorInformation = 16 , DvdSectorNumber = 17 , DvdSectorIedAaru = 18 , DvdSectorEdcAaru = 19 , AppleProfileTagAaru = 20 , PriamDataTowerTagAaru = 21 , MaxSectorTag = PriamDataTowerTagAaru } |
| enum | MediaTagType { CD_TOC = 0 , CD_SessionInfo = 1 , CD_FullTOC = 2 , CD_PMA = 3 , CD_ATIP = 4 , CD_TEXT = 5 , CD_MCN = 6 , DVD_PFI = 7 , DVD_CMI = 8 , DVD_DiscKey = 9 , DVD_BCA = 10 , DVD_DMI = 11 , DVD_MediaIdentifier = 12 , DVD_MKB = 13 , DVDRAM_DDS = 14 , DVDRAM_MediumStatus = 15 , DVDRAM_SpareArea = 16 , DVDR_RMD = 17 , DVDR_PreRecordedInfo = 18 , DVDR_MediaIdentifier = 19 , DVDR_PFI = 20 , DVD_ADIP = 21 , HDDVD_CPI = 22 , HDDVD_MediumStatus = 23 , DVDDL_LayerCapacity = 24 , DVDDL_MiddleZoneAddress = 25 , DVDDL_JumpIntervalSize = 26 , DVDDL_ManualLayerJumpLBA = 27 , BD_DI = 28 , BD_BCA = 29 , BD_DDS = 30 , BD_CartridgeStatus = 31 , BD_SpareArea = 32 , AACS_VolumeIdentifier = 33 , AACS_SerialNumber = 34 , AACS_MediaIdentifier = 35 , AACS_MKB = 36 , AACS_DataKeys = 37 , AACS_LBAExtents = 38 , AACS_CPRM_MKB = 39 , Hybrid_RecognizedLayers = 40 , MMC_WriteProtection = 41 , MMC_DiscInformation = 42 , MMC_TrackResourcesInformation = 43 , MMC_POWResourcesInformation = 44 , SCSI_INQUIRY = 45 , SCSI_MODEPAGE_2A = 46 , ATA_IDENTIFY = 47 , ATAPI_IDENTIFY = 48 , PCMCIA_CIS = 49 , SD_CID = 50 , SD_CSD = 51 , SD_SCR = 52 , SD_OCR = 53 , MMC_CID = 54 , MMC_CSD = 55 , MMC_OCR = 56 , MMC_ExtendedCSD = 57 , Xbox_SecuritySector = 58 , Floppy_LeadOut = 59 , DiscControlBlock = 60 , CD_FirstTrackPregap = 61 , CD_LeadOut = 62 , SCSI_MODESENSE_6 = 63 , SCSI_MODESENSE_10 = 64 , USB_Descriptors = 65 , Xbox_DMI = 66 , Xbox_PFI = 67 , CD_LeadIn = 68 , MiniDiscType = 69 , MiniDiscD5 = 70 , MiniDiscUTOC = 71 , MiniDiscDTOC = 72 , DVD_DiscKey_Decrypted = 73 , MaxMediaTag = DVD_DiscKey_Decrypted } |
Public high-level API types: media classifications, per-sector / per-media tag enums and image summary.
This header provides:
Value range conventions (MediaType): groups of contiguous numeric IDs are reserved for technology families; comments in the enum mark the ranges. This stable numeric mapping forms part of the external on-disk and API contract—do not renumber existing entries. New media types must be appended in an unused range or in an explicitly extended tail section to preserve backward compatibility.
Thread safety: All types here are PODs / enumerations and are safe for concurrent read-only access. Encoding: All UTF-8 textual pointers inside ImageInfo refer to NUL-terminated dynamically allocated buffers owned by the context that produced them (caller copies if persistence is required beyond context lifetime).
See also: aaruformat/context.h for runtime context internals and metadata/dump structures.
Definition in file aaru.h.
| typedef struct ImageInfo ImageInfo |