172ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o/*
272ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o * e2image.h --- header file describing the ext2 image format
3efc6f628e15de95bcd13e4f0ee223cb42115d520Theodore Ts'o *
472ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o * Copyright (C) 2000 Theodore Ts'o.
572ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o *
672ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o * Note: this uses the POSIX IO interfaces, unlike most of the other
7efc6f628e15de95bcd13e4f0ee223cb42115d520Theodore Ts'o * functions in this library.  So sue me.
872ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o *
972ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o * %Begin-Header%
10543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o * This file may be redistributed under the terms of the GNU Library
11543547a52a20cb7e69d74921b2f691078fd55d83Theodore Ts'o * General Public License, version 2.
1272ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o * %End-Header%
1372ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o */
1472ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o
1572ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'ostruct ext2_image_hdr {
1672ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	magic_number;	/* This must be EXT2_ET_MAGIC_E2IMAGE */
1772ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	char	magic_descriptor[16]; /* "Ext2 Image 1.0", w/ null padding */
18c5423c5b3ea549d96d1b3315a96b5b58beca75cdTheodore Ts'o	char	fs_hostname[64];/* Hostname of machine of image */
1972ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	char	fs_netaddr[32];	/* Network address */
2072ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	fs_netaddr_type;/* 0 = IPV4, 1 = IPV6, etc. */
2172ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	fs_device;	/* Device number of image */
22a78926effb15bbabb1c0ed3e438b03be25c4d48cTheodore Ts'o	char	fs_device_name[64]; /* Device name */
2372ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	char	fs_uuid[16];	/* UUID of filesystem */
24a78926effb15bbabb1c0ed3e438b03be25c4d48cTheodore Ts'o	__u32	fs_blocksize;	/* Block size of the filesystem */
2572ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	fs_reserved[8];
26efc6f628e15de95bcd13e4f0ee223cb42115d520Theodore Ts'o
2772ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	image_device;	/* Device number of image file */
2872ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	image_inode;	/* Inode number of image file */
2972ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	image_time;	/* Time of image creation */
3072ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	image_reserved[8];
3172ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o
3272ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	offset_super;	/* Byte offset of the sb and descriptors */
3372ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	offset_inode;	/* Byte offset of the inode table  */
3472ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	offset_inodemap; /* Byte offset of the inode bitmaps */
3572ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	offset_blockmap; /* Byte offset of the inode bitmaps */
3672ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o	__u32	offset_reserved[8];
3772ed12648368b3f3ea14e8102e20bf5d3a3be6d3Theodore Ts'o};
38