Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 2553
b: refs/heads/master
c: a089221
h: refs/heads/master
i:
  2551: c8b3c19
v: v3
  • Loading branch information
Andrew Morton authored and Linus Torvalds committed Jun 22, 2005
1 parent ddba34d commit 0878430
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 91 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7373909de403d229979842081c63917452e39402
refs/heads/master: a089221c5e8a5ae8d74a919c8c7a4d2f68bd59e5
183 changes: 93 additions & 90 deletions trunk/fs/isofs/rock.h
Original file line number Diff line number Diff line change
@@ -1,85 +1,88 @@
/* These structs are used by the system-use-sharing protocol, in which the
Rock Ridge extensions are embedded. It is quite possible that other
extensions are present on the disk, and this is fine as long as they
all use SUSP */

struct SU_SP{
unsigned char magic[2];
unsigned char skip;
} __attribute__((packed));

struct SU_CE{
char extent[8];
char offset[8];
char size[8];
/*
* These structs are used by the system-use-sharing protocol, in which the
* Rock Ridge extensions are embedded. It is quite possible that other
* extensions are present on the disk, and this is fine as long as they
* all use SUSP
*/

struct SU_SP {
unsigned char magic[2];
unsigned char skip;
} __attribute__ ((packed));

struct SU_CE {
char extent[8];
char offset[8];
char size[8];
};

struct SU_ER{
unsigned char len_id;
unsigned char len_des;
unsigned char len_src;
unsigned char ext_ver;
char data[0];
} __attribute__((packed));

struct RR_RR{
char flags[1];
} __attribute__((packed));

struct RR_PX{
char mode[8];
char n_links[8];
char uid[8];
char gid[8];
struct SU_ER {
unsigned char len_id;
unsigned char len_des;
unsigned char len_src;
unsigned char ext_ver;
char data[0];
} __attribute__ ((packed));

struct RR_RR {
char flags[1];
} __attribute__ ((packed));

struct RR_PX {
char mode[8];
char n_links[8];
char uid[8];
char gid[8];
};

struct RR_PN{
char dev_high[8];
char dev_low[8];
struct RR_PN {
char dev_high[8];
char dev_low[8];
};

struct SL_component {
unsigned char flags;
unsigned char len;
char text[0];
} __attribute__ ((packed));

struct SL_component{
unsigned char flags;
unsigned char len;
char text[0];
} __attribute__((packed));
struct RR_SL {
unsigned char flags;
struct SL_component link;
} __attribute__ ((packed));

struct RR_SL{
unsigned char flags;
struct SL_component link;
} __attribute__((packed));
struct RR_NM {
unsigned char flags;
char name[0];
} __attribute__ ((packed));

struct RR_NM{
unsigned char flags;
char name[0];
} __attribute__((packed));

struct RR_CL{
char location[8];
struct RR_CL {
char location[8];
};

struct RR_PL{
char location[8];
struct RR_PL {
char location[8];
};

struct stamp{
char time[7];
} __attribute__((packed));
struct stamp {
char time[7];
} __attribute__ ((packed));

struct RR_TF{
char flags;
struct stamp times[0]; /* Variable number of these beasts */
} __attribute__((packed));
struct RR_TF {
char flags;
struct stamp times[0]; /* Variable number of these beasts */
} __attribute__ ((packed));

/* Linux-specific extension for transparent decompression */
struct RR_ZF{
char algorithm[2];
char parms[2];
char real_size[8];
struct RR_ZF {
char algorithm[2];
char parms[2];
char real_size[8];
};

/* These are the bits and their meanings for flags in the TF structure. */
/*
* These are the bits and their meanings for flags in the TF structure.
*/
#define TF_CREATE 1
#define TF_MODIFY 2
#define TF_ACCESS 4
Expand All @@ -89,31 +92,31 @@ struct RR_ZF{
#define TF_EFFECTIVE 64
#define TF_LONG_FORM 128

struct rock_ridge{
char signature[2];
unsigned char len;
unsigned char version;
union{
struct SU_SP SP;
struct SU_CE CE;
struct SU_ER ER;
struct RR_RR RR;
struct RR_PX PX;
struct RR_PN PN;
struct RR_SL SL;
struct RR_NM NM;
struct RR_CL CL;
struct RR_PL PL;
struct RR_TF TF;
struct RR_ZF ZF;
} u;
struct rock_ridge {
char signature[2];
unsigned char len;
unsigned char version;
union {
struct SU_SP SP;
struct SU_CE CE;
struct SU_ER ER;
struct RR_RR RR;
struct RR_PX PX;
struct RR_PN PN;
struct RR_SL SL;
struct RR_NM NM;
struct RR_CL CL;
struct RR_PL PL;
struct RR_TF TF;
struct RR_ZF ZF;
} u;
};

#define RR_PX 1 /* POSIX attributes */
#define RR_PN 2 /* POSIX devices */
#define RR_SL 4 /* Symbolic link */
#define RR_NM 8 /* Alternate Name */
#define RR_CL 16 /* Child link */
#define RR_PL 32 /* Parent link */
#define RR_RE 64 /* Relocation directory */
#define RR_TF 128 /* Timestamps */
#define RR_PX 1 /* POSIX attributes */
#define RR_PN 2 /* POSIX devices */
#define RR_SL 4 /* Symbolic link */
#define RR_NM 8 /* Alternate Name */
#define RR_CL 16 /* Child link */
#define RR_PL 32 /* Parent link */
#define RR_RE 64 /* Relocation directory */
#define RR_TF 128 /* Timestamps */

0 comments on commit 0878430

Please sign in to comment.