ISOFS fixed from Bruce Evans:
[unix-history] / sys / isofs / isofs_rrip.h
CommitLineData
b4e4339f
JH
1/*
2 * Copyright (c) 1993 Atsushi Murai (amurai@spec.co.jp)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * 4. Neither the name of the University nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY Atsushi Murai(amurai@spec.co.jp)``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 *
e4270b63 31 * from: @(#)isofs_rrip.h
bbc3f849 32 * $Id: isofs_rrip.h,v 1.2 1993/10/16 19:26:45 rgrimes Exp $
b4e4339f
JH
33 */
34
bbc3f849
GW
35#ifndef _ISOFS_ISOFS_RRIP_H_
36#define _ISOFS_ISOFS_RRIP_H_ 1
37
b4e4339f
JH
38typedef struct {
39 char type [ISODCL ( 0, 1)];
40 unsigned char length [ISODCL ( 2, 2)]; /* 711 */
41 unsigned char version [ISODCL ( 3, 3)];
42} ISO_SUSP_HEADER;
43
44typedef struct {
45 ISO_SUSP_HEADER h;
46 char mode_l [ISODCL ( 4, 7)]; /* 731 */
47 char mode_m [ISODCL ( 8, 11)]; /* 732 */
48 char links_l [ISODCL ( 12, 15)]; /* 731 */
49 char links_m [ISODCL ( 16, 19)]; /* 732 */
50 char uid_l [ISODCL ( 20, 23)]; /* 731 */
51 char uid_m [ISODCL ( 24, 27)]; /* 732 */
52 char gid_l [ISODCL ( 28, 31)]; /* 731 */
53 char gid_m [ISODCL ( 32, 35)]; /* 732 */
54} ISO_RRIP_ATTR;
55
56typedef struct {
57 ISO_SUSP_HEADER h;
58 char dev_t_high_l [ISODCL ( 4, 7)]; /* 731 */
59 char dev_t_high_m [ISODCL ( 8, 11)]; /* 732 */
60 char dev_t_low_l [ISODCL ( 12, 15)]; /* 731 */
61 char dev_t_low_m [ISODCL ( 16, 19)]; /* 732 */
62} ISO_RRIP_DEVICE;
63
64#define ISO_SUSP_CFLAG_CONTINUE 0x01
65#define ISO_SUSP_CFLAG_CURRENT 0x02
66#define ISO_SUSP_CFLAG_PARENT 0x04
67#define ISO_SUSP_CFLAG_ROOT 0x08
68#define ISO_SUSP_CFLAG_VOLROOT 0x10
69#define ISO_SUSP_CFLAG_HOST 0x20
70
71typedef struct {
72 u_char cflag [ISODCL ( 1, 1)];
73 u_char clen [ISODCL ( 2, 2)];
74 u_char name [ISODCL ( 3, 3)];
75} ISO_RRIP_SLINK_COMPONENT;
76
77typedef struct {
78 ISO_SUSP_HEADER h;
79 u_char flags [ISODCL ( 4, 4)];
80 u_char component [ISODCL ( 5, 5)];
81} ISO_RRIP_SLINK;
82
83typedef struct {
84 ISO_SUSP_HEADER h;
85 char flags [ISODCL ( 4, 4)];
86} ISO_RRIP_ALTNAME;
87
88typedef struct {
89 ISO_SUSP_HEADER h;
90 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
91} ISO_RRIP_CLINK;
92
93typedef struct {
94 ISO_SUSP_HEADER h;
95 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
96} ISO_RRIP_PLINK;
97
98typedef struct {
99 ISO_SUSP_HEADER h;
100} ISO_RRIP_RELDIR;
101
102#define ISO_SUSP_TSTAMP_FORM17 0x80
103#define ISO_SUSP_TSTAMP_FORM7 0x00
104#define ISO_SUSP_TSTAMP_CREAT 0x01
105#define ISO_SUSP_TSTAMP_MODIFY 0x02
106#define ISO_SUSP_TSTAMP_ACCESS 0x04
107#define ISO_SUSP_TSTAMP_ATTR 0x08
108#define ISO_SUSP_TSTAMP_BACKUP 0x10
109#define ISO_SUSP_TSTAMP_EXPIRE 0x20
110#define ISO_SUSP_TSTAMP_EFFECT 0x40
111
112typedef struct {
113 ISO_SUSP_HEADER h;
114 unsigned char flags [ISODCL ( 4, 4)];
115 unsigned char time [ISODCL ( 5, 5)];
116} ISO_RRIP_TSTAMP;
117
118typedef struct {
119 ISO_SUSP_HEADER h;
120 unsigned char flags [ISODCL ( 4, 4)];
121} ISO_RRIP_IDFLAG;
122
123typedef struct {
124 ISO_SUSP_HEADER h;
125 unsigned char flags [ISODCL ( 4, 4)];
126} ISO_RRIP_EXFLAG;
127
bbc3f849 128#endif /* _ISOFS_ISOFS_RRIP_H_ */