#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
|