patch-2.3.40 linux/fs/cramfs/cramfs.h
Next file: linux/fs/cramfs/inode.c
Previous file: linux/fs/cramfs/README
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Tue Jan 11 10:24:58 2000
- Orig file:
v2.3.39/linux/fs/cramfs/cramfs.h
- Orig date:
Wed Dec 29 13:13:20 1999
diff -u --recursive --new-file v2.3.39/linux/fs/cramfs/cramfs.h linux/fs/cramfs/cramfs.h
@@ -5,17 +5,20 @@
#define CRAMFS_SIGNATURE "Compressed ROMFS"
/*
- * Reasonably terse representation of the inode
- * data.. When the mode of the inode indicates
- * a special device node, the "offset" bits will
- * encode i_rdev. In other cases, "offset" points
- * to the ROM image for the actual file data
- * (whether that data be directory or compressed
- * file data depends on the inode type again)
+ * Reasonably terse representation of the inode data.
*/
struct cramfs_inode {
u32 mode:16, uid:16;
+ /* SIZE for device files is i_rdev */
u32 size:24, gid:8;
+ /* NAMELEN is the length of the file name, divided by 4 and
+ rounded up. (cramfs doesn't support hard links.) */
+ /* OFFSET: For symlinks and non-empty regular files, this
+ contains the offset (divided by 4) of the file data in
+ compressed form (starting with an array of block pointers;
+ see README). For non-empty directories it is the offset
+ (divided by 4) of the inode of the first file in that
+ directory. For anything else, offset is zero. */
u32 namelen:6, offset:26;
};
@@ -24,7 +27,8 @@
*/
struct cramfs_super {
u32 magic; /* 0x28cd3d45 - random number */
- u32 size; /* > offset, < 2**26 */
+ u32 size; /* Not used. mkcramfs currently
+ writes a constant 1<<16 here. */
u32 flags; /* 0 */
u32 future; /* 0 */
u8 signature[16]; /* "Compressed ROMFS" */
@@ -32,6 +36,13 @@
u8 name[16]; /* user-defined name */
struct cramfs_inode root; /* Root inode data */
};
+
+/*
+ * Valid values in super.flags. Currently we refuse to mount
+ * if (flags & ~CRAMFS_SUPPORTED_FLAGS). Maybe that should be
+ * changed to test super.future instead.
+ */
+#define CRAMFS_SUPPORTED_FLAGS (0xff)
/* Uncompression interfaces to the underlying zlib */
int cramfs_uncompress_block(void *dst, int dstlen, void *src, int srclen);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)