+static int i386_byteorder(void)
+{
+ int one = 1;
+ char *cp = (char *) &one;
+
+ return (*cp == 1);
+}
+
+static void print_journal_information(ext2_filsys fs)
+{
+ errcode_t retval;
+ char buf[1024];
+ char str[80];
+ int i;
+ journal_superblock_t *jsb;
+
+ /* Get the journal superblock */
+ if ((retval = io_channel_read_blk(fs->io, fs->super->s_first_data_block+1, -1024, buf))) {
+ com_err(program_name, retval,
+ _("while reading journal superblock"));
+ exit(1);
+ }
+ jsb = (journal_superblock_t *) buf;
+ if ((jsb->s_header.h_magic != (unsigned) ntohl(JFS_MAGIC_NUMBER)) ||
+ (jsb->s_header.h_blocktype !=
+ (unsigned) ntohl(JFS_SUPERBLOCK_V2))) {
+ com_err(program_name, 0,
+ _("Couldn't find journal superblock magic numbers"));
+ exit(1);
+ }
+
+ fputs("\n", stdout);
+ printf("Journal block size: %d\n", ntohl(jsb->s_blocksize));
+ printf("Journal length: %d\n", ntohl(jsb->s_maxlen));
+ printf("Journal first block: %d\n", ntohl(jsb->s_first));
+ printf("Journal sequence: 0x%08x\n", ntohl(jsb->s_sequence));
+ printf("Journal start: %d\n", ntohl(jsb->s_start));
+ printf("Journal number of users: %d\n", ntohl(jsb->s_nr_users));
+ for (i=0; i < ntohl(jsb->s_nr_users); i++) {
+ if (i)
+ printf(" ");
+ else
+ printf("Journal users: ");
+ uuid_unparse(&jsb->s_users[i*16], str);
+ printf("%s\n", str);
+ }
+}