8
/* A "file" is probably some kind of boot record if it contains the magic
9
chars 0x55, 0xAA at position 0x1FE */
10
unsigned char aucRef[] = {0x55, 0xAA};
12
return contains_data(fp, 0x1FE, aucRef, sizeof(aucRef));
15
int is_lilo_br(FILE *fp)
17
/* A "file" is probably a LILO boot record if it contains the magic
18
chars LILO at position 0x6 or 0x2 for floppies */
19
unsigned char aucRef[] = {'L','I','L','O'};
21
return ( contains_data(fp, 0x6, aucRef, sizeof(aucRef)) ||
22
contains_data(fp, 0x2, aucRef, sizeof(aucRef)) );
25
int is_dos_mbr(FILE *fp)
28
unsigned char aucRef[] = {0x55, 0xAA};
31
contains_data(fp, 0x0, mbr_dos_0x0, sizeof(mbr_dos_0x0)) &&
32
contains_data(fp, 0x1FE, aucRef, sizeof(aucRef));
35
int is_95b_mbr(FILE *fp)
38
unsigned char aucRef[] = {0x55, 0xAA};
41
contains_data(fp, 0x0, mbr_95b_0x0, sizeof(mbr_95b_0x0)) &&
42
contains_data(fp, 0x0e0, mbr_95b_0x0e0, sizeof(mbr_95b_0x0e0)) &&
43
contains_data(fp, 0x1FE, aucRef, sizeof(aucRef));
46
int is_2000_mbr(FILE *fp)
49
unsigned char aucRef[] = {0x55, 0xAA};
52
contains_data(fp, 0x0, mbr_2000_0x0, sizeof(mbr_2000_0x0)) &&
53
contains_data(fp, 0x1FE, aucRef, sizeof(aucRef));
56
int is_syslinux_mbr(FILE *fp)
58
#include "mbr_syslinux.h"
59
unsigned char aucRef[] = {0x55, 0xAA};
62
contains_data(fp, 0x0, mbr_syslinux_0x0, sizeof(mbr_syslinux_0x0)) &&
63
contains_data(fp, 0x1FE, aucRef, sizeof(aucRef));
64
} /* is_syslinux_mbr */
66
int is_zero_mbr(FILE *fp)
71
contains_data(fp, 0x0, mbr_zero_0x0, sizeof(mbr_zero_0x0));
72
/* Don't bother to check 55AA signature */
75
int write_dos_mbr(FILE *fp)
78
unsigned char aucRef[] = {0x55, 0xAA};
81
write_data(fp, 0x0, mbr_dos_0x0, sizeof(mbr_dos_0x0)) &&
82
write_data(fp, 0x1FE, aucRef, sizeof(aucRef));
85
int write_95b_mbr(FILE *fp)
88
unsigned char aucRef[] = {0x55, 0xAA};
91
write_data(fp, 0x0, mbr_95b_0x0, sizeof(mbr_95b_0x0)) &&
92
write_data(fp, 0x0e0, mbr_95b_0x0e0, sizeof(mbr_95b_0x0e0)) &&
93
write_data(fp, 0x1FE, aucRef, sizeof(aucRef));
96
int write_2000_mbr(FILE *fp)
99
unsigned char aucRef[] = {0x55, 0xAA};
102
write_data(fp, 0x0, mbr_2000_0x0, sizeof(mbr_2000_0x0)) &&
103
write_data(fp, 0x1FE, aucRef, sizeof(aucRef));
104
} /* write_2000_mbr */
106
int write_syslinux_mbr(FILE *fp)
108
#include "mbr_syslinux.h"
109
unsigned char aucRef[] = {0x55, 0xAA};
112
write_data(fp, 0x0, mbr_syslinux_0x0, sizeof(mbr_syslinux_0x0)) &&
113
write_data(fp, 0x1FE, aucRef, sizeof(aucRef));
114
} /* write_syslinux_mbr */
116
int write_zero_mbr(FILE *fp)
118
#include "mbr_zero.h"
119
unsigned char aucRef[] = {0x55, 0xAA};
122
write_data(fp, 0x0, mbr_zero_0x0, sizeof(mbr_zero_0x0)) &&
123
write_data(fp, 0x1FE, aucRef, sizeof(aucRef));
124
} /* write_zero_mbr */