Ultrix: [little-endian]
	dev_t   fsid;           /* filesystem id (minor:8, major:8) */
	/*short	padding;*/	/* presumably zero */
	u_long  fno;            /* file number */
	u_long  fgen;           /* file generation */
	u_long  eno;            /* file number */
	u_long  egen;           /* file generation */
	
characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	minor	major	pad	pad	fno	fno	fno	fno
	0..255	1..255	0	0	[ 4-byte field is non-zero ]

	[Note: byte 1 could be zero on a VAX with MASSBUS "hp" disks]

byte	8	9	10	11	12	13	14	15
	fgen	fgen	fgen	fgen	eno	eno	eno	eno
					[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	egen	egen	egen	egen	pad	pad	pad	pad
					[ probably zero ]

byte	24	25	26	27	28	29	30	31
	pad	pad	pad	pad	pad	pad	pad	pad
	[ probably zero ]		[ probably zero ]

/*****************************************************************************/

DEC OSF/1: [little-endian]
	fsid_t	fh_fsid;	/* filesystem id, 64 bits */
				/* val[0] = (minor:20, major:12) */
				/* val[1] = FS type (small integer) */
	struct _fh_fid {
	    u_short	fid_len;	/* = 12 */
	    u_short	fid_reserved;
	    char	fid_data[8];	/* 32 bits of inode, 32 bits of gen */
	} fh_fid;		/* file ID */
	struct _fh_fid fh_efid;	/* export directory ID */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	min0:8	min8:8	min16:4	maj4:4	FStype	FStype	FStype	FStype
			maj0:4
	0..255  0..255  1..255	0..255	1..10	0	0	0

byte	8	9	10	11	12	13	14	15
	fid_len	fid_len	fid_res	fid_res	ino	ino	ino	ino
	12	0	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	fid_len	fid_len	fid_res	fid_res	ino	ino	ino	ino
	12	0	0	0	[ 4-byte field is non-zero ]

/*****************************************************************************/

SunOS 4.X: [big-endian]		/* XXX - little-endian on Sun386i? */
	fsid_t  fh_fsid;        /* filesys id (minor:8, major:8), fstype:32 */
	u_short fh_len;         /* file number length = 10 */
	char    fh_data[8]; 	/* and data (ino:32, gen:32) */
	u_short fh_xlen;        /* export file number length */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	pad	pad	major	minor	FStype	FStype	FStype	FStype
	0	0	1..255	0..255	0	0	0	1..255

byte	8	9	10	11	12	13	14	15
	fh_len	fh_len	pad	pad	ino	ino	ino	ino
	0	10	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	fh_xlen	fh_xlen	pad	pad
					0	10	0	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

/*****************************************************************************/

SunOS 5.X: [big-endian]		/* XXX - little-endian on IBM-compatible PC? */
	fsid_t  fh_fsid;        /* filesys id (minor:18, major:14),fstype:32 */
	u_short fh_len;         /* file number length = 10 */
	char    fh_data[8]; 	/* and data (ino:32, gen:32) */
	u_short fh_xlen;        /* export file number length */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	major	major:6	minor	minor	FStype	FStype	FStype	FStype
		minor:2
	0..255	1..255	0..255	0..255	0	0	0	1..255

byte	8	9	10	11	12	13	14	15
	fh_len	fh_len	pad	pad	ino	ino	ino	ino
	0	10	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	fh_xlen	fh_xlen	pad	pad
					0	10	0	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

/*****************************************************************************/

Auspex (if not like SunOS 4.x): [big-endian]
	fsid_t  fh_fsid;        /* zero:32, filesys id (minor:8, major:8) */
	u_short fh_len;         /* file number length = 8 */
	char    fh_data[8]; 	/* and data (ino:32, gen:32) */
	u_short fh_xlen;        /* export file number length */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	zero	zero	zero	zero	pad	pad	major	minor
	0	0	0	0	0	0	1..255	0..255

byte	8	9	10	11	12	13	14	15
	fh_len	fh_len	pad	pad	ino	ino	ino	ino
	0	8	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	fh_xlen	fh_xlen	pad	pad
					0	10	0	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

/*****************************************************************************/

SGI IRIX4.x: [big-endian]
	fsid_t  fh_fsid;        /* filesys id (minor:8, major:8, pad: 16) */
	u_short fh_len;         /* file number length = 8? */
	u_short	padding;
	char    fh_data[8]; 	/* and data (gen:32, ino:32?) */
	u_short fh_xlen;        /* export file number length = 8? */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	pad	pad	major	minor	fh_len	fh_len	pad	pad
	0	0	1..255	0..255	0	8?	0	0

byte	8	9	10	11	12	13	14	15
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	fh_xlen	fh_xlen	pad?	pad?	ino	ino	ino	ino
					[ 4-byte field is non-zero ]

byte	24	25	26	27	28	29	30	31
	gen	gen	gen	gen	pad	pad	pad	pad
					[ probably zero ]

/*****************************************************************************/

SGI IRIX5.x: [big-endian] {seems identical to SunOS 5.X; is this SVR4 std?}
	fsid_t  fh_fsid;        /* filesys id (minor:18, major:14, fstype:32)*/
	u_short fh_len;         /* file number length = 10 */
	char    fh_data[8]; 	/* and data (ino:32, gen:32) */
	u_short fh_xlen;        /* export file number length */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	major	major:6	minor	minor	FStype	FStype	FStype	FStype
		minor:2
	0..255	1..255	0..255	0..255	0	0	0	1..255

byte	8	9	10	11	12	13	14	15
	fh_len	fh_len	pad	pad	ino	ino	ino	ino
	0	10	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	fh_xlen	fh_xlen	pad	pad
					0	10	0	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

/*****************************************************************************/

DEC VMS UCX: [little-endian]
	char DeviceIDsomething[1];	/* ?? */
	char DeviceID[13];		/* in ASCII, actually "DEVLOCKNAM" */
	char Flags[2];			/* binary bits */
	char RootFID[6];		/* 48-bit field, identifies root */
					/* Format:
					 *	fileIDlo:16
					 *	generation:16
					 *	relVolumeNumber:8
					 *	fileIDhi:8
					 * Always (4,4,0,0) for VMS volume.
					 * Otherwise, "container file system"
					 */
	char FileID[6];			/* 48-bit field */
					/*
					 * UCX constructs "nodeid" as
					 *	fileIDlo,fileIDhi,RVN
					 */
	char Inumber[4];		/* 32-bit number;
					 * non-zero only for container FS
					 */

characteristic pattern in network order:
byte	0	1	2	3	4	5	6	7
	code	devid	devid	devid	devid	devid	devid	devid
	??

byte	8	9	10	11	12	13	14	15
	devid	devid	devid	devid	devid	devid	flags	flags

"devid" field starts with a string of printable characters, then spaces,
then nulls?

/*****************************************************************************/

AIX 3.2: [big-endian]
	fsid_t  fh_fsid;        /* filesys id (minor:16, major:16),fstype:32 */
	u_short fh_len;         /* file number length = 10 */
	char    fh_data[8]; 	/* and data (ino:32, gen:32) */
	u_short fh_xlen;        /* export file number length */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	major	major	minor	minor	FStype	FStype	FStype	FStype
	  1..65535	0..255	0..255	0	0	0	0..255

byte	8	9	10	11	12	13	14	15
	fh_len	fh_len	pad	pad	ino	ino	ino	ino
	0	10	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	fh_xlen	fh_xlen	pad	pad
					0	10	0	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

/*****************************************************************************/

HP-UX 9.01: [big-endian]
	char	major;		/* 8-bit major device number */
	char	minor[3];	/* 24-bit minor device number */
	char 	something[4];	/* sometimes (always?) all zeros */
	u_short fh_len;         /* file number length = 10 */
	char    fh_data[8]; 	/* and data (ino:32, gen:32) */
	u_short fh_xlen;        /* export file number length */
	char    fh_xdata[8];	/* and data */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	major	minor	minor	minor	FStype	FStype	FStype	FStype
	1..255	0..255	0..255	0..255	[ might be always zero?	   ]

byte	8	9	10	11	12	13	14	15
	fh_len	fh_len	pad	pad	ino	ino	ino	ino
	0	10	0	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	fh_xlen	fh_xlen	pad	pad
					0	10	0	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

/*****************************************************************************/

Network Appliance FAServer: [little-endian]
	typedef struct {
	    ulong	fileid;
	    ulong	generation;
	} nfs_Mount_point;
	nfs_Mount_point mount_pt; /* file ID and generation of mount point */

	typedef struct {
	    ushort	flags;
	    uchar	snapid;
	    uchar	unused;
	    ulong	fileid;
	    ulong	generation;
	} wafl_File_handle;
	wafl_File_handle file_handle;	/* file handle */
	wafl_File_handle export_pt;	/* export point file handle */

characteristic pattern in network order:

byte	0	1	2	3	4	5	6	7
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

byte	8	9	10	11	12	13	14	15
	flags	flags	snapid	unused	ino	ino	ino	ino
	0..255	0..255	0..20	0	[ 4-byte field is non-zero ]

byte	16	17	18	19	20	21	22	23
	gen	gen	gen	gen	flags	flags	snapid	unused
	[ 4-byte field is non-zero ]	0..255	0..255	0..20	0

byte	24	25	26	27	28	29	30	31
	ino	ino	ino	ino	gen	gen	gen	gen
	[ 4-byte field is non-zero ]

