• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdlib.h>
2 #include <string.h>
3 
4 #include <disk/swsusp.h>
5 #include <disk/read.h>
6 #include <disk/geom.h>
7 
8 /**
9  * swsusp_check - check if a (swap) partition contains the swsusp signature
10  * @drive_info:	driveinfo struct describing the disk containing the partition
11  * @ptab;	Partition table of the partition
12  **/
swsusp_check(struct driveinfo * drive_info,struct part_entry * ptab)13 int swsusp_check(struct driveinfo *drive_info, struct part_entry *ptab)
14 {
15     struct swsusp_header header_p;
16     int offset;
17     int found;
18 
19     /* Read first page of the swap device */
20     offset = ptab->start_lba;
21     if (read_sectors(drive_info, &header_p, offset, PAGE_SIZE / SECTOR) == -1) {
22 	return -1;
23     } else {
24 	found = !memcmp(SWSUSP_SIG, header_p.sig, 10);
25 	return found;
26     }
27 }
28