libcdio
2.1.0
|
Definitions based on ECMA-167 3rd edition (June 1997) See http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-167.pdf. More...
#include <cdio/types.h>
Go to the source code of this file.
Variables | |
PRAGMA_BEGIN_PACKED struct udf_charspec_s | GNUC_PACKED |
const char | VSD_STD_ID_BEA01 [sizeof("BEA01") -1] |
const char | VSD_STD_ID_BOOT2 [sizeof("BOOT2") -1] |
const char | VSD_STD_ID_CD001 [sizeof("CD001") -1] |
const char | VSD_STD_ID_CDW01 [sizeof("CDW02") -1] |
const char | VSD_STD_ID_NSR03 [sizeof("NSR03") -1] |
const char | VSD_STD_ID_TEA01 [sizeof("TEA01") -1] |
PRAGMA_END_PACKED tag_id_t | debug_tagid |
file_characteristics_t | debug_file_characteristics |
icbtag_file_type_enum_t | debug_icbtag_file_type_enum |
icbtag_flag_enum_t | debug_flag_enum |
ecma_167_enum1_t | debug_ecma_167_enum1 |
ecma_167_timezone_enum_t | debug_ecma_167_timezone_enum |
Definitions based on ECMA-167 3rd edition (June 1997) See http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-167.pdf.
#define BOOT_FLAGS_ERASE 0x01 |
Flags (ECMA 167r3 2/9.4.12)
#define ENTITYID_FLAGS_DIRTY 0x00 |
Flags (ECMA 167r3 1/7.4.1)
#define ENTITYID_FLAGS_PROTECTED 0x01 |
#define EXT_NEXT_EXTENT_ALLOCDECS 0xC0000000 |
#define EXT_NOT_RECORDED_ALLOCATED 0x40000000 |
#define EXT_NOT_RECORDED_NOT_ALLOCATED 0x80000000 |
#define EXT_RECORDED_ALLOCATED 0x00000000 |
Short Allocation Descriptor (ECMA 167r3 4/14.14.1) Extent Length (ECMA 167r3 4/14.14.1.1)
#define EXTATTR_ALT_PERMS 3 |
#define EXTATTR_APP_USE 65536 |
#define EXTATTR_CHAR_SET 1 |
#define EXTATTR_DEV_SPEC 12 |
#define EXTATTR_FILE_TIMES 5 |
#define EXTATTR_IMP_USE 2048 |
#define EXTATTR_INFO_TIMES 6 |
#define FE_PERM_G_CHATTR 0x00000100U |
#define FE_PERM_G_DELETE 0x00000200U |
#define FE_PERM_G_EXEC 0x00000020U |
#define FE_PERM_G_READ 0x00000080U |
#define FE_PERM_G_WRITE 0x00000040U |
#define FE_PERM_O_CHATTR 0x00000008U |
#define FE_PERM_O_DELETE 0x00000010U |
#define FE_PERM_O_EXEC 0x00000001U |
Permissions (ECMA 167r3 4/14.9.5)
#define FE_PERM_O_READ 0x00000004U |
#define FE_PERM_O_WRITE 0x00000002U |
#define FE_PERM_U_CHATTR 0x00002000U |
#define FE_PERM_U_DELETE 0x00004000U |
#define FE_PERM_U_EXEC 0x00000400U |
#define FE_PERM_U_READ 0x00001000U |
#define FE_PERM_U_WRITE 0x00000800U |
#define FE_RECORD_DISPLAY_ATTR_1 0x01 |
#define FE_RECORD_DISPLAY_ATTR_2 0x02 |
#define FE_RECORD_DISPLAY_ATTR_3 0x03 |
#define FE_RECORD_DISPLAY_ATTR_UNDEF 0x00 |
Record Display Attributes (ECMA 167r3 4/14.9.8)
#define FE_RECORD_FMT_CR 0x09 |
#define FE_RECORD_FMT_CRLF 0x0A |
#define FE_RECORD_FMT_FIXED 0x02 |
#define FE_RECORD_FMT_FIXED_PAD 0x01 |
#define FE_RECORD_FMT_LF 0x08 |
#define FE_RECORD_FMT_LFCR 0x0B |
#define FE_RECORD_FMT_PRINT 0x07 |
#define FE_RECORD_FMT_UNDEF 0x00 |
Record Format (ECMA 167r3 4/14.9.7)
#define FE_RECORD_FMT_VARIABLE16 0x04 |
#define FE_RECORD_FMT_VARIABLE16_MSB 0x05 |
#define FE_RECORD_FMT_VARIABLE32 0x06 |
#define FE_RECORD_FMT_VARIABLE8 0x03 |
#define FTE_BACKUP 0x00000002 |
#define FTE_CREATION 0x00000001 |
FileTimeExistence (ECMA 167r3 4/14.10.5.6)
#define FTE_DELETION 0x00000004 |
#define FTE_EFFECTIVE 0x00000008 |
#define GP_PARTIITON_MAP_TYPE_1 0x01 |
#define GP_PARTITION_MAP_TYPE_2 0x02 |
#define GP_PARTITION_MAP_TYPE_UNDEF 0x00 |
Partition Map Type (ECMA 167r3 3/10.7.1.1)
#define ICBTAG_STRATEGY_TYPE_1 0x0001 |
4/A.2 Direct entries Uint16
#define ICBTAG_STRATEGY_TYPE_2 0x0002 |
4/A.3 List of ICB direct entries
#define ICBTAG_STRATEGY_TYPE_3 0x0003 |
4/A.4
#define ICBTAG_STRATEGY_TYPE_4 0x0004 |
4/A.5 Hierarchy having one single ICB with one direct entry. This is what's most often used.
#define ICBTAG_STRATEGY_TYPE_UNDEF 0x0000 |
Strategy Type (ECMA 167r3 4/14.6.2) which helpfully points largely to 4/A.x
#define LVID_INTEGRITY_TYPE_CLOSE 0x00000001 |
#define LVID_INTEGRITY_TYPE_OPEN 0x00000000 |
Integrity Type (ECMA 167r3 3/10.10.3)
#define PD_ACCESS_TYPE_NONE 0x00000000 |
Access Type (ECMA 167r3 3/10.5.7)
#define PD_ACCESS_TYPE_OVERWRITABLE 0x00000004 |
#define PD_ACCESS_TYPE_READ_ONLY 0x00000001 |
#define PD_ACCESS_TYPE_REWRITABLE 0x00000003 |
#define PD_ACCESS_TYPE_WRITE_ONCE 0x00000002 |
#define PD_PARTITION_CONTENTS_CD001 "+CD001" |
#define PD_PARTITION_CONTENTS_CDW02 "+CDW02" |
#define PD_PARTITION_CONTENTS_FDC01 "+FDC01" |
Partition Contents (ECMA 167r3 3/10.5.5)
#define PD_PARTITION_CONTENTS_NSR02 "+NSR02" |
Partition Contents (ECMA 167r2 3/10.5.3)
#define PD_PARTITION_CONTENTS_NSR03 "+NSR03" |
#define PD_PARTITION_FLAGS_ALLOC 0x0001 |
Partition Flags (ECMA 167r3 3/10.5.3)
#define PVD_FLAGS_VSID_COMMON 0x0001 |
Flags (ECMA 167r3 3/10.1.21)
#define TIMESTAMP_TIMEZONE_MASK 0x0FFF |
#define TIMESTAMP_TYPE_AGREEMENT 0x2000 |
#define TIMESTAMP_TYPE_CUT 0x0000 |
#define TIMESTAMP_TYPE_LOCAL 0x1000 |
#define TIMESTAMP_TYPE_MASK 0xF000 |
#define UDF_FENTRY_PERM_GRP_MASK 0xE0 |
#define UDF_FENTRY_PERM_OWNER_MASK 0x1C00 |
#define UDF_FENTRY_PERM_USER_MASK 0x07 |
#define UDF_FENTRY_SIZE 176 |
#define UDF_ICB_TAG_FLAGS_SETGID 0x80 |
#define UDF_ICB_TAG_FLAGS_SETUID 0x40 |
#define UDF_ICB_TAG_FLAGS_STICKY 0x100 |
#define UDF_LENGTH_MASK 0x3fffffff |
Section 1/7.1.12
#define VSD_STD_ID_BEA01 "BEA01" |
ECMA-167 2/9.2
#define VSD_STD_ID_BOOT2 "BOOT2" |
ECMA-167 2/9.4
#define VSD_STD_ID_CD001 "CD001" |
ECMA-119
#define VSD_STD_ID_CDW02 "CDW02" |
ECMA-168
#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */ |
Standard Identifier (EMCA 167r2 2/9.1.2)
ECMA-167, 3/9.1 NOTE: ECMA-167, 2nd edition
#define VSD_STD_ID_NSR02 "NSR02" |
Standard Identifier (EMCA 167r2 2/9.1.2)
ECMA-167, 3/9.1 NOTE: ECMA-167, 2nd edition
#define VSD_STD_ID_NSR03 "NSR03" |
ECMA-167 3/9.1
#define VSD_STD_ID_TEA01 "TEA01" |
ECMA-168 2/9.3
typedef struct anchor_vol_desc_ptr_s anchor_vol_desc_ptr_t |
typedef struct logical_vol_desc_s logical_vol_desc_t |
typedef struct logical_vol_header_desc_s logical_vol_header_desc_t |
typedef struct partition_desc_s partition_desc_t |
typedef struct partition_header_desc_s partition_header_desc_t |
typedef struct udf_charspec_s udf_charspec_t |
typedef char udf_dstring |
Section 1/7.1.7
typedef struct udf_ext_ad_s udf_ext_ad_t |
typedef struct udf_extent_ad_s udf_extent_ad_t |
typedef struct udf_file_entry_s udf_file_entry_t |
typedef struct udf_fileid_desc_s udf_fileid_desc_t |
typedef struct udf_icbtag_s udf_icbtag_t |
typedef struct udf_id_suffix_s udf_id_suffix_t |
typedef struct udf_lb_addr_s udf_lb_addr_t |
typedef struct udf_long_ad_s udf_long_ad_t |
typedef struct udf_regid_s udf_regid_t |
typedef struct udf_short_ad_s udf_short_ad_t |
typedef struct udf_timestamp_s udf_timestamp_t |
typedef uint16_t udf_Uint16_t |
Section 1/7/1.1
typedef uint32_t udf_Uint32_t |
Section 1/7.1.3
typedef uint64_t udf_Uint64_t |
Section 1/7.1.5
typedef uint8_t udf_Uint8_t |
enum ecma_167_enum1_t |
File Type (ECMA 167r3 4/14.6.6)
Imagine the below enum values as #define'd values rather than distinct values of an enum.
enum icbtag_flag_enum_t |
Flags (ECMA 167r3 4/14.6.8)
enum tag_id_t |
enum udf_charspec_enum_t |
Character Set Type (ECMA 167r3 1/7.2.1.1)
ecma_167_enum1_t debug_ecma_167_enum1 |
ecma_167_timezone_enum_t debug_ecma_167_timezone_enum |
file_characteristics_t debug_file_characteristics |
icbtag_flag_enum_t debug_flag_enum |
icbtag_file_type_enum_t debug_icbtag_file_type_enum |
PRAGMA_END_PACKED tag_id_t debug_tagid |
The below variables are trickery to force the above enum symbol values to be recorded in debug symbol tables. They are used to allow one refer to the enumeration value names in the typedefs above in a debugger and in debugger expressions.
struct extended_file_entry GNUC_PACKED |
const char VSD_STD_ID_BEA01[sizeof("BEA01") -1] |
Standard Identifier (ECMA 167r3 2/9.1.2)
const char VSD_STD_ID_BOOT2[sizeof("BOOT2") -1] |
const char VSD_STD_ID_CD001[sizeof("CD001") -1] |
const char VSD_STD_ID_CDW01[sizeof("CDW02") -1] |
const char VSD_STD_ID_NSR03[sizeof("NSR03") -1] |
const char VSD_STD_ID_TEA01[sizeof("TEA01") -1] |