~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/isofs/rock.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*
  3  * These structs are used by the system-use-sharing protocol, in which the
  4  * Rock Ridge extensions are embedded.  It is quite possible that other
  5  * extensions are present on the disk, and this is fine as long as they
  6  * all use SUSP
  7  */
  8 
  9 struct SU_SP_s {
 10         __u8 magic[2];
 11         __u8 skip;
 12 } __attribute__ ((packed));
 13 
 14 struct SU_CE_s {
 15         __u8 extent[8];
 16         __u8 offset[8];
 17         __u8 size[8];
 18 };
 19 
 20 struct SU_ER_s {
 21         __u8 len_id;
 22         __u8 len_des;
 23         __u8 len_src;
 24         __u8 ext_ver;
 25         __u8 data[];
 26 } __attribute__ ((packed));
 27 
 28 struct RR_RR_s {
 29         __u8 flags[1];
 30 } __attribute__ ((packed));
 31 
 32 struct RR_PX_s {
 33         __u8 mode[8];
 34         __u8 n_links[8];
 35         __u8 uid[8];
 36         __u8 gid[8];
 37 };
 38 
 39 struct RR_PN_s {
 40         __u8 dev_high[8];
 41         __u8 dev_low[8];
 42 };
 43 
 44 struct SL_component {
 45         __u8 flags;
 46         __u8 len;
 47         __u8 text[];
 48 } __attribute__ ((packed));
 49 
 50 struct RR_SL_s {
 51         __u8 flags;
 52         struct SL_component link;
 53 } __attribute__ ((packed));
 54 
 55 struct RR_NM_s {
 56         __u8 flags;
 57         char name[];
 58 } __attribute__ ((packed));
 59 
 60 struct RR_CL_s {
 61         __u8 location[8];
 62 };
 63 
 64 struct RR_PL_s {
 65         __u8 location[8];
 66 };
 67 
 68 struct stamp {
 69         __u8 time[7];           /* actually 6 unsigned, 1 signed */
 70 } __attribute__ ((packed));
 71 
 72 struct RR_TF_s {
 73         __u8 flags;
 74         struct stamp times[];   /* Variable number of these beasts */
 75 } __attribute__ ((packed));
 76 
 77 /* Linux-specific extension for transparent decompression */
 78 struct RR_ZF_s {
 79         __u8 algorithm[2];
 80         __u8 parms[2];
 81         __u8 real_size[8];
 82 };
 83 
 84 /*
 85  * These are the bits and their meanings for flags in the TF structure.
 86  */
 87 #define TF_CREATE 1
 88 #define TF_MODIFY 2
 89 #define TF_ACCESS 4
 90 #define TF_ATTRIBUTES 8
 91 #define TF_BACKUP 16
 92 #define TF_EXPIRATION 32
 93 #define TF_EFFECTIVE 64
 94 #define TF_LONG_FORM 128
 95 
 96 struct rock_ridge {
 97         __u8 signature[2];
 98         __u8 len;
 99         __u8 version;
100         union {
101                 struct SU_SP_s SP;
102                 struct SU_CE_s CE;
103                 struct SU_ER_s ER;
104                 struct RR_RR_s RR;
105                 struct RR_PX_s PX;
106                 struct RR_PN_s PN;
107                 struct RR_SL_s SL;
108                 struct RR_NM_s NM;
109                 struct RR_CL_s CL;
110                 struct RR_PL_s PL;
111                 struct RR_TF_s TF;
112                 struct RR_ZF_s ZF;
113         } u;
114 };
115 
116 #define RR_PX 1                 /* POSIX attributes */
117 #define RR_PN 2                 /* POSIX devices */
118 #define RR_SL 4                 /* Symbolic link */
119 #define RR_NM 8                 /* Alternate Name */
120 #define RR_CL 16                /* Child link */
121 #define RR_PL 32                /* Parent link */
122 #define RR_RE 64                /* Relocation directory */
123 #define RR_TF 128               /* Timestamps */
124 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php