1 /* ----------------------------------------------------------------------- *
3 * Copyright 1998-2008 H. Peter Anvin - All Rights Reserved
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8 * Boston MA 02111-1307, USA; either version 2 of the License, or
9 * (at your option) any later version; incorporated herein by reference.
11 * ----------------------------------------------------------------------- */
19 /* The standard boot sector and ldlinux image */
20 extern unsigned char syslinux_bootsect
[];
21 extern unsigned int syslinux_bootsect_len
;
22 extern int syslinux_bootsect_mtime
;
24 extern unsigned char syslinux_ldlinux
[];
25 extern unsigned int syslinux_ldlinux_len
;
26 extern int syslinux_ldlinux_mtime
;
28 extern unsigned char syslinux_mbr
[];
29 extern unsigned int syslinux_mbr_len
;
30 extern int syslinux_mbr_mtime
;
32 /* This takes a boot sector and merges in the syslinux fields */
33 void syslinux_make_bootsect(void *);
35 /* Check to see that what we got was indeed an MS-DOS boot sector/superblock */
36 const char *syslinux_check_bootsect(const void *bs
);
38 /* This patches the boot sector and ldlinux.sys based on a sector map */
39 int syslinux_patch(const uint32_t *sectors
, int nsectors
,
40 int stupid
, int raid_mode
);
43 #define ADV_SIZE 512 /* Total size */
44 #define ADV_LEN (ADV_SIZE-3*4) /* Usable data size */
45 extern unsigned char syslinux_adv
[2*ADV_SIZE
];
47 int syslinux_setadv(int tag
, size_t size
, const void *data
);
48 void syslinux_reset_adv(unsigned char *advbuf
);
49 int syslinux_validate_adv(unsigned char *advbuf
);