Added RockRidge support files.
[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 *
31 * @(#)isofs_rrip.h
32 */
33
34typedef struct {
35 char type [ISODCL ( 0, 1)];
36 unsigned char length [ISODCL ( 2, 2)]; /* 711 */
37 unsigned char version [ISODCL ( 3, 3)];
38} ISO_SUSP_HEADER;
39
40typedef struct {
41 ISO_SUSP_HEADER h;
42 char mode_l [ISODCL ( 4, 7)]; /* 731 */
43 char mode_m [ISODCL ( 8, 11)]; /* 732 */
44 char links_l [ISODCL ( 12, 15)]; /* 731 */
45 char links_m [ISODCL ( 16, 19)]; /* 732 */
46 char uid_l [ISODCL ( 20, 23)]; /* 731 */
47 char uid_m [ISODCL ( 24, 27)]; /* 732 */
48 char gid_l [ISODCL ( 28, 31)]; /* 731 */
49 char gid_m [ISODCL ( 32, 35)]; /* 732 */
50} ISO_RRIP_ATTR;
51
52typedef struct {
53 ISO_SUSP_HEADER h;
54 char dev_t_high_l [ISODCL ( 4, 7)]; /* 731 */
55 char dev_t_high_m [ISODCL ( 8, 11)]; /* 732 */
56 char dev_t_low_l [ISODCL ( 12, 15)]; /* 731 */
57 char dev_t_low_m [ISODCL ( 16, 19)]; /* 732 */
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
67typedef struct {
68 u_char cflag [ISODCL ( 1, 1)];
69 u_char clen [ISODCL ( 2, 2)];
70 u_char name [ISODCL ( 3, 3)];
71} ISO_RRIP_SLINK_COMPONENT;
72
73typedef struct {
74 ISO_SUSP_HEADER h;
75 u_char flags [ISODCL ( 4, 4)];
76 u_char component [ISODCL ( 5, 5)];
77} ISO_RRIP_SLINK;
78
79typedef struct {
80 ISO_SUSP_HEADER h;
81 char flags [ISODCL ( 4, 4)];
82} ISO_RRIP_ALTNAME;
83
84typedef struct {
85 ISO_SUSP_HEADER h;
86 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
87} ISO_RRIP_CLINK;
88
89typedef struct {
90 ISO_SUSP_HEADER h;
91 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
92} ISO_RRIP_PLINK;
93
94typedef struct {
95 ISO_SUSP_HEADER h;
96} ISO_RRIP_RELDIR;
97
98#define ISO_SUSP_TSTAMP_FORM17 0x80
99#define ISO_SUSP_TSTAMP_FORM7 0x00
100#define ISO_SUSP_TSTAMP_CREAT 0x01
101#define ISO_SUSP_TSTAMP_MODIFY 0x02
102#define ISO_SUSP_TSTAMP_ACCESS 0x04
103#define ISO_SUSP_TSTAMP_ATTR 0x08
104#define ISO_SUSP_TSTAMP_BACKUP 0x10
105#define ISO_SUSP_TSTAMP_EXPIRE 0x20
106#define ISO_SUSP_TSTAMP_EFFECT 0x40
107
108typedef struct {
109 ISO_SUSP_HEADER h;
110 unsigned char flags [ISODCL ( 4, 4)];
111 unsigned char time [ISODCL ( 5, 5)];
112} ISO_RRIP_TSTAMP;
113
114typedef struct {
115 ISO_SUSP_HEADER h;
116 unsigned char flags [ISODCL ( 4, 4)];
117} ISO_RRIP_IDFLAG;
118
119typedef struct {
120 ISO_SUSP_HEADER h;
121 unsigned char flags [ISODCL ( 4, 4)];
122} ISO_RRIP_EXFLAG;
123