diff options
author | Thomas Bushnell <thomas@gnu.org> | 1997-09-16 20:12:02 +0000 |
---|---|---|
committer | Thomas Bushnell <thomas@gnu.org> | 1997-09-16 20:12:02 +0000 |
commit | 490a300fb1d7d8a780069e97eb0a4509ead37632 (patch) | |
tree | 3d08a74dc139ef0c096322a7735002a9728ef9a9 /isofs/rr.h | |
parent | 4ebb5a2ce02ccd766687fac8f1d470ca6ca9203e (diff) | |
download | hurd-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.h | 52 |
1 files changed, 52 insertions, 0 deletions
@@ -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. */ |