ecma_167.h File Reference

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.

Data Structures

struct  udf_charspec_s
struct  udf_timestamp_s
struct  udf_id_suffix_s
struct  udf_regid_s
struct  vol_struct_desc_s
struct  beginning_extended_area_desc_s
struct  terminating_extended_area_desc_s
struct  boot_desc_s
struct  udf_extent_ad_s
struct  udf_tag_s
struct  NSR_desc_s
struct  udf_pvd_s
struct  anchor_vol_desc_ptr_s
struct  vol_desc_ptr_s
struct  imp_use_vol_desc_s
struct  partition_desc_s
struct  udf_lb_addr_s
struct  udf_short_ad_s
struct  udf_long_ad_s
struct  logical_vol_desc_s
struct  generic_partition_map
struct  generic_partition_map1
struct  generic_partition_map2
struct  unalloc_space_desc_s
struct  terminating_desc_s
struct  logvol_integrity_desc_s
struct  udf_ext_ad_s
struct  udf_fsd_s
struct  partition_header_desc_s
struct  udf_fileid_desc_s
struct  allocExtDesc
struct  udf_icbtag_s
struct  indirect_entry_s
struct  terminal_entry_s
struct  udf_file_entry_s
struct  extended_attr_header_desc_s
struct  generic_format_s
struct  charSet_info_s
struct  alt_perms_s
struct  filetimes_ext_attr_s
struct  infoTimesExtAttr
struct  deviceSpec
struct  impUseExtAttr
struct  appUseExtAttr
struct  unallocSpaceEntry
struct  spaceBitmapDesc
struct  partitionIntegrityEntry
struct  logical_vol_header_desc_s
struct  pathComponent
struct  extended_file_entry

Defines

