|
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 } |
| Enumerates every recognized media / cartridge / optical / tape / card / disk format. More... | |
| enum | SectorTagType { AppleSectorTag = 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 , MaxSectorTag = DvdSectorEdcAaru } |
| 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 } |
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 |