X-Git-Url: https://git.saurik.com/apple/boot.git/blobdiff_plain/f083c6c388c9bea8d87e360850329e0c60ce21aa..bba600dda0ea8a76d875db7308f372bfc43f8506:/i386/boot2/boot.h diff --git a/i386/boot2/boot.h b/i386/boot2/boot.h index b570c09..98982f4 100644 --- a/i386/boot2/boot.h +++ b/i386/boot2/boot.h @@ -1,24 +1,23 @@ /* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. + * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. * * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. * * @APPLE_LICENSE_HEADER_END@ */ @@ -33,42 +32,93 @@ #include "libsaio.h" /* - * Keys used in system Default.table / Instance0.table + * Keys used in system Boot.plist */ #define kGraphicsModeKey "Graphics Mode" #define kTextModeKey "Text Mode" #define kBootGraphicsKey "Boot Graphics" #define kQuietBootKey "Quiet Boot" #define kKernelFlagsKey "Kernel Flags" +#define kMKextCacheKey "MKext Cache" #define kKernelNameKey "Kernel" #define kKernelCacheKey "Kernel Cache" +#define kBootDeviceKey "Boot Device" +#define kTimeoutKey "Timeout" +#define kRootDeviceKey "rd" +#define kBootUUIDKey "boot-uuid" +#define kPlatformKey "platform" +#define kACPIKey "acpi" +#define kCDROMPromptKey "CD-ROM Prompt" +#define kCDROMOptionKey "CD-ROM Option Key" + +#define kDefaultKernel "mach_kernel" + +/* + * Flags to the booter or kernel + * + */ +#define kVerboseModeFlag "-v" +#define kSafeModeFlag "-x" +#define kOldSafeModeFlag "-f" +#define kIgnoreBootFileFlag "-F" +#define kSingleUserModeFlag "-s" + +/* + * Booter behavior control + */ +#define kBootTimeout -1 +#define kCDBootTimeout 8 /* * A global set by boot() to record the device that the booter * was loaded from. */ extern int gBIOSDev; -extern BOOL gBootGraphics; extern long gBootMode; extern BOOL sysConfigValid; extern char bootBanner[]; extern char bootPrompt[]; +extern BOOL gOverrideKernel; +extern char *gPlatformName; +extern char gMKextName[]; +extern char gRootDevice[]; +extern BVRef gBootVolume; // Boot Modes enum { kBootModeNormal = 0, - kBootModeSafe, - kBootModeSecure + kBootModeSafe = 1, + kBootModeSecure = 2, + kBootModeQuiet = 4 }; /* * graphics.c */ extern void printVBEInfo(); +extern void printVBEModeInfo(); extern void setVideoMode(int mode); extern int getVideoMode(); extern void spinActivityIndicator(); extern void clearActivityIndicator(); +extern void drawColorRectangle( unsigned short x, + unsigned short y, + unsigned short width, + unsigned short height, + unsigned char colorIndex ); +extern void drawDataRectangle( unsigned short x, + unsigned short y, + unsigned short width, + unsigned short height, + unsigned char * data ); +extern int +convertImage( unsigned short width, + unsigned short height, + const unsigned char *imageData, + unsigned char **newImageData ); +extern char * decodeRLE( const void * rleData, int rleBlocks, int outBytes ); +extern void drawBootGraphics(void); +extern int getVideoMode(void); /* * drivers.c @@ -79,7 +129,7 @@ extern long DecodeKernel(void *binary, entry_t *rentry, char **raddr, int *rsize /* * options.c */ -extern void getBootOptions(); +extern int getBootOptions(BOOL firstRun); extern int processBootOptions(); /*