#define _ECMA_167_H   1
#define UDF_LENGTH_MASK   0x3fffffff
#define TIMESTAMP_TYPE_MASK   0xF000
#define TIMESTAMP_TYPE_CUT   0x0000
#define TIMESTAMP_TYPE_LOCAL   0x1000
#define TIMESTAMP_TYPE_AGREEMENT   0x2000
#define TIMESTAMP_TIMEZONE_MASK   0x0FFF
#define ENTITYID_FLAGS_DIRTY   0x00
#define ENTITYID_FLAGS_PROTECTED   0x01
#define VSD_STD_ID_NSR02   "NSR02"
#define VSD_STD_ID_BEA01   "BEA01"
#define VSD_STD_ID_BOOT2   "BOOT2"
#define VSD_STD_ID_CD001   "CD001"
#define VSD_STD_ID_CDW02   "CDW02"
#define VSD_STD_ID_NSR02   "NSR02"
#define VSD_STD_ID_NSR03   "NSR03"
#define VSD_STD_ID_TEA01   "TEA01"
#define BOOT_FLAGS_ERASE   0x01
#define PVD_FLAGS_VSID_COMMON   0x0001
#define PD_PARTITION_FLAGS_ALLOC   0x0001
#define PD_PARTITION_CONTENTS_NSR02   "+NSR02"
#define PD_PARTITION_CONTENTS_FDC01   "+FDC01"
#define PD_PARTITION_CONTENTS_CD001   "+CD001"
#define PD_PARTITION_CONTENTS_CDW02   "+CDW02"
#define PD_PARTITION_CONTENTS_NSR03   "+NSR03"
#define PD_ACCESS_TYPE_NONE   0x00000000
#define PD_ACCESS_TYPE_READ_ONLY   0x00000001
#define PD_ACCESS_TYPE_WRITE_ONCE   0x00000002
#define PD_ACCESS_TYPE_REWRITABLE   0x00000003
#define PD_ACCESS_TYPE_OVERWRITABLE   0x00000004
#define GP_PARTITION_MAP_TYPE_UNDEF   0x00
#define GP_PARTIITON_MAP_TYPE_1   0x01
#define GP_PARTITION_MAP_TYPE_2   0x02
#define LVID_INTEGRITY_TYPE_OPEN   0x00000000
#define LVID_INTEGRITY_TYPE_CLOSE   0x00000001
#define UDF_ICB_TAG_FLAGS_SETUID   0x40
#define UDF_ICB_TAG_FLAGS_SETGID   0x80
#define UDF_ICB_TAG_FLAGS_STICKY   0x100
#define ICBTAG_STRATEGY_TYPE_UNDEF   0x0000
#define ICBTAG_STRATEGY_TYPE_1   0x0001
#define ICBTAG_STRATEGY_TYPE_2   0x0002
#define ICBTAG_STRATEGY_TYPE_3   0x0003
#define ICBTAG_STRATEGY_TYPE_4   0x0004
#define UDF_FENTRY_SIZE   176
#define UDF_FENTRY_PERM_USER_MASK   0x07
#define UDF_FENTRY_PERM_GRP_MASK   0xE0
#define UDF_FENTRY_PERM_OWNER_MASK   0x1C00
#define FE_PERM_O_EXEC   0x00000001U
#define FE_PERM_O_WRITE   0x00000002U
#define FE_PERM_O_READ   0x00000004U
#define FE_PERM_O_CHATTR   0x00000008U
#define FE_PERM_O_DELETE   0x00000010U
#define FE_PERM_G_EXEC   0x00000020U
#define FE_PERM_G_WRITE   0x00000040U
#define FE_PERM_G_READ   0x00000080U
#define FE_PERM_G_CHATTR   0x00000100U
#define FE_PERM_G_DELETE   0x00000200U
#define FE_PERM_U_EXEC   0x00000400U
#define FE_PERM_U_WRITE   0x00000800U
#define FE_PERM_U_READ   0x00001000U
#define FE_PERM_U_CHATTR   0x00002000U
#define FE_PERM_U_DELETE   0x00004000U
#define FE_RECORD_FMT_UNDEF   0x00
#define FE_RECORD_FMT_FIXED_PAD   0x01
#define FE_RECORD_FMT_FIXED   0x02
#define FE_RECORD_FMT_VARIABLE8   0x03
#define FE_RECORD_FMT_VARIABLE16   0x04
#define FE_RECORD_FMT_VARIABLE16_MSB   0x05
#define FE_RECORD_FMT_VARIABLE32   0x06
#define FE_RECORD_FMT_PRINT   0x07
#define FE_RECORD_FMT_LF   0x08
#define FE_RECORD_FMT_CR   0x09
#define FE_RECORD_FMT_CRLF   0x0A
#define FE_RECORD_FMT_LFCR   0x0B
#define FE_RECORD_DISPLAY_ATTR_UNDEF   0x00
#define FE_RECORD_DISPLAY_ATTR_1   0x01
#define FE_RECORD_DISPLAY_ATTR_2   0x02
#define FE_RECORD_DISPLAY_ATTR_3   0x03
#define FTE_CREATION   0x00000001
#define FTE_DELETION   0x00000004
#define FTE_EFFECTIVE   0x00000008
#define FTE_BACKUP   0x00000002
#define EXTATTR_CHAR_SET   1
#define EXTATTR_ALT_PERMS   3
#define EXTATTR_FILE_TIMES   5
#define EXTATTR_INFO_TIMES   6
#define EXTATTR_DEV_SPEC   12
#define EXTATTR_IMP_USE   2048
#define EXTATTR_APP_USE   65536
#define EXT_RECORDED_ALLOCATED   0x00000000
#define EXT_NOT_RECORDED_ALLOCATED   0x40000000
#define EXT_NOT_RECORDED_NOT_ALLOCATED   0x80000000
#define EXT_NEXT_EXTENT_ALLOCDECS   0xC0000000

Typedefs

