Annotation of sys/isofs/cd9660/cd9660_rrip.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: cd9660_rrip.h,v 1.3 2003/06/02 23:28:05 millert Exp $ */
2: /* $NetBSD: cd9660_rrip.h,v 1.6 1994/12/13 22:33:24 mycroft Exp $ */
3:
4: /*-
5: * Copyright (c) 1993, 1994
6: * The Regents of the University of California. All rights reserved.
7: *
8: * This code is derived from software contributed to Berkeley
9: * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension
10: * Support code is derived from software contributed to Berkeley
11: * by Atsushi Murai (amurai@spec.co.jp).
12: *
13: * Redistribution and use in source and binary forms, with or without
14: * modification, are permitted provided that the following conditions
15: * are met:
16: * 1. Redistributions of source code must retain the above copyright
17: * notice, this list of conditions and the following disclaimer.
18: * 2. Redistributions in binary form must reproduce the above copyright
19: * notice, this list of conditions and the following disclaimer in the
20: * documentation and/or other materials provided with the distribution.
21: * 3. Neither the name of the University nor the names of its contributors
22: * may be used to endorse or promote products derived from this software
23: * without specific prior written permission.
24: *
25: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35: * SUCH DAMAGE.
36: *
37: * @(#)cd9660_rrip.h 8.2 (Berkeley) 12/5/94
38: */
39:
40: typedef struct {
41: char type [ISODCL ( 0, 1)];
42: u_char length [ISODCL ( 2, 2)]; /* 711 */
43: u_char version [ISODCL ( 3, 3)];
44: } ISO_SUSP_HEADER;
45:
46: typedef struct {
47: ISO_SUSP_HEADER h;
48: char mode [ISODCL ( 4, 11)]; /* 733 */
49: char links [ISODCL ( 12, 19)]; /* 733 */
50: char uid [ISODCL ( 20, 27)]; /* 733 */
51: char gid [ISODCL ( 28, 35)]; /* 733 */
52: } ISO_RRIP_ATTR;
53:
54: typedef struct {
55: ISO_SUSP_HEADER h;
56: char dev_t_high [ISODCL ( 4, 11)]; /* 733 */
57: char dev_t_low [ISODCL ( 12, 19)]; /* 733 */
58: } ISO_RRIP_DEVICE;
59:
60: #define ISO_SUSP_CFLAG_CONTINUE 0x01
61: #define ISO_SUSP_CFLAG_CURRENT 0x02
62: #define ISO_SUSP_CFLAG_PARENT 0x04
63: #define ISO_SUSP_CFLAG_ROOT 0x08
64: #define ISO_SUSP_CFLAG_VOLROOT 0x10
65: #define ISO_SUSP_CFLAG_HOST 0x20
66:
67: typedef struct {
68: u_char cflag [ISODCL ( 1, 1)];
69: u_char clen [ISODCL ( 2, 2)];
70: u_char name [1]; /* XXX */
71: } ISO_RRIP_SLINK_COMPONENT;
72: #define ISO_RRIP_SLSIZ 2
73:
74: typedef struct {
75: ISO_SUSP_HEADER h;
76: u_char flags [ISODCL ( 4, 4)];
77: u_char component [ISODCL ( 5, 5)];
78: } ISO_RRIP_SLINK;
79:
80: typedef struct {
81: ISO_SUSP_HEADER h;
82: char flags [ISODCL ( 4, 4)];
83: } ISO_RRIP_ALTNAME;
84:
85: typedef struct {
86: ISO_SUSP_HEADER h;
87: char dir_loc [ISODCL ( 4, 11)]; /* 733 */
88: } ISO_RRIP_CLINK;
89:
90: typedef struct {
91: ISO_SUSP_HEADER h;
92: char dir_loc [ISODCL ( 4, 11)]; /* 733 */
93: } ISO_RRIP_PLINK;
94:
95: typedef struct {
96: ISO_SUSP_HEADER h;
97: } ISO_RRIP_RELDIR;
98:
99: #define ISO_SUSP_TSTAMP_FORM17 0x80
100: #define ISO_SUSP_TSTAMP_FORM7 0x00
101: #define ISO_SUSP_TSTAMP_CREAT 0x01
102: #define ISO_SUSP_TSTAMP_MODIFY 0x02
103: #define ISO_SUSP_TSTAMP_ACCESS 0x04
104: #define ISO_SUSP_TSTAMP_ATTR 0x08
105: #define ISO_SUSP_TSTAMP_BACKUP 0x10
106: #define ISO_SUSP_TSTAMP_EXPIRE 0x20
107: #define ISO_SUSP_TSTAMP_EFFECT 0x40
108:
109: typedef struct {
110: ISO_SUSP_HEADER h;
111: u_char flags [ISODCL ( 4, 4)];
112: u_char time [ISODCL ( 5, 5)];
113: } ISO_RRIP_TSTAMP;
114:
115: typedef struct {
116: ISO_SUSP_HEADER h;
117: u_char flags [ISODCL ( 4, 4)];
118: } ISO_RRIP_IDFLAG;
119:
120: typedef struct {
121: ISO_SUSP_HEADER h;
122: char len_id [ISODCL ( 4, 4)];
123: char len_des [ISODCL ( 5, 5)];
124: char len_src [ISODCL ( 6, 6)];
125: char version [ISODCL ( 7, 7)];
126: } ISO_RRIP_EXTREF;
127:
128: typedef struct {
129: ISO_SUSP_HEADER h;
130: char check [ISODCL ( 4, 5)];
131: char skip [ISODCL ( 6, 6)];
132: } ISO_RRIP_OFFSET;
133:
134: typedef struct {
135: ISO_SUSP_HEADER h;
136: char location [ISODCL ( 4, 11)];
137: char offset [ISODCL ( 12, 19)];
138: char length [ISODCL ( 20, 27)];
139: } ISO_RRIP_CONT;
CVSweb