Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /* 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 */
120 
  This page was automatically generated by the LXR engine.