typedef uint8_t udf_Uint8_t
typedef uint16_t udf_Uint16_t
typedef uint32_t udf_Uint32_t
typedef uint64_t udf_Uint64_t
typedef char udf_dstring
typedef udf_charspec_s udf_charspec_t
typedef udf_timestamp_s udf_timestamp_t
typedef udf_id_suffix_s udf_id_suffix_t
typedef udf_regid_s udf_regid_t
typedef udf_extent_ad_s udf_extent_ad_t
typedef udf_tag_s udf_tag_t
typedef udf_pvd_s udf_pvd_t
typedef anchor_vol_desc_ptr_s anchor_vol_desc_ptr_t
typedef partition_desc_s partition_desc_t
typedef udf_lb_addr_s udf_lb_addr_t
typedef udf_short_ad_s udf_short_ad_t
typedef udf_long_ad_s udf_long_ad_t
typedef logical_vol_desc_s logical_vol_desc_t
typedef udf_ext_ad_s udf_ext_ad_t
typedef udf_fsd_s udf_fsd_t
typedef partition_header_desc_s partition_header_desc_t
typedef udf_fileid_desc_s udf_fileid_desc_t
typedef udf_icbtag_s udf_icbtag_t
typedef udf_file_entry_s udf_file_entry_t
typedef logical_vol_header_desc_s logical_vol_header_desc_t

Enumerations

enum  ecma_167_enum1_t {
  VSD_STD_ID_SIZE = 5, UDF_REGID_ID_SIZE = 23, UDF_VOLID_SIZE = 32, UDF_FID_SIZE = 38,
  UDF_VOLSET_ID_SIZE = 128
}
enum  tag_id_t {
  TAGID_PRI_VOL = 0x0001, TAGID_ANCHOR = 0x0002, TAGID_VOL = 0x0003, TAGID_IMP_VOL = 0x0004,
  TAGID_PARTITION = 0x0005, TAGID_LOGVOL = 0x0006, TAGID_UNALLOC_SPACE = 0x0007, TAGID_TERM = 0x0008,
  TAGID_LOGVOL_INTEGRITY = 0x0009, TAGID_FSD = 0x0100, TAGID_FID = 0x0101, TAGID_AED = 0x0102,
  TAGID_IE = 0x0103, TAGID_TE = 0x0104, TAGID_FILE_ENTRY = 0x0105, TAGID_EAHD = 0x0106,
  TAGID_USE = 0x0107, TAGID_SBD = 0x0108, TAGID_PIE = 0x0109, TAGID_EFE = 0x010A
}
enum  udf_charspec_enum_t {
  CHARSPEC_TYPE_CS0 = 0x00, CHARSPEC_TYPE_CS1 = 0x01, CHARSPEC_TYPE_CS2 = 0x02, CHARSPEC_TYPE_CS3 = 0x03,
  CHARSPEC_TYPE_CS4 = 0x04, CHARSPEC_TYPE_CS5 = 0x05, CHARSPEC_TYPE_CS6 = 0x06, CHARSPEC_TYPE_CS7 = 0x07,
  CHARSPEC_TYPE_CS8 = 0x08
}
enum  ecma_167_timezone_enum_t {
  TIMESTAMP_TYPE_CUT = 0x0000, TIMESTAMP_TYPE_LOCAL = 0x1000, TIMESTAMP_TYPE_AGREEMENT = 0x2000, TIMESTAMP_TYPE_MASK = 0xF000,
  TIMESTAMP_TIMEZONE_MASK = 0x0FFF
}
enum  file_characteristics_t {
  UDF_FILE_HIDDEN = (1 << 0), UDF_FILE_DIRECTORY = (1 << 1), UDF_FILE_DELETED = (1 << 2), UDF_FILE_PARENT = (1 << 3),
  UDF_FILE_METADATA = (1 << 4)
}
enum  icbtag_file_type_enum_t {
  ICBTAG_FILE_TYPE_UNDEF = 0x00, ICBTAG_FILE_TYPE_USE = 0x01, ICBTAG_FILE_TYPE_PIE = 0x02, ICBTAG_FILE_TYPE_IE = 0x03,
  ICBTAG_FILE_TYPE_DIRECTORY = 0x04, ICBTAG_FILE_TYPE_REGULAR = 0x05, ICBTAG_FILE_TYPE_BLOCK = 0x06, ICBTAG_FILE_TYPE_CHAR = 0x07,
  ICBTAG_FILE_TYPE_EA = 0x08, ICBTAG_FILE_TYPE_FIFO = 0x09, ICBTAG_FILE_TYPE_SOCKET = 0x0A, ICBTAG_FILE_TYPE_TE = 0x0B,
  ICBTAG_FILE_TYPE_SYMLINK = 0x0C, ICBTAG_FILE_TYPE_STREAMDIR = 0x0D
}
enum  icbtag_flag_enum_t {
  ICBTAG_FLAG_AD_MASK = 0x0007, ICBTAG_FLAG_AD_SHORT = 0x0000, ICBTAG_FLAG_AD_LONG = 0x0001, ICBTAG_FLAG_AD_EXTENDED = 0x0002,
  ICBTAG_FLAG_AD_IN_ICB = 0x0003, ICBTAG_FLAG_SORTED = 0x0008, ICBTAG_FLAG_NONRELOCATABLE = 0x0010, ICBTAG_FLAG_ARCHIVE = 0x0020,
  ICBTAG_FLAG_SETUID = 0x0040, ICBTAG_FLAG_SETGID = 0x0080, ICBTAG_FLAG_STICKY = 0x0100, ICBTAG_FLAG_CONTIGUOUS = 0x0200,
  ICBTAG_FLAG_SYSTEM = 0x0400, ICBTAG_FLAG_TRANSFORMED = 0x0800, ICBTAG_FLAG_MULTIVERSIONS = 0x1000, ICBTAG_FLAG_STREAM = 0x2000
}

