/* Including <linux/fs.h> became more and more painful.
   Below a very abbreviated version of some declarations,
   only designed to be able to check a magic number
   in case no filesystem type was given. */

#ifndef BLKGETSIZE
#define BLKGETSIZE 0x1260	/* return device size */
#endif

#define MINIX_SUPER_MAGIC   0x137F	/* original minix fs */
#define MINIX_SUPER_MAGIC2  0x138F	/* minix fs, 30 char names */
struct minix_super_block {
	u_char s_dummy[16];
	u_char s_magic[2];
};
#define minixmagic(s)	((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8))

#define ISODCL(from, to) (to - from + 1)
#define ISO_STANDARD_ID "CD001"
struct iso_volume_descriptor {
	char type[ISODCL(1, 1)];	/* 711 */
	char id[ISODCL(2, 6)];
	char version[ISODCL(7, 7)];
	char data[ISODCL(8, 2048)];
};

#define HS_STANDARD_ID "CDROM"
struct hs_volume_descriptor {
	char foo[ISODCL(1, 8)];	/* 733 */
	char type[ISODCL(9, 9)];	/* 711 */
	char id[ISODCL(10, 14)];
	char version[ISODCL(15, 15)];	/* 711 */
	char data[ISODCL(16, 2048)];
};

#define EXT_SUPER_MAGIC 0x137D
struct ext_super_block {
	u_char s_dummy[56];
	u_char s_magic[2];
};
#define extmagic(s)	((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8))

#define EXT2_PRE_02B_MAGIC  0xEF51
#define EXT2_SUPER_MAGIC    0xEF53
struct ext2_super_block {
	u_char s_dummy[56];
	u_char s_magic[2];
};
#define ext2magic(s)	((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8))

#define _XIAFS_SUPER_MAGIC 0x012FD16D
struct xiafs_super_block {
	u_char s_boot_segment[512];	/*  1st sector reserved for boot */
	u_char s_dummy[60];
	u_char s_magic[4];
};
#define xiafsmagic(s)	((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8) + \
			(((uint) s.s_magic[2]) << 16) + \
			(((uint) s.s_magic[3]) << 24))

/* From jj@sunsite.ms.mff.cuni.cz Mon Mar 23 15:19:05 1998 */
#define UFS_SUPER_MAGIC 0x00011954
struct ufs_super_block {
	u_char s_dummy[0x55c];
	u_char s_magic[4];
};
#define ufsmagic(s)	((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8) + \
			 (((uint) s.s_magic[2]) << 16) + \
			 (((uint) s.s_magic[3]) << 24))
