update from mycroft
[unix-history] / usr / src / sys / isofs / cd9660 / cd9660_rrip.h
CommitLineData
5fc285c5
KM
1/*-
2 * Copyright (c) 1993, 1994
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley
6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension
7 * Support code is derived from software contributed to Berkeley
8 * by Atsushi Murai (amurai@spec.co.jp).
9 *
10 * %sccs.include.redist.c%
11 *
349b9aaf 12 * @(#)cd9660_rrip.h 8.2 (Berkeley) %G%
5fc285c5
KM
13 */
14
15typedef struct {
349b9aaf
KM
16 char type [ISODCL ( 0, 1)];
17 u_char length [ISODCL ( 2, 2)]; /* 711 */
18 u_char version [ISODCL ( 3, 3)];
5fc285c5
KM
19} ISO_SUSP_HEADER;
20
21typedef struct {
22 ISO_SUSP_HEADER h;
349b9aaf
KM
23 char mode [ISODCL ( 4, 11)]; /* 733 */
24 char links [ISODCL ( 12, 19)]; /* 733 */
25 char uid [ISODCL ( 20, 27)]; /* 733 */
26 char gid [ISODCL ( 28, 35)]; /* 733 */
5fc285c5
KM
27} ISO_RRIP_ATTR;
28
29typedef struct {
30 ISO_SUSP_HEADER h;
349b9aaf
KM
31 char dev_t_high [ISODCL ( 4, 11)]; /* 733 */
32 char dev_t_low [ISODCL ( 12, 19)]; /* 733 */
5fc285c5
KM
33} ISO_RRIP_DEVICE;
34
35#define ISO_SUSP_CFLAG_CONTINUE 0x01
36#define ISO_SUSP_CFLAG_CURRENT 0x02
37#define ISO_SUSP_CFLAG_PARENT 0x04
38#define ISO_SUSP_CFLAG_ROOT 0x08
39#define ISO_SUSP_CFLAG_VOLROOT 0x10
40#define ISO_SUSP_CFLAG_HOST 0x20
41
42typedef struct {
43 u_char cflag [ISODCL ( 1, 1)];
44 u_char clen [ISODCL ( 2, 2)];
349b9aaf 45 u_char name [1]; /* XXX */
5fc285c5
KM
46} ISO_RRIP_SLINK_COMPONENT;
47#define ISO_RRIP_SLSIZ 2
48
49typedef struct {
50 ISO_SUSP_HEADER h;
51 u_char flags [ISODCL ( 4, 4)];
52 u_char component [ISODCL ( 5, 5)];
53} ISO_RRIP_SLINK;
54
55typedef struct {
56 ISO_SUSP_HEADER h;
57 char flags [ISODCL ( 4, 4)];
58} ISO_RRIP_ALTNAME;
59
60typedef struct {
61 ISO_SUSP_HEADER h;
62 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
63} ISO_RRIP_CLINK;
64
65typedef struct {
66 ISO_SUSP_HEADER h;
67 char dir_loc [ISODCL ( 4, 11)]; /* 733 */
68} ISO_RRIP_PLINK;
69
70typedef struct {
71 ISO_SUSP_HEADER h;
72} ISO_RRIP_RELDIR;
73
74#define ISO_SUSP_TSTAMP_FORM17 0x80
75#define ISO_SUSP_TSTAMP_FORM7 0x00
76#define ISO_SUSP_TSTAMP_CREAT 0x01
77#define ISO_SUSP_TSTAMP_MODIFY 0x02
78#define ISO_SUSP_TSTAMP_ACCESS 0x04
79#define ISO_SUSP_TSTAMP_ATTR 0x08
80#define ISO_SUSP_TSTAMP_BACKUP 0x10
81#define ISO_SUSP_TSTAMP_EXPIRE 0x20
82#define ISO_SUSP_TSTAMP_EFFECT 0x40
83
84typedef struct {
85 ISO_SUSP_HEADER h;
349b9aaf
KM
86 u_char flags [ISODCL ( 4, 4)];
87 u_char time [ISODCL ( 5, 5)];
5fc285c5
KM
88} ISO_RRIP_TSTAMP;
89
90typedef struct {
91 ISO_SUSP_HEADER h;
349b9aaf 92 u_char flags [ISODCL ( 4, 4)];
5fc285c5
KM
93} ISO_RRIP_IDFLAG;
94
95typedef struct {
96 ISO_SUSP_HEADER h;
97 char len_id [ISODCL ( 4, 4)];
98 char len_des [ISODCL ( 5, 5)];
99 char len_src [ISODCL ( 6, 6)];
100 char version [ISODCL ( 7, 7)];
101} ISO_RRIP_EXTREF;
102
103typedef struct {
104 ISO_SUSP_HEADER h;
105 char check [ISODCL ( 4, 5)];
106 char skip [ISODCL ( 6, 6)];
107} ISO_RRIP_OFFSET;
108
109typedef struct {
110 ISO_SUSP_HEADER h;
111 char location [ISODCL ( 4, 11)];
112 char offset [ISODCL ( 12, 19)];
113 char length [ISODCL ( 20, 27)];
114} ISO_RRIP_CONT;