libcdio 2.1.0
ecma_167.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2005, 2006, 2008, 2012 Rocky Bernstein <rocky@cpan.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
61typedef enum {
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
96typedef enum {
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
121{
125
127
130{
142
144
150typedef enum {
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
166{
172
174
177{
182
184
186#define ENTITYID_FLAGS_DIRTY 0x00
187#define ENTITYID_FLAGS_PROTECTED 0x01
188
191{
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"
223{
229
232{
238
241{
257
259#define BOOT_FLAGS_ERASE 0x01
260
263{
267
269
272{
282
283typedef struct udf_tag_s udf_tag_t;
284
287{
294
297{
321
322typedef struct udf_pvd_s udf_pvd_t;
323
325#define PVD_FLAGS_VSID_COMMON 0x0001
326
329{
335
337
340{
346
349{
355
358{
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
396{
400
402
405{
409
411
414{
419
421
424{
431 union {
443
445
448{
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
461{
467
470{
475
478{
484
487{
491
494{
501 union { /* Same MSVC workaround as with struct udf_fileid_desc_s */
503 struct {
507 struct {
511 struct {
515 } u;
517
519#define LVID_INTEGRITY_TYPE_OPEN 0x00000000
520#define LVID_INTEGRITY_TYPE_CLOSE 0x00000001
521
524{
530
532
539{
560
561typedef struct udf_fsd_s udf_fsd_t;
562
565{
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
623{
628
631{
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
664typedef enum {
680
682typedef enum {
683 ICBTAG_FLAG_AD_MASK = 0x0007,
685 ICBTAG_FLAG_AD_SHORT = 0x0000,
691 ICBTAG_FLAG_AD_LONG = 0x0001,
698 ICBTAG_FLAG_AD_IN_ICB = 0x0003,
712 ICBTAG_FLAG_STREAM = 0x2000
714
717{
722
725{
729
732{
757 /* The following union allows file entry reuse without worrying
758 about overflows, by ensuring the struct is always the
759 maximum possible size allowed by the specs: one UDF block. */
760 union {
764 } u;
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
813{
818
821{
828
831{
840
841/* Alternate Permissions (ECMA 167r3 4/14.10.4) */
843{
852
855{
864
866#define FTE_CREATION 0x00000001
867#define FTE_DELETION 0x00000004
868#define FTE_EFFECTIVE 0x00000008
869#define FTE_BACKUP 0x00000002
870
873{
882
885{
895
898{
907
910{
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
931{
937
940{
946
949{
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
973{
977
979
982{
988
991{
1021 union { /* MSVC workaround for multiple zero sized arrays */
1025 } u;
1026} GNUC_PACKED;
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 previous_alloc_ext_loc
Definition: ecma_167.h:625
udf_tag_t tag
Definition: ecma_167.h:624
udf_Uint32_t i_alloc_descs
Definition: ecma_167.h:626
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 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 i_extended_attr
Definition: ecma_167.h:755
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_Uint32_t i_alloc_descs
Definition: ecma_167.h:756
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
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 vol_desc_seq_num
Definition: ecma_167.h:480
udf_extent_ad_t allocDescs[0]
Definition: ecma_167.h:482
udf_Uint32_t i_alloc_descs
Definition: ecma_167.h:481
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:168
#define PRAGMA_END_PACKED
Definition: types.h:169

Generated for libcdio by doxygen 1.9.6