root/fs/isofs/rock.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   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 };
  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 };
  24 
  25 struct RR_RR{
  26   char flags[1];
  27 };
  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 };
  47 
  48 struct RR_SL{
  49   unsigned char flags;
  50   struct SL_component link;
  51 };
  52 
  53 struct RR_NM{
  54   unsigned char flags;
  55   char name[0];
  56 };
  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 };
  69 
  70 struct RR_TF{
  71   char flags;
  72   struct stamp times[0];  /* Variable number of these beasts */
  73 };
  74 
  75 /* These are the bits and their meanings for flags in the TF structure. */
  76 #define TF_CREATE 1
  77 #define TF_MODIFY 2
  78 #define TF_ACCESS 4
  79 #define TF_ATTRIBUTES 8
  80 #define TF_BACKUP 16
  81 #define TF_EXPIRATION 32
  82 #define TF_EFFECTIVE 64
  83 #define TF_LONG_FORM 128
  84 
  85 struct rock_ridge{
  86   char signature[2];
  87   unsigned char len;
  88   unsigned char version;
  89   union{
  90     struct SU_SP SP;
  91     struct SU_CE CE;
  92     struct SU_ER ER;
  93     struct RR_RR RR;
  94     struct RR_PX PX;
  95     struct RR_PN PN;
  96     struct RR_SL SL;
  97     struct RR_NM NM;
  98     struct RR_CL CL;
  99     struct RR_PL PL;
 100     struct RR_TF TF;
 101   } u;
 102 };
 103 
 104 #define RR_PX 1   /* POSIX attributes */
 105 #define RR_PN 2   /* POSIX devices */
 106 #define RR_SL 4   /* Symbolic link */
 107 #define RR_NM 8   /* Alternate Name */
 108 #define RR_CL 16  /* Child link */
 109 #define RR_PL 32  /* Parent link */
 110 #define RR_RE 64  /* Relocation directory */
 111 #define RR_TF 128 /* Timestamps */

/* [previous][next][first][last][top][bottom][index][help] */