Variables

PRAGMA_BEGIN_PACKED struct
udf_charspec_s 
GNUC_PACKED
udf_timestamp_s GNUC_PACKED
udf_id_suffix_s GNUC_PACKED
udf_regid_s GNUC_PACKED
vol_struct_desc_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]
beginning_extended_area_desc_s GNUC_PACKED
terminating_extended_area_desc_s GNUC_PACKED
boot_desc_s GNUC_PACKED
udf_extent_ad_s GNUC_PACKED
udf_tag_s GNUC_PACKED
NSR_desc_s GNUC_PACKED
udf_pvd_s GNUC_PACKED
anchor_vol_desc_ptr_s GNUC_PACKED
vol_desc_ptr_s GNUC_PACKED
imp_use_vol_desc_s GNUC_PACKED
partition_desc_s GNUC_PACKED
udf_lb_addr_s GNUC_PACKED
udf_short_ad_s GNUC_PACKED
udf_long_ad_s GNUC_PACKED
logical_vol_desc_s GNUC_PACKED
generic_partition_map GNUC_PACKED
generic_partition_map1 GNUC_PACKED
generic_partition_map2 GNUC_PACKED
unalloc_space_desc_s GNUC_PACKED
terminating_desc_s GNUC_PACKED
logvol_integrity_desc_s GNUC_PACKED
udf_ext_ad_s GNUC_PACKED
udf_fsd_s GNUC_PACKED
partition_header_desc_s GNUC_PACKED
udf_fileid_desc_s GNUC_PACKED
allocExtDesc GNUC_PACKED
udf_icbtag_s GNUC_PACKED
indirect_entry_s GNUC_PACKED
terminal_entry_s GNUC_PACKED
udf_file_entry_s GNUC_PACKED
extended_attr_header_desc_s GNUC_PACKED
generic_format_s GNUC_PACKED
charSet_info_s GNUC_PACKED
alt_perms_s GNUC_PACKED
filetimes_ext_attr_s GNUC_PACKED
infoTimesExtAttr GNUC_PACKED
deviceSpec GNUC_PACKED
impUseExtAttr GNUC_PACKED
appUseExtAttr GNUC_PACKED
unallocSpaceEntry GNUC_PACKED
spaceBitmapDesc GNUC_PACKED
partitionIntegrityEntry GNUC_PACKED
logical_vol_header_desc_s GNUC_PACKED
pathComponent GNUC_PACKED
extended_file_entry GNUC_PACKED
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


Detailed Description

