libcdio 2.4.0
xa.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2003, 2004, 2005, 2006, 2008, 2012, 2025
3 Rocky Bernstein <rocky@gnu.org>
4 Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
5
6 See also iso9660.h by Eric Youngdale (1993) and in cdrtools. These are
7
8 Copyright 1993 Yggdrasil Computing, Incorporated
9 Copyright (c) 1999,2000 J. Schilling
10
11 This program is free software: you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program. If not, see <http://www.gnu.org/licenses/>.
23*/
31
32␌
33#ifndef CDIO_XA_H_
34#define CDIO_XA_H_
35
36#ifdef __cplusplus
37extern "C" {
38#endif /* __cplusplus */
39
46 typedef enum {
48
49 /* The SYS variants are retained for backwards compatibility. They
50 have the same values as USR */
51 XA_PERM_RSYS = (1 << 0),
52 XA_PERM_XSYS = (1 << 2),
53
54 XA_PERM_RUSR = (1 << 0),
55 XA_PERM_XUSR = (1 << 2),
56
57 XA_PERM_RGRP = (1 << 4),
58 XA_PERM_XGRP = (1 << 6),
59
60 XA_PERM_ROTH = (1 << 8),
61 XA_PERM_XOTH = (1 << 10),
62
63 XA_ATTR_MODE2FORM1 = (1 << 11),
64 XA_ATTR_MODE2FORM2 = (1 << 12),
66 XA_ATTR_CDDA = (1 << 14),
67 XA_ATTR_DIRECTORY = (1 << 15),
68
72
77
78extern const char ISO_XA_MARKER_STRING[sizeof("CD-XA001")-1];
79
80#define ISO_XA_MARKER_STRING "CD-XA001"
81
104typedef struct iso9660_xa_s
105{
106 uint16_t group_id;
107 uint16_t user_id;
108 uint16_t attributes;
109 char signature[2];
110 uint8_t filenum;
111 uint8_t reserved[5];
113
114
119
148const char *
149iso9660_get_xa_attr_str (uint16_t xa_attr);
150
158iso9660_xa_init (iso9660_xa_t *_xa, uint16_t uid, uint16_t gid, uint16_t attr,
159 uint8_t filenum);
160
166void
168
169#ifdef __cplusplus
170}
171
177extern xa_misc_enum_t debugger_xa_misc_enum;
178
179
180#endif /* __cplusplus */
181
182#endif /* CDIO_XA_H_ */
183␌
184/*
185 * Local variables:
186 * c-file-style: "gnu"
187 * tab-width: 8
188 * indent-tabs-mode: nil
189 * End:
190 */
uint32_t posix_mode_t
Definition posix.h:26
#define GNUC_PACKED
Definition types.h:134
uint16_t user_id
"Extended Architecture" according to the Philips Yellow Book.
Definition xa.h:107
void iso9660_xa_free(iso9660_xa_t *_xa)
uint8_t reserved[5]
Definition xa.h:111
GNUC_PACKED iso9660_xa_t
Definition xa.h:112
xa_misc_enum_t
Definition xa.h:46
@ XA_FORM1_FILE
Definition xa.h:74
@ XA_PERM_RUSR
Definition xa.h:54
@ XA_FORM1_DIR
Definition xa.h:73
@ XA_PERM_XSYS
Definition xa.h:52
@ XA_PERM_ALL_EXEC
Definition xa.h:70
@ XA_ATTR_CDDA
Definition xa.h:66
@ XA_ATTR_MODE2FORM2
Definition xa.h:64
@ XA_PERM_ROTH
Definition xa.h:60
@ XA_PERM_XGRP
Definition xa.h:58
@ XA_PERM_RGRP
Definition xa.h:57
@ XA_FORM2_FILE
Definition xa.h:75
@ XA_PERM_RSYS
Definition xa.h:51
@ XA_ATTR_MODE2FORM1
Definition xa.h:63
@ XA_ATTR_INTERLEAVED
Definition xa.h:65
@ XA_PERM_ALL_READ
Definition xa.h:69
@ XA_PERM_XOTH
Definition xa.h:61
@ ISO_XA_MARKER_OFFSET
Definition xa.h:47
@ XA_PERM_XUSR
Definition xa.h:55
@ XA_ATTR_DIRECTORY
Definition xa.h:67
@ XA_PERM_ALL_ALL
Definition xa.h:71
#define ISO_XA_MARKER_STRING
Definition xa.h:80
char signature[2]
Definition xa.h:109
uint16_t attributes
Definition xa.h:108
const char * iso9660_get_xa_attr_str(uint16_t xa_attr)
posix_mode_t iso9660_get_posix_filemode_from_xa(uint16_t i_perms)
iso9660_xa_t * iso9660_xa_init(iso9660_xa_t *_xa, uint16_t uid, uint16_t gid, uint16_t attr, uint8_t filenum)
uint8_t filenum
Definition xa.h:110

Generated for libcdio by doxygen 1.15.0