1 // this file was borrowed from linux kernel
2 // originally it has name /usr/src/linux/fs/isofs/rock.h
3 // unfortunately there was no copyright header on it,
4 // so i`m assume it have copyrighted under terms of
5 // GNU GENERAL PUBLIC LICENSE version 2
6 // as a whole linux kernel
7 // copy of this license included into fuseiso
8 // distribution in file COPYING
11 /* These structs are used by the system-use-sharing protocol, in which the
12 Rock Ridge extensions are embedded. It is quite possible that other
13 extensions are present on the disk, and this is fine as long as they
17 unsigned char magic
[2];
19 } __attribute__((packed
));
29 unsigned char len_des
;
30 unsigned char len_src
;
31 unsigned char ext_ver
;
33 } __attribute__((packed
));
37 } __attribute__((packed
));
56 } __attribute__((packed
));
60 struct SL_component link
;
61 } __attribute__((packed
));
66 } __attribute__((packed
));
78 } __attribute__((packed
));
82 struct stamp times
[0]; /* Variable number of these beasts */
83 } __attribute__((packed
));
85 /* Linux-specific extension for transparent decompression */
92 /* These are the bits and their meanings for flags in the TF structure. */
96 #define TF_ATTRIBUTES 8
98 #define TF_EXPIRATION 32
99 #define TF_EFFECTIVE 64
100 #define TF_LONG_FORM 128
105 unsigned char version
;
122 #define RR_PX 1 /* POSIX attributes */
123 #define RR_PN 2 /* POSIX devices */
124 #define RR_SL 4 /* Symbolic link */
125 #define RR_NM 8 /* Alternate Name */
126 #define RR_CL 16 /* Child link */
127 #define RR_PL 32 /* Parent link */
128 #define RR_RE 64 /* Relocation directory */
129 #define RR_TF 128 /* Timestamps */