Definitions based on ECMA-167 3rd edition (June 1997) See http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-167.pdf.


Define Documentation

#define _ECMA_167_H   1
 

#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
 

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"
 

Standard Identifier (EMCA 167r2 2/9.1.2)

#define VSD_STD_ID_NSR02   "NSR02"
 

Standard Identifier (EMCA 167r2 2/9.1.2)

#define VSD_STD_ID_NSR03   "NSR03"
 

ECMA-167 3/9.1

#define VSD_STD_ID_TEA01   "TEA01"
 

ECMA-168 2/9.3


Typedef Documentation

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_fsd_s udf_fsd_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_pvd_s udf_pvd_t
 

typedef struct udf_regid_s udf_regid_t
 

typedef struct udf_short_ad_s udf_short_ad_t
 

typedef struct udf_tag_s udf_tag_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
 


Enumeration Type Documentation

enum ecma_167_enum1_t
 

Imagine the below enum values as #define'd values rather than distinct values of an enum.

Enumerator:
VSD_STD_ID_SIZE 
UDF_REGID_ID_SIZE  Volume Structure Descriptor (ECMA 167r3 2/9.1) See identifier (ECMA 167r3 1/7.4)
UDF_VOLID_SIZE 
UDF_FID_SIZE 
UDF_VOLSET_ID_SIZE 

enum ecma_167_timezone_enum_t
 

Type and Time Zone (ECMA 167r3 1/7.3.1)

Imagine the below enum values as #define'd values rather than distinct values of an enum.

Enumerator:
TIMESTAMP_TYPE_CUT 
TIMESTAMP_TYPE_LOCAL 
TIMESTAMP_TYPE_AGREEMENT 
TIMESTAMP_TYPE_MASK 
TIMESTAMP_TIMEZONE_MASK 

enum file_characteristics_t
 

File Characteristics (ECMA 167r3 4/14.4.3)

Imagine the below enumeration values are #defines to be used in a bitmask rather than distinct values of an enum.

Enumerator:
UDF_FILE_HIDDEN 
UDF_FILE_DIRECTORY 
UDF_FILE_DELETED 
UDF_FILE_PARENT 
UDF_FILE_METADATA 

enum icbtag_file_type_enum_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.

Enumerator:
ICBTAG_FILE_TYPE_UNDEF 
ICBTAG_FILE_TYPE_USE 
ICBTAG_FILE_TYPE_PIE 
ICBTAG_FILE_TYPE_IE 
ICBTAG_FILE_TYPE_DIRECTORY 
ICBTAG_FILE_TYPE_REGULAR 
ICBTAG_FILE_TYPE_BLOCK 
ICBTAG_FILE_TYPE_CHAR 
ICBTAG_FILE_TYPE_EA 
ICBTAG_FILE_TYPE_FIFO 
ICBTAG_FILE_TYPE_SOCKET 
ICBTAG_FILE_TYPE_TE 
ICBTAG_FILE_TYPE_SYMLINK 
ICBTAG_FILE_TYPE_STREAMDIR 

enum icbtag_flag_enum_t
 

Flags (ECMA 167r3 4/14.6.8)

Enumerator:
ICBTAG_FLAG_AD_MASK  "&" this to get below address flags
ICBTAG_FLAG_AD_SHORT  The allocation descriptor field is filled with short_ad's. If the offset is beyond the current extent, look for the next extent.
ICBTAG_FLAG_AD_LONG  The allocation descriptor field is filled with long_ad's If the offset is beyond the current extent, look for the next extent.
ICBTAG_FLAG_AD_EXTENDED 
ICBTAG_FLAG_AD_IN_ICB  This type means that the file *data* is stored in the allocation descriptor field of the file entry.
ICBTAG_FLAG_SORTED 
ICBTAG_FLAG_NONRELOCATABLE 
ICBTAG_FLAG_ARCHIVE 
ICBTAG_FLAG_SETUID 
ICBTAG_FLAG_SETGID 
ICBTAG_FLAG_STICKY 
ICBTAG_FLAG_CONTIGUOUS 
ICBTAG_FLAG_SYSTEM 
ICBTAG_FLAG_TRANSFORMED 
ICBTAG_FLAG_MULTIVERSIONS 
ICBTAG_FLAG_STREAM 

