libcdio 2.1.1
ecma_167.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2005, 2006, 2008, 2012, 2024 Rocky Bernstein <rocky@gnu.org>
3 Copyright (c) 2001-2002 Ben Fennema <bfennema@falcon.csc.calpoly.edu>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18/*
19 * Some portions taken from FreeBSD ecma167-udf.h which states:
20 * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
21 * All rights reserved.
22 *
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions
25 * are met:
26 * 1. Redistributions of source code must retain the above copyright
27 * notice, this list of conditions and the following disclaimer.
28 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
33 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
34 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
35 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
36 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
40 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
41 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
42 * SUCH DAMAGE.
43 */
44
52#ifndef CDIO_ECMA_167_H
53#define CDIO_ECMA_167_H 1
54
55#include <cdio/types.h>
56
69
72typedef enum {
73 TAGID_PRI_VOL = 0x0001,
74 TAGID_ANCHOR = 0x0002,
75 TAGID_VOL = 0x0003,
76 TAGID_IMP_VOL = 0x0004,
78 TAGID_LOGVOL = 0x0006,
80 TAGID_TERM = 0x0008,
82 TAGID_FSD = 0x0100,
83 TAGID_FID = 0x0101,
84 TAGID_AED = 0x0102,
85 TAGID_IE = 0x0103,
86 TAGID_TE = 0x0104,
88 TAGID_EAHD = 0x0106,
89 TAGID_USE = 0x0107,
90 TAGID_SBD = 0x0108,
91 TAGID_PIE = 0x0109,
92 TAGID_EFE = 0x010A,
93} tag_id_t ;
94
108
109typedef uint8_t udf_Uint8_t;
110typedef uint16_t udf_Uint16_t;
111typedef uint32_t udf_Uint32_t;
112typedef uint64_t udf_Uint64_t;
113typedef char udf_dstring;
115#define UDF_LENGTH_MASK 0x3fffffff
116
118
125
127
142
144
157
158
159#define TIMESTAMP_TYPE_MASK 0xF000
160#define TIMESTAMP_TYPE_CUT 0x0000
161#define TIMESTAMP_TYPE_LOCAL 0x1000
162#define TIMESTAMP_TYPE_AGREEMENT 0x2000
163#define TIMESTAMP_TIMEZONE_MASK 0x0FFF
164
172
174
182
184
186#define ENTITYID_FLAGS_DIRTY 0x00
187#define ENTITYID_FLAGS_PROTECTED 0x01
188
197
199#define VSD_STD_ID_NSR02 "NSR02" /* (3/9.1) */
200
203/* The below const definitions are to faciltate debugging of the
204 values #define'd below. */
205extern const char VSD_STD_ID_BEA01[sizeof("BEA01")-1];
206extern const char VSD_STD_ID_BOOT2[sizeof("BOOT2")-1];
207extern const char VSD_STD_ID_CD001[sizeof("CD001")-1];
208extern const char VSD_STD_ID_CDW01[sizeof("CDW02")-1];
209extern const char VSD_STD_ID_NSR03[sizeof("NSR03")-1];
210extern const char VSD_STD_ID_TEA01[sizeof("TEA01")-1];
211
212#define VSD_STD_ID_BEA01 "BEA01"
213#define VSD_STD_ID_BOOT2 "BOOT2"
214#define VSD_STD_ID_CD001 "CD001"
215#define VSD_STD_ID_CDW02 "CDW02"
216#define VSD_STD_ID_NSR02 "NSR02"
218#define VSD_STD_ID_NSR03 "NSR03"
219#define VSD_STD_ID_TEA01 "TEA01"
229
238
257
259#define BOOT_FLAGS_ERASE 0x01
260
267
269
282
283typedef struct udf_tag_s udf_tag_t;
284
294
321
322typedef struct udf_pvd_s udf_pvd_t;
323
325#define PVD_FLAGS_VSID_COMMON 0x0001
326
335
337
346
355
372
374
376#define PD_PARTITION_FLAGS_ALLOC 0x0001
377
379#define PD_PARTITION_CONTENTS_NSR02 "+NSR02"
380
382#define PD_PARTITION_CONTENTS_FDC01 "+FDC01"
383#define PD_PARTITION_CONTENTS_CD001 "+CD001"
384#define PD_PARTITION_CONTENTS_CDW02 "+CDW02"
385#define PD_PARTITION_CONTENTS_NSR03 "+NSR03"
386
388#define PD_ACCESS_TYPE_NONE 0x00000000
389#define PD_ACCESS_TYPE_READ_ONLY 0x00000001
390#define PD_ACCESS_TYPE_WRITE_ONCE 0x00000002
391#define PD_ACCESS_TYPE_REWRITABLE 0x00000003
392#define PD_ACCESS_TYPE_OVERWRITABLE 0x00000004
393
400
402
409
411
419
421
443
445
453
455#define GP_PARTITION_MAP_TYPE_UNDEF 0x00
456#define GP_PARTIITON_MAP_TYPE_1 0x01
457#define GP_PARTITION_MAP_TYPE_2 0x02
458
467
475
484
491
517
519#define LVID_INTEGRITY_TYPE_OPEN 0x00000000
520#define LVID_INTEGRITY_TYPE_CLOSE 0x00000001
521
530
532
560
561typedef struct udf_fsd_s udf_fsd_t;
562
573
575
578{
584 /* MSVC workaround for multiple zero sized arrays
585 Unlike what is the case with GNU, and against logic, an union of zero
586 sized arrays in the Microsoft world is not zero bytes but one byte!
587 Thus, for sizeof() to be consistent across platforms, we must use an
588 ugly workaround that attaches the union to the last non-zero member. */
589 union {
591 struct {
595 struct {
597 udf_Uint8_t data[0];
599 struct {
601 udf_Uint8_t data[0];
603 } u;
605
607
613typedef enum {
614 UDF_FILE_HIDDEN = (1 << 0),
617 UDF_FILE_PARENT = (1 << 3),
618 UDF_FILE_METADATA = (1 << 4)
620
628
641
643
644#define UDF_ICB_TAG_FLAGS_SETUID 0x40
645#define UDF_ICB_TAG_FLAGS_SETGID 0x80
646#define UDF_ICB_TAG_FLAGS_STICKY 0x100
647
650#define ICBTAG_STRATEGY_TYPE_UNDEF 0x0000
651#define ICBTAG_STRATEGY_TYPE_1 0x0001
652#define ICBTAG_STRATEGY_TYPE_2 0x0002
653#define ICBTAG_STRATEGY_TYPE_3 0x0003
654#define ICBTAG_STRATEGY_TYPE_4 0x0004
680
714
722
729
766
768
769#define UDF_FENTRY_SIZE 176
770#define UDF_FENTRY_PERM_USER_MASK 0x07
771#define UDF_FENTRY_PERM_GRP_MASK 0xE0
772#define UDF_FENTRY_PERM_OWNER_MASK 0x1C00
773
775#define FE_PERM_O_EXEC 0x00000001U
776#define FE_PERM_O_WRITE 0x00000002U
777#define FE_PERM_O_READ 0x00000004U
778#define FE_PERM_O_CHATTR 0x00000008U
779#define FE_PERM_O_DELETE 0x00000010U
780#define FE_PERM_G_EXEC 0x00000020U
781#define FE_PERM_G_WRITE 0x00000040U
782#define FE_PERM_G_READ 0x00000080U
783#define FE_PERM_G_CHATTR 0x00000100U
784#define FE_PERM_G_DELETE 0x00000200U
785#define FE_PERM_U_EXEC 0x00000400U
786#define FE_PERM_U_WRITE 0x00000800U
787#define FE_PERM_U_READ 0x00001000U
788#define FE_PERM_U_CHATTR 0x00002000U
789#define FE_PERM_U_DELETE 0x00004000U
790
792#define FE_RECORD_FMT_UNDEF 0x00
793#define FE_RECORD_FMT_FIXED_PAD 0x01
794#define FE_RECORD_FMT_FIXED 0x02
795#define FE_RECORD_FMT_VARIABLE8 0x03
796#define FE_RECORD_FMT_VARIABLE16 0x04
797#define FE_RECORD_FMT_VARIABLE16_MSB 0x05
798#define FE_RECORD_FMT_VARIABLE32 0x06
799#define FE_RECORD_FMT_PRINT 0x07
800#define FE_RECORD_FMT_LF 0x08
801#define FE_RECORD_FMT_CR 0x09
802#define FE_RECORD_FMT_CRLF 0x0A
803#define FE_RECORD_FMT_LFCR 0x0B
804
806#define FE_RECORD_DISPLAY_ATTR_UNDEF 0x00
807#define FE_RECORD_DISPLAY_ATTR_1 0x01
808#define FE_RECORD_DISPLAY_ATTR_2 0x02
809#define FE_RECORD_DISPLAY_ATTR_3 0x03
810
818
828
840
841/* Alternate Permissions (ECMA 167r3 4/14.10.4) */
852
864
866#define FTE_CREATION 0x00000001
867#define FTE_DELETION 0x00000004
868#define FTE_EFFECTIVE 0x00000008
869#define FTE_BACKUP 0x00000002
870
882
895
907
919
920#define EXTATTR_CHAR_SET 1
921#define EXTATTR_ALT_PERMS 3
922#define EXTATTR_FILE_TIMES 5
923#define EXTATTR_INFO_TIMES 6
924#define EXTATTR_DEV_SPEC 12
925#define EXTATTR_IMP_USE 2048
926#define EXTATTR_APP_USE 65536
927
928
937
946
958
962#define EXT_RECORDED_ALLOCATED 0x00000000
963#define EXT_NOT_RECORDED_ALLOCATED 0x40000000
964#define EXT_NOT_RECORDED_NOT_ALLOCATED 0x80000000
965#define EXT_NEXT_EXTENT_ALLOCDECS 0xC0000000
966
977
979
988
1027
1029
1035extern tag_id_t debug_tagid;
1041
1042#endif /* CDIO_ECMA_167_H */
uint64_t udf_Uint64_t
Definition ecma_167.h:112
const char VSD_STD_ID_CDW01[sizeof("CDW02") -1]
file_characteristics_t
Definition ecma_167.h:613
@ UDF_FILE_PARENT
Definition ecma_167.h:617
@ UDF_FILE_METADATA
Definition ecma_167.h:618
@ UDF_FILE_DIRECTORY
Definition ecma_167.h:615
@ UDF_FILE_HIDDEN
Definition ecma_167.h:614
@ UDF_FILE_DELETED
Definition ecma_167.h:616
#define VSD_STD_ID_NSR03
Definition ecma_167.h:218
uint32_t udf_Uint32_t
Definition ecma_167.h:111
tag_id_t
Definition ecma_167.h:72
@ TAGID_FSD
Definition ecma_167.h:82
@ TAGID_EAHD
Definition ecma_167.h:88
@ TAGID_VOL
Definition ecma_167.h:75
@ TAGID_UNALLOC_SPACE
Definition ecma_167.h:79
@ TAGID_EFE
Definition ecma_167.h:92
@ TAGID_TE
Definition ecma_167.h:86
@ TAGID_TERM
Definition ecma_167.h:80
@ TAGID_PARTITION
Definition ecma_167.h:77
@ TAGID_LOGVOL_INTEGRITY
Definition ecma_167.h:81
@ TAGID_AED
Definition ecma_167.h:84
@ TAGID_IE
Definition ecma_167.h:85
@ TAGID_USE
Definition ecma_167.h:89
@ TAGID_FILE_ENTRY
Definition ecma_167.h:87
@ TAGID_PIE
Definition ecma_167.h:91
@ TAGID_IMP_VOL
Definition ecma_167.h:76
@ TAGID_ANCHOR
Definition ecma_167.h:74
@ TAGID_LOGVOL
Definition ecma_167.h:78
@ TAGID_SBD
Definition ecma_167.h:90
@ TAGID_PRI_VOL
Definition ecma_167.h:73
@ TAGID_FID
Definition ecma_167.h:83
icbtag_file_type_enum_t debug_icbtag_file_type_enum
uint8_t udf_Uint8_t
Definition ecma_167.h:109
icbtag_file_type_enum_t
Definition ecma_167.h:664
@ ICBTAG_FILE_TYPE_FIFO
Definition ecma_167.h:674
@ ICBTAG_FILE_TYPE_CHAR
Definition ecma_167.h:672
@ ICBTAG_FILE_TYPE_BLOCK
Definition ecma_167.h:671
@ ICBTAG_FILE_TYPE_SOCKET
Definition ecma_167.h:675
@ ICBTAG_FILE_TYPE_STREAMDIR
Definition ecma_167.h:678
@ ICBTAG_FILE_TYPE_DIRECTORY
Definition ecma_167.h:669
@ ICBTAG_FILE_TYPE_USE
Definition ecma_167.h:666
@ ICBTAG_FILE_TYPE_TE
Definition ecma_167.h:676
@ ICBTAG_FILE_TYPE_REGULAR
Definition ecma_167.h:670
@ ICBTAG_FILE_TYPE_EA
Definition ecma_167.h:673
@ ICBTAG_FILE_TYPE_PIE
Definition ecma_167.h:667
@ ICBTAG_FILE_TYPE_SYMLINK
Definition ecma_167.h:677
@ ICBTAG_FILE_TYPE_IE
Definition ecma_167.h:668
@ ICBTAG_FILE_TYPE_UNDEF
Definition ecma_167.h:665
PRAGMA_END_PACKED tag_id_t debug_tagid
#define TIMESTAMP_TIMEZONE_MASK
Definition ecma_167.h:163
icbtag_flag_enum_t debug_flag_enum
#define TIMESTAMP_TYPE_MASK
Definition ecma_167.h:159
#define VSD_STD_ID_BOOT2
Definition ecma_167.h:213
#define TIMESTAMP_TYPE_AGREEMENT
Definition ecma_167.h:162
#define TIMESTAMP_TYPE_CUT
Definition ecma_167.h:160
ecma_167_timezone_enum_t debug_ecma_167_timezone_enum
uint16_t udf_Uint16_t
Definition ecma_167.h:110
char udf_dstring
Definition ecma_167.h:113
ecma_167_timezone_enum_t
Definition ecma_167.h:150
ecma_167_enum1_t debug_ecma_167_enum1
#define VSD_STD_ID_TEA01
Definition ecma_167.h:219
PRAGMA_BEGIN_PACKED struct udf_charspec_s GNUC_PACKED
ecma_167_enum1_t
Definition ecma_167.h:61
@ UDF_FID_SIZE
Definition ecma_167.h:66
@ UDF_REGID_ID_SIZE
Definition ecma_167.h:64
@ UDF_VOLSET_ID_SIZE
Definition ecma_167.h:67
@ VSD_STD_ID_SIZE
Definition ecma_167.h:62
@ UDF_VOLID_SIZE
Definition ecma_167.h:65
#define VSD_STD_ID_CD001
Definition ecma_167.h:214
file_characteristics_t debug_file_characteristics
#define VSD_STD_ID_BEA01
Definition ecma_167.h:212
icbtag_flag_enum_t
Definition ecma_167.h:682
@ ICBTAG_FLAG_SETUID
Definition ecma_167.h:705
@ ICBTAG_FLAG_AD_SHORT
Definition ecma_167.h:685
@ ICBTAG_FLAG_STICKY
Definition ecma_167.h:707
@ ICBTAG_FLAG_CONTIGUOUS
Definition ecma_167.h:708
@ ICBTAG_FLAG_SYSTEM
Definition ecma_167.h:709
@ ICBTAG_FLAG_AD_LONG
Definition ecma_167.h:691
@ ICBTAG_FLAG_TRANSFORMED
Definition ecma_167.h:710
@ ICBTAG_FLAG_AD_IN_ICB
Definition ecma_167.h:698
@ ICBTAG_FLAG_SETGID
Definition ecma_167.h:706
@ ICBTAG_FLAG_SORTED
Definition ecma_167.h:702
@ ICBTAG_FLAG_MULTIVERSIONS
Definition ecma_167.h:711
@ ICBTAG_FLAG_STREAM
Definition ecma_167.h:712
@ ICBTAG_FLAG_AD_EXTENDED
Definition ecma_167.h:697
@ ICBTAG_FLAG_AD_MASK
Definition ecma_167.h:683
@ ICBTAG_FLAG_ARCHIVE
Definition ecma_167.h:704
@ ICBTAG_FLAG_NONRELOCATABLE
Definition ecma_167.h:703
udf_charspec_enum_t
Definition ecma_167.h:96
@ CHARSPEC_TYPE_CS0
Definition ecma_167.h:97
@ CHARSPEC_TYPE_CS6
Definition ecma_167.h:103
@ CHARSPEC_TYPE_CS8
Definition ecma_167.h:106
@ CHARSPEC_TYPE_CS7
Definition ecma_167.h:104
@ CHARSPEC_TYPE_CS2
Definition ecma_167.h:99
@ CHARSPEC_TYPE_CS4
Definition ecma_167.h:101
@ CHARSPEC_TYPE_CS3
Definition ecma_167.h:100
@ CHARSPEC_TYPE_CS1
Definition ecma_167.h:98
@ CHARSPEC_TYPE_CS5
Definition ecma_167.h:102
#define TIMESTAMP_TYPE_LOCAL
Definition ecma_167.h:161
Definition ecma_167.h:287
udf_Uint8_t struct_version
Definition ecma_167.h:290
udf_Uint8_t reserved
Definition ecma_167.h:291
udf_Uint8_t struct_type
Definition ecma_167.h:288
udf_Uint8_t struct_data[2040]
Definition ecma_167.h:292
udf_Uint8_t std_id[VSD_STD_ID_SIZE]
Definition ecma_167.h:289
Definition ecma_167.h:623
udf_Uint32_t u_alloc_descs
Definition ecma_167.h:626
udf_Uint32_t previous_alloc_ext_loc
Definition ecma_167.h:625
udf_tag_t tag
Definition ecma_167.h:624
Definition ecma_167.h:843
udf_Uint16_t owner_id
Definition ecma_167.h:848
udf_Uint16_t group_id
Definition ecma_167.h:849
udf_Uint16_t permission
Definition ecma_167.h:850
udf_Uint8_t attr_subtype
Definition ecma_167.h:845
udf_Uint32_t attrLength
Definition ecma_167.h:847
udf_Uint32_t attr_type
Definition ecma_167.h:844
udf_Uint8_t reserved[3]
Definition ecma_167.h:846
Definition ecma_167.h:329
udf_extent_ad_t main_vol_desc_seq_ext
Definition ecma_167.h:331
udf_tag_t tag
Definition ecma_167.h:330
udf_Uint8_t reserved[480]
Definition ecma_167.h:333
udf_extent_ad_t reserve_vol_desc_seq_ext
Definition ecma_167.h:332
Definition ecma_167.h:910
udf_Uint32_t appUseLength
Definition ecma_167.h:915
udf_Uint32_t attrLength
Definition ecma_167.h:914
udf_Uint8_t attr_subtype
Definition ecma_167.h:912
udf_Uint32_t attr_type
Definition ecma_167.h:911
udf_Uint8_t reserved[3]
Definition ecma_167.h:913
udf_regid_t app_id
Definition ecma_167.h:916
udf_Uint8_t appUse[0]
Definition ecma_167.h:917
Definition ecma_167.h:223
udf_Uint8_t struct_version
Definition ecma_167.h:226
udf_Uint8_t struct_type
Definition ecma_167.h:224
udf_Uint8_t struct_data[2041]
Definition ecma_167.h:227
udf_Uint8_t std_id[VSD_STD_ID_SIZE]
Definition ecma_167.h:225
Definition ecma_167.h:241
udf_Uint32_t bool_ext_location
Definition ecma_167.h:248
udf_Uint8_t struct_version
Definition ecma_167.h:244
udf_Uint32_t bool_ext_length
Definition ecma_167.h:249
udf_Uint8_t struct_type
Definition ecma_167.h:242
udf_Uint8_t reserved1
Definition ecma_167.h:245
udf_Uint16_t flags
Definition ecma_167.h:253
udf_Uint8_t reserved2[32]
Definition ecma_167.h:254
udf_Uint64_t start_address
Definition ecma_167.h:251
udf_timestamp_t desc_creation_time
Definition ecma_167.h:252
udf_Uint8_t std_ident[VSD_STD_ID_SIZE]
Definition ecma_167.h:243
udf_regid_t arch_type
Definition ecma_167.h:246
udf_regid_t boot_ident
Definition ecma_167.h:247
udf_Uint8_t boot_use[1906]
Definition ecma_167.h:255
udf_Uint64_t load_address
Definition ecma_167.h:250
Definition ecma_167.h:831
udf_Uint32_t attrLength
Definition ecma_167.h:835
udf_Uint8_t charSetType
Definition ecma_167.h:837
udf_Uint32_t attr_type
Definition ecma_167.h:832
udf_Uint32_t escapeSeqLength
Definition ecma_167.h:836
udf_Uint8_t escapeSeq[0]
Definition ecma_167.h:838
udf_Uint8_t reserved[3]
Definition ecma_167.h:834
udf_Uint8_t attr_subtype
Definition ecma_167.h:833
Definition ecma_167.h:885
udf_Uint8_t attr_subtype
Definition ecma_167.h:887
udf_Uint8_t imp_use[0]
Definition ecma_167.h:893
udf_Uint8_t reserved[3]
Definition ecma_167.h:888
udf_Uint32_t attrLength
Definition ecma_167.h:889
udf_Uint32_t minorDevice_id
Definition ecma_167.h:892
udf_Uint32_t majorDevice_id
Definition ecma_167.h:891
udf_Uint32_t attr_type
Definition ecma_167.h:886
udf_Uint32_t imp_useLength
Definition ecma_167.h:890
Definition ecma_167.h:813
udf_Uint32_t app_attr_location
Definition ecma_167.h:816
udf_Uint32_t imp_attr_location
Definition ecma_167.h:815
udf_tag_t tag
Definition ecma_167.h:814
Definition ecma_167.h:991
udf_Uint64_t unique_ID
Definition ecma_167.h:1018
udf_Uint16_t link_count
Definition ecma_167.h:997
udf_long_ad_t stream_directory_ICB
Definition ecma_167.h:1016
udf_timestamp_t attribute_time
Definition ecma_167.h:1010
udf_tag_t tag
Definition ecma_167.h:992
udf_timestamp_t modification_time
Definition ecma_167.h:1006
udf_timestamp_t access_time
Definition ecma_167.h:1004
udf_Uint8_t rec_display_attr
Definition ecma_167.h:999
udf_icbtag_t icb_tag
Definition ecma_167.h:993
udf_long_ad_t ext_attr_ICB
Definition ecma_167.h:1015
udf_timestamp_t create_time
Definition ecma_167.h:1009
udf_Uint32_t gid
Definition ecma_167.h:995
udf_Uint8_t alloc_descs[0]
Definition ecma_167.h:1023
udf_Uint32_t checkpoint
Definition ecma_167.h:1013
udf_Uint64_t logblks_recorded
Definition ecma_167.h:1003
union extended_file_entry::@10 u
udf_regid_t imp_id
Definition ecma_167.h:1017
udf_Uint64_t info_len
Definition ecma_167.h:1001
udf_Uint32_t reserved
Definition ecma_167.h:1014
udf_Uint64_t object_size
Definition ecma_167.h:1002
udf_Uint32_t permissions
Definition ecma_167.h:996
udf_Uint32_t length_extended_attr
Definition ecma_167.h:1019
udf_Uint32_t uid
Definition ecma_167.h:994
udf_Uint8_t pad_to_one_block[2048-216]
Definition ecma_167.h:1024
udf_Uint32_t record_len
Definition ecma_167.h:1000
udf_Uint8_t ext_attr[0]
Definition ecma_167.h:1022
udf_Uint32_t length_alloc_descs
Definition ecma_167.h:1020
udf_Uint8_t rec_format
Definition ecma_167.h:998
Definition ecma_167.h:855
udf_Uint8_t attr_subtype
Definition ecma_167.h:857
udf_Uint8_t reserved[3]
Definition ecma_167.h:858
udf_Uint32_t attrLength
Definition ecma_167.h:859
udf_Uint8_t fileTimes
Definition ecma_167.h:862
udf_Uint32_t fileTimeExistence
Definition ecma_167.h:861
udf_Uint32_t dataLength
Definition ecma_167.h:860
udf_Uint32_t attr_type
Definition ecma_167.h:856
Definition ecma_167.h:821
udf_Uint8_t attrData[0]
Definition ecma_167.h:826
udf_Uint32_t attrLength
Definition ecma_167.h:825
udf_Uint32_t attr_type
Definition ecma_167.h:822
udf_Uint8_t reserved[3]
Definition ecma_167.h:824
udf_Uint8_t attr_subtype
Definition ecma_167.h:823
Definition ecma_167.h:461
udf_Uint8_t partition_map_length
Definition ecma_167.h:463
udf_Uint8_t partition_map_type
Definition ecma_167.h:462
udf_Uint16_t vol_seq_num
Definition ecma_167.h:464
udf_Uint16_t i_partition
Definition ecma_167.h:465
Definition ecma_167.h:470
udf_Uint8_t partition_id[62]
Definition ecma_167.h:473
udf_Uint8_t partition_map_type
Definition ecma_167.h:471
udf_Uint8_t partition_map_length
Definition ecma_167.h:472
Definition ecma_167.h:448
udf_Uint8_t partition_map_type
Definition ecma_167.h:449
udf_Uint8_t partition_map_length
Definition ecma_167.h:450
udf_Uint8_t partition_mapping[0]
Definition ecma_167.h:451
Definition ecma_167.h:898
udf_regid_t imp_id
Definition ecma_167.h:904
udf_Uint8_t reserved[3]
Definition ecma_167.h:901
udf_Uint32_t attrLength
Definition ecma_167.h:902
udf_Uint8_t attr_subtype
Definition ecma_167.h:900
udf_Uint32_t attr_type
Definition ecma_167.h:899
udf_Uint32_t imp_useLength
Definition ecma_167.h:903
udf_Uint8_t imp_use[0]
Definition ecma_167.h:905
Definition ecma_167.h:349
udf_Uint32_t vol_desc_seq_num
Definition ecma_167.h:351
udf_regid_t imp_id
Definition ecma_167.h:352
udf_Uint8_t imp_use[460]
Definition ecma_167.h:353
udf_tag_t tag
Definition ecma_167.h:350
Definition ecma_167.h:717
udf_long_ad_t indirect_ICB
Definition ecma_167.h:720
udf_icbtag_t icb_tag
Definition ecma_167.h:719
udf_tag_t tag
Definition ecma_167.h:718
Definition ecma_167.h:873
udf_Uint32_t attrLength
Definition ecma_167.h:877
udf_Uint8_t attr_subtype
Definition ecma_167.h:875
udf_Uint8_t reserved[3]
Definition ecma_167.h:876
udf_Uint32_t attr_type
Definition ecma_167.h:874
udf_Uint32_t infoTimeExistence
Definition ecma_167.h:879
udf_Uint8_t infoTimes[0]
Definition ecma_167.h:880
udf_Uint32_t dataLength
Definition ecma_167.h:878
Definition ecma_167.h:424
udf_Uint32_t logical_blocksize
Definition ecma_167.h:429
udf_Uint32_t maptable_len
Definition ecma_167.h:436
udf_Uint32_t i_partition_maps
Definition ecma_167.h:437
udf_Uint8_t logvol_content_use[16]
Definition ecma_167.h:433
udf_tag_t tag
Definition ecma_167.h:425
udf_Uint8_t imp_use[128]
Definition ecma_167.h:439
udf_extent_ad_t integrity_seq_ext
Definition ecma_167.h:440
udf_regid_t imp_id
Definition ecma_167.h:438
udf_long_ad_t fsd_loc
Definition ecma_167.h:432
udf_charspec_t desc_charset
Definition ecma_167.h:427
udf_Uint8_t partition_maps[0]
Definition ecma_167.h:441
udf_dstring logvol_id[128]
Definition ecma_167.h:428
udf_Uint32_t seq_num
Definition ecma_167.h:426
union logical_vol_desc_s::@0 lvd_use
udf_regid_t domain_id
Definition ecma_167.h:430
udf_Uint8_t logvol_contents_use[16]
Definition ecma_167.h:435
Definition ecma_167.h:973
udf_Uint64_t uniqueID
Definition ecma_167.h:974
udf_Uint8_t reserved[24]
Definition ecma_167.h:975
Definition ecma_167.h:494
udf_Uint8_t logvol_contents_use[32]
Definition ecma_167.h:499
udf_extent_ad_t next_integrity_ext
Definition ecma_167.h:498
udf_Uint32_t unused
Definition ecma_167.h:504
udf_tag_t tag
Definition ecma_167.h:495
udf_Uint32_t i_partitions
Definition ecma_167.h:500
union logvol_integrity_desc_s::@1 u
udf_Uint32_t imp_use_len
Definition ecma_167.h:502
struct logvol_integrity_desc_s::@1::@3 size_table
udf_Uint32_t integrity_type
Definition ecma_167.h:497
struct logvol_integrity_desc_s::@1::@2 freespace_table
udf_Uint32_t data[0]
Definition ecma_167.h:505
udf_timestamp_t recording_time
Definition ecma_167.h:496
struct logvol_integrity_desc_s::@1::@4 imp_use
Definition ecma_167.h:949
udf_timestamp_t recording_time
Definition ecma_167.h:952
udf_regid_t imp_id
Definition ecma_167.h:955
udf_tag_t tag
Definition ecma_167.h:950
udf_Uint8_t integrityType
Definition ecma_167.h:953
udf_Uint8_t reserved[175]
Definition ecma_167.h:954
udf_icbtag_t icb_tag
Definition ecma_167.h:951
udf_Uint8_t imp_use[256]
Definition ecma_167.h:956
Definition ecma_167.h:358
udf_Uint16_t flags
Definition ecma_167.h:361
udf_Uint32_t start_loc
Definition ecma_167.h:366
udf_Uint32_t vol_desc_seq_num
Definition ecma_167.h:360
udf_Uint32_t part_len
Definition ecma_167.h:367
udf_Uint16_t number
Definition ecma_167.h:362
udf_Uint8_t contents_use[128]
Definition ecma_167.h:364
udf_tag_t tag
Definition ecma_167.h:359
udf_Uint8_t imp_use[128]
Definition ecma_167.h:369
udf_regid_t imp_id
Definition ecma_167.h:368
udf_Uint8_t reserved[156]
Definition ecma_167.h:370
udf_Uint32_t access_type
Definition ecma_167.h:365
udf_regid_t contents
Definition ecma_167.h:363
Definition ecma_167.h:565
udf_short_ad_t partition_integrity_table
Definition ecma_167.h:568
udf_Uint8_t reserved[88]
Definition ecma_167.h:571
udf_short_ad_t unalloc_space_bitmap
Definition ecma_167.h:567
udf_short_ad_t unalloc_space_table
Definition ecma_167.h:566
udf_short_ad_t freed_space_table
Definition ecma_167.h:569
udf_short_ad_t freed_space_bitmap
Definition ecma_167.h:570
Definition ecma_167.h:982
udf_dstring component_id[0]
Definition ecma_167.h:986
udf_Uint8_t lengthComponent_id
Definition ecma_167.h:984
udf_Uint8_t component_type
Definition ecma_167.h:983
udf_Uint16_t componentFileVersionNum
Definition ecma_167.h:985
Definition ecma_167.h:940
udf_Uint32_t i_bits
Definition ecma_167.h:942
udf_Uint32_t i_bytes
Definition ecma_167.h:943
udf_tag_t tag
Definition ecma_167.h:941
udf_Uint8_t bitmap[0]
Definition ecma_167.h:944
Definition ecma_167.h:725
udf_tag_t tag
Definition ecma_167.h:726
udf_icbtag_t icb_tag
Definition ecma_167.h:727
Definition ecma_167.h:487
udf_Uint8_t reserved[496]
Definition ecma_167.h:489
udf_tag_t tag
Definition ecma_167.h:488
Definition ecma_167.h:232
udf_Uint8_t std_id[VSD_STD_ID_SIZE]
Definition ecma_167.h:234
udf_Uint8_t struct_data[2041]
Definition ecma_167.h:236
udf_Uint8_t struct_type
Definition ecma_167.h:233
udf_Uint8_t struct_version
Definition ecma_167.h:235
Definition ecma_167.h:121
udf_Uint8_t charset_type
Definition ecma_167.h:122
udf_Uint8_t charset_info[63]
Definition ecma_167.h:123
Definition ecma_167.h:524
udf_lb_addr_t ext_loc
Definition ecma_167.h:528
udf_Uint32_t recorded_len
Definition ecma_167.h:526
udf_Uint32_t len
Definition ecma_167.h:525
udf_Uint32_t information_len
Definition ecma_167.h:527
Definition ecma_167.h:263
udf_Uint32_t len
Definition ecma_167.h:264
udf_Uint32_t loc
Definition ecma_167.h:265
Definition ecma_167.h:732
udf_Uint8_t alloc_descs[0]
Definition ecma_167.h:762
udf_timestamp_t attribute_time
Definition ecma_167.h:750
udf_Uint64_t unique_ID
Definition ecma_167.h:754
udf_Uint32_t u_alloc_descs
Definition ecma_167.h:756
udf_Uint32_t rec_len
Definition ecma_167.h:741
udf_Uint32_t uid
Definition ecma_167.h:735
udf_timestamp_t access_time
Definition ecma_167.h:744
udf_Uint8_t pad_to_one_block[2048-176]
Definition ecma_167.h:763
udf_Uint64_t info_len
Definition ecma_167.h:742
udf_Uint8_t rec_disp_attr
Definition ecma_167.h:740
udf_Uint8_t rec_format
Definition ecma_167.h:739
udf_timestamp_t modification_time
Definition ecma_167.h:747
udf_Uint32_t checkpoint
Definition ecma_167.h:751
udf_tag_t tag
Definition ecma_167.h:733
udf_Uint64_t logblks_recorded
Definition ecma_167.h:743
udf_Uint16_t link_count
Definition ecma_167.h:738
udf_Uint32_t permissions
Definition ecma_167.h:737
udf_Uint8_t ext_attr[0]
Definition ecma_167.h:761
udf_regid_t imp_id
Definition ecma_167.h:753
udf_Uint32_t u_extended_attr
Definition ecma_167.h:755
union udf_file_entry_s::@9 u
udf_icbtag_t icb_tag
Definition ecma_167.h:734
udf_long_ad_t ext_attr_ICB
Definition ecma_167.h:752
udf_Uint32_t gid
Definition ecma_167.h:736
Definition ecma_167.h:578
union udf_fileid_desc_s::@5 u
udf_tag_t tag
Definition ecma_167.h:579
udf_Uint16_t unused
Definition ecma_167.h:592
struct udf_fileid_desc_s::@5::@8 padding
udf_Uint8_t file_characteristics
Definition ecma_167.h:581
udf_Uint8_t data[0]
Definition ecma_167.h:593
udf_Uint8_t i_file_id
Definition ecma_167.h:582
udf_long_ad_t icb
Definition ecma_167.h:583
udf_Uint16_t file_version_num
Definition ecma_167.h:580
struct udf_fileid_desc_s::@5::@7 file_id
udf_Uint16_t i_imp_use
Definition ecma_167.h:590
struct udf_fileid_desc_s::@5::@6 imp_use
Definition ecma_167.h:539
udf_tag_t tag
Definition ecma_167.h:540
udf_charspec_t fileset_charset
Definition ecma_167.h:550
udf_charspec_t logical_vol_id_charset
Definition ecma_167.h:548
udf_Uint32_t charset_list
Definition ecma_167.h:544
udf_dstring fileSet_id[32]
Definition ecma_167.h:551
udf_Uint32_t udf_fsd_num
Definition ecma_167.h:547
udf_long_ad_t root_icb
Definition ecma_167.h:554
udf_Uint32_t fileset_num
Definition ecma_167.h:546
udf_long_ad_t next_ext
Definition ecma_167.h:556
udf_Uint16_t interchange_lvl
Definition ecma_167.h:542
udf_dstring logical_vol_id[128]
Definition ecma_167.h:549
udf_dstring copyright_file_id[32]
Definition ecma_167.h:552
udf_Uint16_t maxInterchange_lvl
Definition ecma_167.h:543
udf_long_ad_t stream_directory_ICB
Definition ecma_167.h:557
udf_Uint32_t max_charset_list
Definition ecma_167.h:545
udf_Uint8_t reserved[32]
Definition ecma_167.h:558
udf_regid_t domain_id
Definition ecma_167.h:555
udf_timestamp_t recording_time
Definition ecma_167.h:541
udf_dstring abstract_file_id[32]
Definition ecma_167.h:553
Definition ecma_167.h:631
udf_Uint16_t flags
Definition ecma_167.h:639
udf_lb_addr_t parent_ICB
Definition ecma_167.h:638
udf_Uint32_t prev_num_dirs
Definition ecma_167.h:632
udf_Uint16_t max_num_entries
Definition ecma_167.h:635
udf_Uint16_t strat_type
Definition ecma_167.h:633
udf_Uint16_t strat_param
Definition ecma_167.h:634
udf_Uint8_t reserved
Definition ecma_167.h:636
udf_Uint8_t file_type
Definition ecma_167.h:637
Definition ecma_167.h:166
udf_Uint8_t os_class
Definition ecma_167.h:168
udf_Uint8_t reserved[4]
Definition ecma_167.h:170
udf_Uint8_t os_identifier
Definition ecma_167.h:169
udf_Uint16_t udf_revision
Definition ecma_167.h:167
Definition ecma_167.h:396
udf_Uint32_t lba
Definition ecma_167.h:397
udf_Uint16_t partitionReferenceNum
Definition ecma_167.h:398
Definition ecma_167.h:414
udf_Uint8_t imp_use[6]
Definition ecma_167.h:417
udf_lb_addr_t loc
Definition ecma_167.h:416
udf_Uint32_t len
Definition ecma_167.h:415
Definition ecma_167.h:297
udf_charspec_t desc_charset
Definition ecma_167.h:309
udf_charspec_t explanatory_charset
Definition ecma_167.h:310
udf_extent_ad_t vol_abstract
Definition ecma_167.h:311
udf_dstring volset_id[UDF_VOLSET_ID_SIZE]
Definition ecma_167.h:308
udf_tag_t tag
Definition ecma_167.h:298
udf_Uint8_t reserved[22]
Definition ecma_167.h:319
udf_Uint32_t charset_list
Definition ecma_167.h:306
udf_Uint32_t predecessor_vol_desc_seq_location
Definition ecma_167.h:317
udf_timestamp_t recording_time
Definition ecma_167.h:314
udf_Uint16_t vol_seq_num
Definition ecma_167.h:302
udf_dstring vol_ident[UDF_VOLID_SIZE]
Definition ecma_167.h:301
udf_regid_t app_ident
Definition ecma_167.h:313
udf_Uint16_t max_vol_seqnum
Definition ecma_167.h:303
udf_Uint8_t imp_use[64]
Definition ecma_167.h:316
udf_extent_ad_t vol_copyright
Definition ecma_167.h:312
udf_Uint32_t vol_desc_seq_num
Definition ecma_167.h:299
udf_Uint32_t primary_vol_desc_num
Definition ecma_167.h:300
udf_regid_t imp_ident
Definition ecma_167.h:315
udf_Uint16_t flags
Definition ecma_167.h:318
udf_Uint16_t interchange_lvl
Definition ecma_167.h:304
udf_Uint32_t max_charset_list
Definition ecma_167.h:307
udf_Uint16_t max_interchange_lvl
Definition ecma_167.h:305
Definition ecma_167.h:177
udf_Uint8_t flags
Definition ecma_167.h:178
udf_id_suffix_t id_suffix
Definition ecma_167.h:180
Definition ecma_167.h:405
udf_Uint32_t len
Definition ecma_167.h:406
udf_Uint32_t pos
Definition ecma_167.h:407
Definition ecma_167.h:272
udf_Uint16_t desc_version
Definition ecma_167.h:274
udf_Uint8_t cksum
Definition ecma_167.h:275
udf_Uint8_t reserved
Definition ecma_167.h:276
udf_Uint16_t desc_CRC_len
Definition ecma_167.h:279
udf_Uint32_t loc
Definition ecma_167.h:280
udf_Uint16_t i_serial
Definition ecma_167.h:277
udf_Uint16_t id
Definition ecma_167.h:273
udf_Uint16_t desc_CRC
Definition ecma_167.h:278
Definition ecma_167.h:130
udf_Uint8_t second
Definition ecma_167.h:137
udf_Uint8_t month
Definition ecma_167.h:133
udf_Uint8_t hundreds_of_microseconds
Definition ecma_167.h:139
udf_Uint16_t type_tz
Definition ecma_167.h:131
udf_Uint8_t day
Definition ecma_167.h:134
udf_Uint8_t microseconds
Definition ecma_167.h:140
udf_Uint8_t minute
Definition ecma_167.h:136
udf_Uint16_t year
Definition ecma_167.h:132
udf_Uint8_t hour
Definition ecma_167.h:135
udf_Uint8_t centiseconds
Definition ecma_167.h:138
Definition ecma_167.h:931
udf_Uint32_t lengthAllocDescs
Definition ecma_167.h:934
udf_Uint8_t allocDescs[0]
Definition ecma_167.h:935
udf_tag_t tag
Definition ecma_167.h:932
udf_icbtag_t icb_tag
Definition ecma_167.h:933
Definition ecma_167.h:478
udf_Uint32_t u_alloc_descs
Definition ecma_167.h:481
udf_Uint32_t vol_desc_seq_num
Definition ecma_167.h:480
udf_extent_ad_t allocDescs[0]
Definition ecma_167.h:482
udf_tag_t tag
Definition ecma_167.h:479
Definition ecma_167.h:340
udf_Uint32_t vol_desc_seq_num
Definition ecma_167.h:342
udf_Uint8_t reserved[484]
Definition ecma_167.h:344
udf_extent_ad_t next_vol_desc_set_ext
Definition ecma_167.h:343
udf_tag_t tag
Definition ecma_167.h:341
Definition ecma_167.h:191
udf_Uint8_t std_id[VSD_STD_ID_SIZE]
Definition ecma_167.h:193
udf_Uint8_t struct_type
Definition ecma_167.h:192
udf_Uint8_t struct_data[2041]
Definition ecma_167.h:195
udf_Uint8_t struct_version
Definition ecma_167.h:194
Common type definitions used pervasively in libcdio.
#define PRAGMA_BEGIN_PACKED
Definition types.h:152
#define PRAGMA_END_PACKED
Definition types.h:153