aboutsummaryrefslogtreecommitdiff
path: root/isofs/rr.h
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1997-09-16 20:12:02 +0000
committerThomas Bushnell <thomas@gnu.org>1997-09-16 20:12:02 +0000
commit490a300fb1d7d8a780069e97eb0a4509ead37632 (patch)
tree3d08a74dc139ef0c096322a7735002a9728ef9a9 /isofs/rr.h
parent4ebb5a2ce02ccd766687fac8f1d470ca6ca9203e (diff)
downloadhurd-490a300fb1d7d8a780069e97eb0a4509ead37632.tar.gz
hurd-490a300fb1d7d8a780069e97eb0a4509ead37632.tar.bz2
hurd-490a300fb1d7d8a780069e97eb0a4509ead37632.zip
Tue Sep 16 15:34:21 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* rr.c (gnuext_live): New variable. (rrip_work): Comprehend AU, TR, MD, and FL, all as GNU extensions. Recognize GNU extension id field when processing ER fields. (release_rrip): Free RR->trans if it's live. * inode.c (read_disknode): Interpret and install the values set by AU, TR, MD, and FL extensions. (diskfs_node_norefs): Free NP->translator if it's set. * isofs.h (struct disknode): New members `translen' and `translator'. * rr.h (struct gn_au, struct gn_tr, struct gn_md, struct gn_fl): New strucures. (GNUEXT_SRC, GNUEXT_DES, GNUEXT_ID, GNUEXT_VERS): New macros. (struct rrip_lookup): New members author, translen, trans, allmode, flags. (VALID_AU, VALID_TR, VALID_MD, VALID_FL): New macros. * Makefile (DIST_FILES): Add, referring to EXTENSIONS. * EXTENSIONS: New file.
Diffstat (limited to 'isofs/rr.h')
-rw-r--r--isofs/rr.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/isofs/rr.h b/isofs/rr.h
index a3995be5..ad4f3fb7 100644
--- a/isofs/rr.h
+++ b/isofs/rr.h
@@ -54,6 +54,19 @@ struct rrip_lookup
/* RL */
off_t realfilestart; /* override file start in dir entry */
+ /* AU */
+ uid_t author;
+
+ /* TR */
+ size_t translen;
+ char *trans;
+
+ /* MD */
+ mode_t allmode;
+
+ /* FL */
+ long flags;
+
int valid;
};
@@ -66,6 +79,10 @@ struct rrip_lookup
#define VALID_PL 0x0020
#define VALID_TF 0x0040
#define VALID_RE 0x0080
+#define VALID_AU 0x0100
+#define VALID_TR 0x0200
+#define VALID_MD 0x0400
+#define VALID_FL 0x0800
/* Definitions for System Use Sharing Protocol.
@@ -204,6 +221,41 @@ struct rr_sf
char size[8];
};
+
+/* GNU extensions */
+
+#define GNUEXT_VERS 1
+#define GNUEXT_ID GNUEXT_1997
+#define GNUEXT_DES \
+ "The GNU Extensions provide support for special GNU filesystem features"
+#define GNUEXT_SRC \
+ "GNU Hurd source release 0.3 or later"
+
+/* AU -- author (version 1) */
+struct gn_au
+{
+ char author[8];
+};
+
+/* TR -- translator (version 1) */
+struct gn_tr
+{
+ u_char len;
+ char data[0];
+};
+
+/* MD -- full mode (version 1) */
+struct gn_md
+{
+ char mode[8];
+};
+
+/* FL -- flags (version 1) */
+struct gn_fl
+{
+ char flags[8];
+};
+
/* Rock-Ridge related functions. */