enum tag_id_t
 

Tag Identifier (ECMA 167r3 3/7.2.1)

Enumerator:
TAGID_PRI_VOL 
TAGID_ANCHOR 
TAGID_VOL 
TAGID_IMP_VOL 
TAGID_PARTITION 
TAGID_LOGVOL 
TAGID_UNALLOC_SPACE 
TAGID_TERM 
TAGID_LOGVOL_INTEGRITY 
TAGID_FSD 
TAGID_FID 
TAGID_AED 
TAGID_IE 
TAGID_TE 
TAGID_FILE_ENTRY 
TAGID_EAHD 
TAGID_USE 
TAGID_SBD 
TAGID_PIE 
TAGID_EFE 

enum udf_charspec_enum_t
 

Character Set Type (ECMA 167r3 1/7.2.1.1)

Enumerator:
CHARSPEC_TYPE_CS0  Section 1/7.2.2
CHARSPEC_TYPE_CS1  Section 1/7.2.3
CHARSPEC_TYPE_CS2  Section 1/7.2.4
CHARSPEC_TYPE_CS3  Section 1/7.2.5
CHARSPEC_TYPE_CS4  Section 1/7.2.6
CHARSPEC_TYPE_CS5  Section 1/7.2.7
CHARSPEC_TYPE_CS6  Section 1/7.2.8
CHARSPEC_TYPE_CS7  Section 1/7.2.9
CHARSPEC_TYPE_CS8  Section 1/7.2.10


Variable Documentation

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
 

File Entry (ECMA 167r3 4/14.17)

struct pathComponent GNUC_PACKED
 

Path Component (ECMA 167r3 4/14.16.1)

struct logical_vol_header_desc_s GNUC_PACKED
 

Logical Volume Header Descriptor (ECMA 167r3 4/14.15)

struct partitionIntegrityEntry GNUC_PACKED
 

Partition Integrity Entry (ECMA 167r3 4/14.13)

struct spaceBitmapDesc GNUC_PACKED
 

Space Bitmap Descriptor (ECMA 167r3 4/14.12)

struct unallocSpaceEntry GNUC_PACKED
 

Unallocated Space Entry (ECMA 167r3 4/14.11)

struct appUseExtAttr GNUC_PACKED
 

Application Use Extended Attribute (ECMA 167r3 4/14.10.9)

struct impUseExtAttr GNUC_PACKED
 

Implementation Use Extended Attr (ECMA 167r3 4/14.10.8)

struct deviceSpec GNUC_PACKED
 

Device Specification (ECMA 167r3 4/14.10.7)

struct infoTimesExtAttr GNUC_PACKED
 

Information Times Extended Attribute (ECMA 167r3 4/14.10.6)

struct filetimes_ext_attr_s GNUC_PACKED
 

File Times Extended Attribute (ECMA 167r3 4/14.10.5)

struct alt_perms_s GNUC_PACKED
 

struct charSet_info_s GNUC_PACKED
 

Character Set Information (ECMA 167r3 4/14.10.3)

struct generic_format_s GNUC_PACKED
 

Generic Format (ECMA 167r3 4/14.10.2)

struct extended_attr_header_desc_s GNUC_PACKED
 

Extended Attribute Header Descriptor (ECMA 167r3 4/14.10.1)

struct udf_file_entry_s GNUC_PACKED
 

File Entry (ECMA 167r3 4/14.9)

struct terminal_entry_s GNUC_PACKED
 

Terminal Entry (ECMA 167r3 4/14.8)

struct indirect_entry_s GNUC_PACKED
 

Indirect Entry (ECMA 167r3 4/14.7)

struct udf_icbtag_s GNUC_PACKED
 

ICB Tag (ECMA 167r3 4/14.6)

struct allocExtDesc GNUC_PACKED
 

