]> git.saurik.com Git - apple/xnu.git/blob - bsd/isofs/cd9660/cd9660_rrip.h
xnu-517.tar.gz
[apple/xnu.git] / bsd / isofs / cd9660 / cd9660_rrip.h
1 /*
2 * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25 /* $NetBSD: cd9660_rrip.h,v 1.6 1994/12/13 22:33:24 mycroft Exp $ */
26
27 /*-
28 * Copyright (c) 1993, 1994
29 * The Regents of the University of California. All rights reserved.
30 *
31 * This code is derived from software contributed to Berkeley
32 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension
33 * Support code is derived from software contributed to Berkeley
34 * by Atsushi Murai (amurai@spec.co.jp).
35 *
36 * Redistribution and use in source and binary forms, with or without
37 * modification, are permitted provided that the following conditions
38 * are met:
39 * 1. Redistributions of source code must retain the above copyright
40 * notice, this list of conditions and the following disclaimer.
41 * 2. Redistributions in binary form must reproduce the above copyright
42 * notice, this list of conditions and the following disclaimer in the
43 * documentation and/or other materials provided with the distribution.
44 * 3. All advertising materials mentioning features or use of this software
45 * must display the following acknowledgement:
46 * This product includes software developed by the University of
47 * California, Berkeley and its contributors.
48 * 4. Neither the name of the University nor the names of its contributors
49 * may be used to endorse or promote products derived from this software
50 * without specific prior written permission.
51 *
52 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
53 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
54 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
55 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
56 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
57 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
58 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
59 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
60 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
61 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62 * SUCH DAMAGE.
63 *
64 * @(#)cd9660_rrip.h 8.2 (Berkeley) 12/5/94
65 */
66 #ifndef __ISOFS_CD9660_CD9660_RRIP_H__
67 #define __ISOFS_CD9660_CD9660_RRIP_H__
68
69 #include <sys/appleapiopts.h>
70
71 #ifdef __APPLE_API_PRIVATE
72 typedef struct {
73 char type [ISODCL ( 0, 1)];
74 u_char length [ISODCL ( 2, 2)]; /* 711 */
75 u_char version [ISODCL ( 3, 3)];
76 } ISO_SUSP_HEADER;
77
78 typedef struct {
79 ISO_SUSP_HEADER h;
80 char mode [ISODCL ( 4, 11)]; /* 733 */
81 char links [ISODCL ( 12, 19)]; /* 733 */
82 char uid [ISODCL ( 20, 27)]; /* 733 */
83 char gid [ISODCL ( 28, 35)]; /* 733 */
84 } ISO_RRIP_ATTR;
85
86 typedef struct {
87 ISO_SUSP_HEADER h;
88 char dev_t_high [ISODCL ( 4, 11)]; /* 733 */
89 char dev_t_low [ISODCL ( 12, 19)]; /* 733 */
90 } ISO_RRIP_DEVICE;
91
92 #define ISO_SUSP_CFLAG_CONTINUE 0x01
93 #define ISO_SUSP_CFLAG_CURRENT 0x02
94 #define ISO_SUSP_CFLAG_PARENT 0x04
95 #define ISO_SUSP_CFLAG_ROOT 0x08
96 #define ISO_SUSP_CFLAG_VOLROOT 0x10
97 #define ISO_SUSP_CFLAG_HOST 0x20
98
99 typedef struct {
100 u_char cflag [ISODCL ( 1, 1)];
101 u_char clen [ISODCL ( 2, 2)];
102 u_char name [1]; /* XXX */
103 } ISO_RRIP_SLINK_COMPONENT;
104 #define ISO_RRIP_SLSIZ 2
105
106 typedef struct {
107 ISO_SUSP_HEADER h;
108 u_char flags [ISODCL ( 4, 4)];
109 u_char component [ISODCL ( 5, 5)];
110 } ISO_RRIP_SLINK;
111
112 typedef struct {
113 ISO_SUSP_HEADER h;
114 char flags [ISODCL ( 4, 4)];
115 } ISO_RRIP_ALTNAME;
116
117 typedef struct {
118 ISO_SUSP_HEADER h;
119 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
120 } ISO_RRIP_CLINK;
121
122 typedef struct {
123 ISO_SUSP_HEADER h;
124 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
125 } ISO_RRIP_PLINK;
126
127 typedef struct {
128 ISO_SUSP_HEADER h;
129 } ISO_RRIP_RELDIR;
130
131 #define ISO_SUSP_TSTAMP_FORM17 0x80
132 #define ISO_SUSP_TSTAMP_FORM7 0x00
133 #define ISO_SUSP_TSTAMP_CREAT 0x01
134 #define ISO_SUSP_TSTAMP_MODIFY 0x02
135 #define ISO_SUSP_TSTAMP_ACCESS 0x04
136 #define ISO_SUSP_TSTAMP_ATTR 0x08
137 #define ISO_SUSP_TSTAMP_BACKUP 0x10
138 #define ISO_SUSP_TSTAMP_EXPIRE 0x20
139 #define ISO_SUSP_TSTAMP_EFFECT 0x40
140
141 typedef struct {
142 ISO_SUSP_HEADER h;
143 u_char flags [ISODCL ( 4, 4)];
144 u_char time [ISODCL ( 5, 5)];
145 } ISO_RRIP_TSTAMP;
146
147 typedef struct {
148 ISO_SUSP_HEADER h;
149 u_char flags [ISODCL ( 4, 4)];
150 } ISO_RRIP_IDFLAG;
151
152 typedef struct {
153 ISO_SUSP_HEADER h;
154 char len_id [ISODCL ( 4, 4)];
155 char len_des [ISODCL ( 5, 5)];
156 char len_src [ISODCL ( 6, 6)];
157 char version [ISODCL ( 7, 7)];
158 } ISO_RRIP_EXTREF;
159
160 typedef struct {
161 ISO_SUSP_HEADER h;
162 char check [ISODCL ( 4, 5)];
163 char skip [ISODCL ( 6, 6)];
164 } ISO_RRIP_OFFSET;
165
166 typedef struct {
167 ISO_SUSP_HEADER h;
168 char location [ISODCL ( 4, 11)];
169 char offset [ISODCL ( 12, 19)];
170 char length [ISODCL ( 20, 27)];
171 } ISO_RRIP_CONT;
172
173 #endif /* __APPLE_API_PRIVATE */
174 #endif /* __ISOFS_CD9660_CD9660_RRIP_H__ */