Changeset 68920 in vbox for trunk/include/iprt/formats
- Timestamp:
- Sep 29, 2017 8:25:15 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/formats/udf.h
r68687 r68920 346 346 * 347 347 * @{ */ 348 /** Primary volume descriptor, implementation ID field.349 * Implementation ID suffix. */350 #define UDF_ENTITY_ID_PVD_IMPLEMENTATION "*Developer ID"351 /** Primary volume descriptor, application ID field.352 * Application ID suffix. */353 #define UDF_ENTITY_ID_PVD_APPLICATION "*Application ID"354 355 348 /** Implementation use volume descriptor, implementation ID field. 356 349 * UDF ID suffix. */ 357 350 #define UDF_ENTITY_ID_IUVD_IMPLEMENTATION "*UDF LV Info" 358 /** Implementation use volume descriptor, implementation ID field in Use field. 359 * Implementation ID suffix. */ 360 #define UDF_ENTITY_ID_IUVD_USE_IMPLEMENTATION "*Developer ID" 361 362 /** Partition descriptor, implementation ID field. 363 * Implementation ID suffix. */ 364 #define UDF_ENTITY_ID_PD_IMPLEMENTATION "*Developer ID" 351 365 352 /** Partition descriptor, partition contents field, set to indicate UDF 366 353 * (ECMA-167 3rd edition). Application ID suffix. */ … … 376 363 #define UDF_ENTITY_ID_PD_PARTITION_CONTENTS_FAT "+FDC01" 377 364 378 /** Logical volume descriptor, implementation ID field.379 * Implementation ID suffix. */380 #define UDF_ENTITY_ID_LVD_IMPLEMENTATION "*Developer ID"381 365 /** Logical volume descriptor, domain ID field. 382 366 * Domain ID suffix. */ … … 386 370 * Domain ID suffix. */ 387 371 #define UDF_ENTITY_FSD_LVD_DOMAIN "*OSTA UDF Compliant" 388 389 /** File identifier descriptor, implementation use field.390 * Implementation ID suffix. */391 #define UDF_ENTITY_ID_FID_IMPLEMENTATION_USE "*Developer ID"392 393 /** File entry, implementation ID field.394 * Implementation ID suffix. */395 #define UDF_ENTITY_ID_FE_IMPLEMENTATION "*Developer ID"396 397 /** Device specification extended attribute, implementation use field.398 * Implementation ID suffix. */399 #define UDF_ENTITY_ID_DSEA_IMPLEMENTATION_USE "*Developer ID"400 372 401 373 /** UDF implementation use extended attribute, implementation ID field, set … … 418 390 #define UDF_ENTITY_ID_IUEA_OS400_DIR_INFO "*UDF OS/400 DirInfo" 419 391 420 /** Non-UDF implementation use extended attribute, implementation ID field.421 * Implementation ID suffix. */422 #define UDF_ENTITY_ID_NUIUSEA_IMPLEMENTATION "*Developer ID"423 424 392 /** UDF application use extended attribute, application ID field, set 425 393 * to free application use EA space. UDF ID suffix. */ 426 394 #define UDF_ENTITY_ID_AUEA_FREE_EA_SPACE "*UDF FreeAppEASpace" 427 395 428 /** Non-UDF application use extended attribute, implementation ID field.429 * Application ID suffix. */430 #define UDF_ENTITY_ID_NUAUEA_IMPLEMENTATION "*Application ID"431 432 /** UDF unique ID mapping data, implementation ID field.433 * Implementation ID suffix. */434 #define UDF_ENTITY_ID_UIMD_IMPLEMENTATION "*Developer ID"435 436 /** Power calibration table stream, implementation ID field.437 * Implementation ID suffix. */438 #define UDF_ENTITY_ID_PCTS_IMPLEMENTATION "*Developer ID"439 440 /** Logical volume integrity descriptor, implementation ID field.441 * Implementation ID suffix. */442 #define UDF_ENTITY_ID_LVID_IMPLEMENTATION "*Developer ID"443 444 396 /** Virtual partition map, partition type field. 445 397 * UDF ID suffix. */ 446 398 #define UDF_ENTITY_ID_VPM_PARTITION_TYPE "*UDF Virtual Partition" 447 448 /** Virtual allocation table, implementation use field.449 * Implementation ID suffix. */450 #define UDF_ENTITY_ID_VAT_IMPLEMENTATION_USE "*Developer ID"451 399 452 400 /** Sparable partition map, partition type field. … … 559 507 /** 0x150: Volume copyright notice. */ 560 508 UDFEXTENTAD VolumeCopyrightNotice; 561 /** 0x158: Application identifier ( UDF_ENTITY_ID_PVD_APPLICATION). */509 /** 0x158: Application identifier ("*Application ID"). */ 562 510 UDFENTITYID idApplication; 563 511 /** 0x178: Recording date and time. */ 564 512 UDFTIMESTAMP RecordingTimestamp; 565 /** 0x184: Implementation identifier ( UDF_ENTITY_ID_PVD_IMPLEMENTATION). */513 /** 0x184: Implementation identifier ("*Developer ID"). */ 566 514 UDFENTITYID idImplementation; 567 515 /** 0x1a4: Implementation use. */ … … 665 613 /** 0x13c: Info string \#3. */ 666 614 UDFDSTRING achInfo3[36]; 667 /** 0x160: The implementation identifier 668 * (UDF_ENTITY_ID_IUVD_USE_IMPLEMENTATION). */ 615 /** 0x160: The implementation identifier ("*Developer ID"). */ 669 616 UDFENTITYID idImplementation; 670 617 /** 0x180: Additional use bytes. */ … … 744 691 /** 0x0c0: Partition length in sectors. */ 745 692 uint32_t cSectors; 746 /** 0x0c4: Implementation identifier ( UDF_ENTITY_ID_PD_IMPLEMENTATION). */693 /** 0x0c4: Implementation identifier ("*Developer ID"). */ 747 694 UDFENTITYID idImplementation; 748 695 /** 0x0e4: Implemenation use bytes. */ … … 751 698 /** Generic view. */ 752 699 uint8_t ab[128]; 753 754 700 } ImplementationUse; 755 701 /** 0x164: Reserved. */ … … 757 703 } UDFPARTITIONDESC; 758 704 AssertCompileSize(UDFPARTITIONDESC, 512); 705 /** Pointer to an UDF partitions descriptor. */ 706 typedef UDFPARTITIONDESC *PUDFPARTITIONDESC; 707 /** Pointer to a const UDF partitions descriptor. */ 708 typedef const UDFPARTITIONDESC *PCUDFPARTITIONDESC; 759 709 760 710 /** @name UDF_PART_ACCESS_TYPE_XXX - UDF partition access types … … 807 757 /** 0x10c: Number of partition maps. */ 808 758 uint32_t cPartitionMaps; 809 /** 0x110: Implementation identifier ( UDF_ENTITY_ID_LVD_IMPLEMENTATION). */759 /** 0x110: Implementation identifier ("*Developer ID"). */ 810 760 UDFENTITYID idImplementation; 811 761 /** 0x130: Implementation use. */ … … 817 767 /** 0x1b0: Integrity sequence extent. Can be zero if cPartitionMaps is zero. */ 818 768 UDFEXTENTAD IntegritySeqExtent; 819 /** 0x1b8: Partition maps (length given by @a cPartitionMaps). */ 769 /** 0x1b8: Partition maps (length given by @a cbMapTable), data format is 770 * defined by UDFPARTMAPHDR, UDFPARTMAPTYPE1 and UDFPARTMAPTYPE2. */ 820 771 uint8_t abPartitionMaps[RT_FLEXIBLE_ARRAY]; 821 772 } UDFLOGICALVOLUMEDESC; … … 825 776 /** Pointer to a const UDF logical volume descriptor. */ 826 777 typedef UDFLOGICALVOLUMEDESC const *PCUDFLOGICALVOLUMEDESC; 778 779 /** 780 * Partition map header (UDFLOGICALVOLUMEDESC::abPartitionMaps). 781 */ 782 typedef struct UDFPARTMAPHDR 783 { 784 /** 0x00: The partition map type. */ 785 uint8_t bType; 786 /** 0x01: The partition map length (header included). */ 787 uint8_t cb; 788 } UDFPARTMAPHDR; 789 AssertCompileSize(UDFPARTMAPHDR, 2); 790 /** Pointer to a partition map header. */ 791 typedef UDFPARTMAPHDR *PUDFPARTMAPHDR; 792 /** Pointer to a const partition map header. */ 793 typedef UDFPARTMAPHDR const *PCUDFPARTMAPHDR; 794 795 /** 796 * Partition map type 1 (UDFLOGICALVOLUMEDESC::abPartitionMaps). 797 */ 798 typedef struct UDFPARTMAPTYPE1 799 { 800 /** 0x00: Header (uType=1, cb=6). */ 801 UDFPARTMAPHDR Hdr; 802 /** 0x02: Volume sequence number. */ 803 uint16_t uVolumeSeqNo; 804 /** 0x04: Partition number. */ 805 uint16_t uPartitionNo; 806 } UDFPARTMAPTYPE1; 807 AssertCompileSize(UDFPARTMAPTYPE1, 6); 808 /** Pointer to a type 1 partition map. */ 809 typedef UDFPARTMAPTYPE1 *PUDFPARTMAPTYPE1; 810 /** Pointer to a const type 1 partition map. */ 811 typedef UDFPARTMAPTYPE1 const *PCUDFPARTMAPTYPE1; 812 813 /** 814 * Partition map type 2 (UDFLOGICALVOLUMEDESC::abPartitionMaps). 815 */ 816 typedef struct UDFPARTMAPTYPE2 817 { 818 /** 0x00: Header (uType=2, cb=64). */ 819 UDFPARTMAPHDR Hdr; 820 /** 0x02: Reserved \#1. */ 821 uint16_t uReserved1; 822 /** 0x04: Partition number (UDF_ENTITY_ID_VPM_PARTITION_TYPE). */ 823 UDFENTITYID idPartitionType; 824 /** 0x24: Volume sequence number. */ 825 uint16_t uVolumeSeqNo; 826 /** 0x26: Partition number. */ 827 uint16_t uPartitionNo; 828 /** 0x28: Reserved \#2. */ 829 uint8_t abReserved2[24]; 830 } UDFPARTMAPTYPE2; 831 AssertCompileSize(UDFPARTMAPTYPE2, 64); 832 /** Pointer to a type 2 partition map. */ 833 typedef UDFPARTMAPTYPE2 *PUDFPARTMAPTYPE2; 834 /** Pointer to a const type 2 partition map1. */ 835 typedef UDFPARTMAPTYPE2 const *PCUDFPARTMAPTYPE2; 827 836 828 837 … … 1245 1254 /** 0x70: Extended attribute information control block location. */ 1246 1255 UDFLONGAD ExtAttribIcb; 1247 /** 0x80: Implementation identifier ( UDF_ENTITY_ID_FE_IMPLEMENTATION). */1256 /** 0x80: Implementation identifier ("*Developer ID"). */ 1248 1257 UDFENTITYID idImplementation; 1249 1258 /** 0xa0: Unique ID. */ … … 1452 1461 uint32_t uMinorDeviceNo; 1453 1462 /** 0x0c/0x18: Implementation use field (variable length). 1454 * UDF specficiation expects UDFENTITYID with 1455 * UDF_ENTITY_ID_DSEA_IMPLEMENTATION_USE as first parthere. */1463 * UDF specficiation expects UDFENTITYID with a "*Developer ID" as first part 1464 * here. */ 1456 1465 uint8_t abImplementationUse[RT_FLEXIBLE_ARRAY_IN_NESTED_UNION]; 1457 1466 } UDFEADATADEVICESPEC;
Note:
See TracChangeset
for help on using the changeset viewer.