Allocation Ext Descriptor (ECMA 167r3 4/14.5)

struct udf_fileid_desc_s GNUC_PACKED
 

File Identifier Descriptor (ECMA 167r3 4/14.4)

struct partition_header_desc_s GNUC_PACKED
 

Partition Header Descriptor (ECMA 167r3 4/14.3)

struct udf_fsd_s GNUC_PACKED
 

File Set Descriptor (ECMA 167r3 4/14.1)

struct udf_ext_ad_s GNUC_PACKED
 

Extended Allocation Descriptor (ECMA 167r3 4/14.14.3)

struct logvol_integrity_desc_s GNUC_PACKED
 

Logical Volume Integrity Descriptor (ECMA 167r3 3/10.10)

struct terminating_desc_s GNUC_PACKED
 

Terminating Descriptor (ECMA 167r3 3/10.9)

struct unalloc_space_desc_s GNUC_PACKED
 

Unallocated Space Descriptor (ECMA 167r3 3/10.8)

struct generic_partition_map2 GNUC_PACKED
 

Type 2 Partition Map (ECMA 167r3 3/10.7.3)

struct generic_partition_map1 GNUC_PACKED
 

Type 1 Partition Map (ECMA 167r3 3/10.7.2)

struct generic_partition_map GNUC_PACKED
 

Generic Partition Map (ECMA 167r3 3/10.7.1)

struct logical_vol_desc_s GNUC_PACKED
 

Logical Volume Descriptor (ECMA 167r3 3/10.6)

struct udf_long_ad_s GNUC_PACKED
 

Long Allocation Descriptor (ECMA 167r3 4/14.14.2)

struct udf_short_ad_s GNUC_PACKED
 

Short Allocation Descriptor (ECMA 167r3 4/14.14.1)

struct udf_lb_addr_s GNUC_PACKED
 

Recorded Address (ECMA 167r3 4/7.1)

struct partition_desc_s GNUC_PACKED
 

Partition Descriptor (ECMA 167r3 3/10.5)

struct imp_use_vol_desc_s GNUC_PACKED
 

Implementation Use Volume Descriptor (ECMA 167r3 3/10.4)

struct vol_desc_ptr_s GNUC_PACKED
 

Volume Descriptor Pointer (ECMA 167r3 3/10.3)

struct anchor_vol_desc_ptr_s GNUC_PACKED
 

Anchor Volume Descriptor Pointer (ECMA 167r3 3/10.2)

struct udf_pvd_s GNUC_PACKED
 

Primary Volume Descriptor (ECMA 167r3 3/10.1)

struct NSR_desc_s GNUC_PACKED
 

NSR Descriptor (ECMA 167r3 3/9.1)

struct udf_tag_s GNUC_PACKED
 

Descriptor Tag (ECMA 167r3 3/7.2)

struct udf_extent_ad_s GNUC_PACKED
 

Extent Descriptor (ECMA 167r3 3/7.1)

struct boot_desc_s GNUC_PACKED
 

Boot Descriptor (ECMA 167r3 2/9.4)

struct terminating_extended_area_desc_s GNUC_PACKED
 

Terminating Extended Area Descriptor (ECMA 167r3 2/9.3)

struct beginning_extended_area_desc_s GNUC_PACKED
 

Beginning Extended Area Descriptor (ECMA 167r3 2/9.2)

struct vol_struct_desc_s GNUC_PACKED
 

Volume Structure Descriptor (ECMA 167r3 2/9.1)

struct udf_regid_s GNUC_PACKED
 

Entity identifier (ECMA 167r3 1/7.4)

struct udf_id_suffix_s GNUC_PACKED
 

struct udf_timestamp_s GNUC_PACKED
 

Timestamp (ECMA 167r3 1/7.3)

PRAGMA_BEGIN_PACKED struct udf_charspec_s GNUC_PACKED
 

Character set specification (ECMA 167r3 1/7.2.1)

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]
 


Generated on Fri Oct 27 06:38:09 2006 for libcdio by  doxygen 1.4.6