1 /* probe.h - BIOS probe utility
3 * Copyright 1999-2005 John Coffman
4 * Copyright 2009-2015 Joachim Wiedorn
7 * Licensed under the terms contained in the file 'COPYING'
8 * in the source directory.
16 unsigned int n_total_blocks;
25 int serial_no; /* added at PROBE_VERSION==4 */
29 /* structure used by int 0x13, AH=0x48 */
39 unsigned int edd_config_ptr;
44 #define EDD_DMA_BOUNDARY_TRANSP 01
45 #define EDD_PARAM_GEOM_VALID 02
48 /* the following structures are created by the biosdata.S codes */
52 unsigned short equipment;
54 #if PROBE_VERSION >= 5
55 unsigned short boot_dx;
60 /* BD_GET_VIDEO >= 1 */
72 /* BD_GET_VIDEO >= 2 */
87 /* BD_GET_VIDEO >=2 extension for PROBE_VERSION 5 */
99 /* BD_GET_VIDEO >= 3 */
119 unsigned short equipment;
122 /* BD_GET_VIDEO >= 1 */
130 /* BD_GET_VIDEO >= 2 */
143 /* BD_GET_VIDEO >= 3 */
146 unsigned char sig[4];
162 unsigned char ah; /* AL and AH were swapped */
168 unsigned char ah; /* AL and AH were swapped */
181 unsigned char ah; /* AL and AH were swapped */
187 unsigned char ah; /* AL and AH were swapped */
193 unsigned char ah; /* AL and AH were swapped */
202 unsigned char ah; /* AL and AH were swapped */
208 unsigned short size; /* 26 or 30 */
210 unsigned int cylinders;
212 unsigned int sectors;
213 int64_t total_sectors;
214 unsigned short sector_size;
216 unsigned short offset,
218 fn48_t reg; /* AH & flags returned from the call */
219 } edd_t; /* struct is 26; but may be 30 in mem */
221 /* the video adapter types */
222 enum {VIDEO_UNKNOWN, VIDEO_MDA, VIDEO_CGA, VIDEO_EGA, VIDEO_MCGA,
223 VIDEO_VGA, VIDEO_VESA, VIDEO_VESA_800};
229 void probe_tell (char *cmd);
231 int bios_max_devs(void);
233 int bios_device(GEOMETRY *geo, int device);
235 int get_video(void); /* return -1 on error, or adapter type [0..7] */
237 void check_bios(void); /* set up bios_passes_dl */