15b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* device.h - Define macros and declare prototypes for device.c */ 25b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* 35b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * GRUB -- GRand Unified Bootloader 45b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * Copyright (C) 1999,2000,2004 Free Software Foundation, Inc. 55b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * 65b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * This program is free software; you can redistribute it and/or modify 75b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * it under the terms of the GNU General Public License as published by 85b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * the Free Software Foundation; either version 2 of the License, or 95b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * (at your option) any later version. 105b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * 115b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * This program is distributed in the hope that it will be useful, 125b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of 135b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 145b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * GNU General Public License for more details. 155b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * 165b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * You should have received a copy of the GNU General Public License 175b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * along with this program; if not, write to the Free Software 185b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 195b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project */ 205b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 215b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#ifndef DEVICE_MAP_HEADER 225b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEVICE_MAP_HEADER 1 235b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 245b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* The maximum number of BIOS disks. */ 255b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define NUM_DISKS 256 265b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 275b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* Simulated disk sizes. */ 285b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEFAULT_FD_CYLINDERS 80 295b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEFAULT_FD_HEADS 2 305b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEFAULT_FD_SECTORS 18 315b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEFAULT_HD_CYLINDERS 620 325b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEFAULT_HD_HEADS 128 335b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define DEFAULT_HD_SECTORS 63 345b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 355b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* Function prototypes. */ 365b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern void get_drive_geometry (struct geometry *geom, char **map, int drive); 375b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern int check_device (const char *device); 385b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern int init_device_map (char ***map, const char *map_file, 395b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project int no_floppies); 405b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern void restore_device_map (char **map); 415b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 425b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#ifdef __linux__ 435b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern int is_disk_device (char **map, int drive); 445b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectextern int write_to_partition (char **map, int drive, int partition, 455b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project int offset, int size, const char *buf); 465b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#endif /* __linux__ */ 475b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 485b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#endif /* DEVICE_MAP_HEADER */ 49