|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
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 ([email protected]). The Rock Ridge Extension
33: * Support code is derived from software contributed to Berkeley
34: * by Atsushi Murai ([email protected]).
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:
67: typedef struct {
68: char type [ISODCL ( 0, 1)];
69: u_char length [ISODCL ( 2, 2)]; /* 711 */
70: u_char version [ISODCL ( 3, 3)];
71: } ISO_SUSP_HEADER;
72:
73: typedef struct {
74: ISO_SUSP_HEADER h;
75: char mode [ISODCL ( 4, 11)]; /* 733 */
76: char links [ISODCL ( 12, 19)]; /* 733 */
77: char uid [ISODCL ( 20, 27)]; /* 733 */
78: char gid [ISODCL ( 28, 35)]; /* 733 */
79: } ISO_RRIP_ATTR;
80:
81: typedef struct {
82: ISO_SUSP_HEADER h;
83: char dev_t_high [ISODCL ( 4, 11)]; /* 733 */
84: char dev_t_low [ISODCL ( 12, 19)]; /* 733 */
85: } ISO_RRIP_DEVICE;
86:
87: #define ISO_SUSP_CFLAG_CONTINUE 0x01
88: #define ISO_SUSP_CFLAG_CURRENT 0x02
89: #define ISO_SUSP_CFLAG_PARENT 0x04
90: #define ISO_SUSP_CFLAG_ROOT 0x08
91: #define ISO_SUSP_CFLAG_VOLROOT 0x10
92: #define ISO_SUSP_CFLAG_HOST 0x20
93:
94: typedef struct {
95: u_char cflag [ISODCL ( 1, 1)];
96: u_char clen [ISODCL ( 2, 2)];
97: u_char name [1]; /* XXX */
98: } ISO_RRIP_SLINK_COMPONENT;
99: #define ISO_RRIP_SLSIZ 2
100:
101: typedef struct {
102: ISO_SUSP_HEADER h;
103: u_char flags [ISODCL ( 4, 4)];
104: u_char component [ISODCL ( 5, 5)];
105: } ISO_RRIP_SLINK;
106:
107: typedef struct {
108: ISO_SUSP_HEADER h;
109: char flags [ISODCL ( 4, 4)];
110: } ISO_RRIP_ALTNAME;
111:
112: typedef struct {
113: ISO_SUSP_HEADER h;
114: char dir_loc [ISODCL ( 4, 11)]; /* 733 */
115: } ISO_RRIP_CLINK;
116:
117: typedef struct {
118: ISO_SUSP_HEADER h;
119: char dir_loc [ISODCL ( 4, 11)]; /* 733 */
120: } ISO_RRIP_PLINK;
121:
122: typedef struct {
123: ISO_SUSP_HEADER h;
124: } ISO_RRIP_RELDIR;
125:
126: #define ISO_SUSP_TSTAMP_FORM17 0x80
127: #define ISO_SUSP_TSTAMP_FORM7 0x00
128: #define ISO_SUSP_TSTAMP_CREAT 0x01
129: #define ISO_SUSP_TSTAMP_MODIFY 0x02
130: #define ISO_SUSP_TSTAMP_ACCESS 0x04
131: #define ISO_SUSP_TSTAMP_ATTR 0x08
132: #define ISO_SUSP_TSTAMP_BACKUP 0x10
133: #define ISO_SUSP_TSTAMP_EXPIRE 0x20
134: #define ISO_SUSP_TSTAMP_EFFECT 0x40
135:
136: typedef struct {
137: ISO_SUSP_HEADER h;
138: u_char flags [ISODCL ( 4, 4)];
139: u_char time [ISODCL ( 5, 5)];
140: } ISO_RRIP_TSTAMP;
141:
142: typedef struct {
143: ISO_SUSP_HEADER h;
144: u_char flags [ISODCL ( 4, 4)];
145: } ISO_RRIP_IDFLAG;
146:
147: typedef struct {
148: ISO_SUSP_HEADER h;
149: char len_id [ISODCL ( 4, 4)];
150: char len_des [ISODCL ( 5, 5)];
151: char len_src [ISODCL ( 6, 6)];
152: char version [ISODCL ( 7, 7)];
153: } ISO_RRIP_EXTREF;
154:
155: typedef struct {
156: ISO_SUSP_HEADER h;
157: char check [ISODCL ( 4, 5)];
158: char skip [ISODCL ( 6, 6)];
159: } ISO_RRIP_OFFSET;
160:
161: typedef struct {
162: ISO_SUSP_HEADER h;
163: char location [ISODCL ( 4, 11)];
164: char offset [ISODCL ( 12, 19)];
165: char length [ISODCL ( 20, 27)];
166: } ISO_RRIP_CONT;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.