OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [fs/] [isofs/] [rock.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.