lkcd
[Top] [All Lists]

more cross-platform "crash dump header reader"

To: lkcd@xxxxxxxxxxx
Subject: more cross-platform "crash dump header reader"
From: Brian Hall <brianw.hall@xxxxxxxxxx>
Date: Tue, 01 Feb 2000 10:44:41 -0700 (MST)
Cc: Matt Robinson <yakker@xxxxxxxxxxxx>
Reply-to: Brian Hall <brianw.hall@xxxxxxxxxx>
Sender: owner-lkcd@xxxxxxxxxxx
#include <linux/types.h>
#include <linux/time.h>
#define CONFIG_VMDUMP
#include <linux/vmdump.h>
#include <linux/../asm/page.h>
#include <stdio.h>

dump_header_t dump_header;

int
main(int argc, char **argv)
{
        FILE *fp;

        if (argc != 2) {
                fprintf(stderr, "Usage: %s <device>\n", argv[0]);
                return (1);
        }

        if ((fp = fopen(argv[1], "r")) == (FILE *)NULL) {
                perror("fopen");
                return (1);
        }

        fseek(fp, PAGE_SIZE, SEEK_SET);

        if (fread((char *)&dump_header, sizeof(dump_header_t), 1, fp) < 0) {
                perror("fread");
                return (1);
        }

        fclose(fp);

        printf("Dump Header (version %d):\n", dump_header.dh_version);
        printf("Magic number: 0x%llx\n", dump_header.dh_magic_number);
        printf("PAGE_SIZE = %d\n", dump_header.dh_page_size);
        printf("Dump header size: %d\n", dump_header.dh_header_size);
        printf("Physical memory:\n");
        printf("\tStart: 0x%x\n", dump_header.dh_memory_start);
        printf("\t  End: 0x%x\n", dump_header.dh_memory_end);
        printf("\t Size: %d\n", dump_header.dh_memory_size);
        printf("Number of pages in dump: %d\n", dump_header.dh_num_pages);
        printf("Time of dump: %s\n", ctime(&(dump_header.dh_time.tv_sec)));

        return (0);
}


--
Brian Hall <brianw.hall@xxxxxxxxxx>
http://www.bigfoot.com/~brihall
Linux Consultant

<Prev in Thread] Current Thread [Next in Thread>
  • more cross-platform "crash dump header reader", Brian Hall <=