libcdio
0.90
Main Page
Data Structures
Files
File List
Globals
include
cdio
xa.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2003, 2004, 2005, 2006, 2008, 2012
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
*/
32
33
#ifndef CDIO_XA_H_
34
#define CDIO_XA_H_
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
/* __cplusplus */
39
45
typedef
enum
{
46
ISO_XA_MARKER_OFFSET
= 1024,
47
XA_PERM_RSYS
= 0x0001,
48
XA_PERM_XSYS
= 0x0004,
50
XA_PERM_RUSR
= 0x0010,
51
XA_PERM_XUSR
= 0x0040,
53
XA_PERM_RGRP
= 0x0100,
54
XA_PERM_XGRP
= 0x0400,
56
XA_PERM_ROTH
= 0x1000,
57
XA_PERM_XOTH
= 0x4000,
59
XA_ATTR_MODE2FORM1
= (1 << 11),
60
XA_ATTR_MODE2FORM2
= (1 << 12),
61
XA_ATTR_INTERLEAVED
= (1 << 13),
62
XA_ATTR_CDDA
= (1 << 14),
63
XA_ATTR_DIRECTORY
= (1 << 15),
64
65
XA_PERM_ALL_READ
= (
XA_PERM_RUSR
|
XA_PERM_RSYS
|
XA_PERM_RGRP
),
66
XA_PERM_ALL_EXEC
= (
XA_PERM_XUSR
|
XA_PERM_XSYS
|
XA_PERM_XGRP
),
67
XA_PERM_ALL_ALL
= (
XA_PERM_ALL_READ
|
XA_PERM_ALL_EXEC
),
68
69
XA_FORM1_DIR
= (
XA_ATTR_DIRECTORY
|
XA_ATTR_MODE2FORM1
|
XA_PERM_ALL_ALL
),
70
XA_FORM1_FILE
= (
XA_ATTR_MODE2FORM1
|
XA_PERM_ALL_ALL
),
71
XA_FORM2_FILE
= (
XA_ATTR_MODE2FORM2
|
XA_PERM_ALL_ALL
)
72
}
xa_misc_enum_t
;
73
74
extern
const
char
ISO_XA_MARKER_STRING
[
sizeof
(
"CD-XA001"
)-1];
75
76
#define ISO_XA_MARKER_STRING "CD-XA001"
77
100
typedef
struct
iso9660_xa_s
101
{
102
uint16_t
group_id
;
103
uint16_t
user_id
;
104
uint16_t
attributes
;
105
char
signature
[2];
106
uint8_t
filenum
;
107
uint8_t
reserved
[5];
108
}
GNUC_PACKED
iso9660_xa_t
;
109
110
114
posix_mode_t
iso9660_get_posix_filemode_from_xa
(uint16_t i_perms);
115
144
const
char
*
145
iso9660_get_xa_attr_str
(uint16_t xa_attr);
146
153
iso9660_xa_t *
154
iso9660_xa_init
(iso9660_xa_t *_xa, uint16_t uid, uint16_t gid, uint16_t attr,
155
uint8_t filenum);
156
157
#ifdef __cplusplus
158
}
159
165
extern
xa_misc_enum_t
debugger_xa_misc_enum;
166
167
168
#endif
/* __cplusplus */
169
170
#endif
/* CDIO_XA_H_ */
171
172
/*
173
* Local variables:
174
* c-file-style: "gnu"
175
* tab-width: 8
176
* indent-tabs-mode: nil
177
* End:
178
*/
Generated for libcdio by
1.8.4