Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/boot2/boot.h

Source at commit 1808 created 12 years 3 months ago.
By blackosx, Revise layout of package installer 'Welcome' file so it looks cleaner. Change the copyright notice to begin from 2009 as seen in the Chameleon 2.0 r431 installer. Should this date be set earlier?
1/*
2 * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights
7 * Reserved. This file contains Original Code and/or Modifications of
8 * Original Code as defined in and that are subject to the Apple Public
9 * Source License Version 2.0 (the "License"). You may not use this file
10 * except in compliance with the License. Please obtain a copy of the
11 * License at http://www.apple.com/publicsource and read it before using
12 * this file.
13 *
14 * The Original Code and all software distributed under the License are
15 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the
19 * License for the specific language governing rights and limitations
20 * under the License.
21 *
22 * @APPLE_LICENSE_HEADER_END@
23 */
24/*
25 * Copyright 1994 NeXT Computer, Inc.
26 * All rights reserved.
27 */
28
29#ifndef __BOOT2_BOOT_H
30#define __BOOT2_BOOT_H
31
32#include "libsaio.h"
33/*
34 * Paths used by chameleon
35 */
36
37//kernel cache
38#define kDefaultCachePathLeo "/System/Library/Caches/com.apple.kernelcaches/"
39#define kDefaultCachePathSnow "/System/Library/Caches/com.apple.kext.caches/Startup/"
40
41// Lion installer
42#define kLionInstallerDataFolder "/Mac OS X Install Data/"
43#define kLionInstallerPlist kLionInstallerDataFolder "com.apple.Boot.plist"
44
45/*
46 * Keys used in system Boot.plist
47 */
48#define kGraphicsModeKey"Graphics Mode"
49#define kTextModeKey"Text Mode"
50#define kQuietBootKey"Quiet Boot"
51#define kKernelFlagsKey"Kernel Flags"
52#define kKernelArchKey "Kernel Architecture"
53#define karch"arch"/* boot.c */
54#define kProductVersion"ProductVersion"/* boot.c */
55#define kMKextCacheKey"MKext Cache"
56#define kKernelNameKey"Kernel"
57#define kKernelCacheKey"Kernel Cache"
58#define kUseKernelCache"UseKernelCache"/* boot.c */
59#define kBootDeviceKey"Boot Device"
60#define kTimeoutKey"Timeout"
61#define kRootDeviceKey"rd"
62#define kBootUUIDKey"boot-uuid"
63#define kHelperRootUUIDKey"Root UUID"
64#define kPlatformKey"platform"
65#define kACPIKey"acpi"
66#define kCDROMPromptKey"CD-ROM Prompt"
67#define kCDROMOptionKey"CD-ROM Option Key"
68#define kRescanPromptKey"Rescan Prompt"
69#define kRescanKey "Rescan"
70#define kScanSingleDriveKey"Scan Single Drive"
71#define kInstantMenuKey"Instant Menu"
72#define kDefaultKernel"mach_kernel"
73#define kGUIKey"GUI"
74#define kBootBannerKey"Boot Banner"
75#define kShowInfoKey"ShowInfo"// gui.c
76#define kWaitForKeypressKey"Wait"
77
78#define kDSDT"DSDT"/* acpi_patcher.c */
79#define kDropSSDT"DropSSDT"/* acpi_patcher.c */
80#define kRestartFix"RestartFix"/* acpi_patcher.c */
81#define kGeneratePStates"GeneratePStates"/* acpi_patcher.c */
82#define kGenerateCStates"GenerateCStates"/* acpi_patcher.c */
83#define kCSTUsingSystemIO"CSTUsingSystemIO"/* acpi_patcher.c */
84#define kEnableC2State"EnableC2State"/* acpi_patcher.c */
85#define kEnableC3State"EnableC3State"/* acpi_patcher.c */
86#define kEnableC4State"EnableC4State"/* acpi_patcher.c */
87
88#define kWake"Wake"/* boot.c */
89#define kForceWake"ForceWake"/* boot.c */
90#define kWakeImage"WakeImage"/* boot.c */
91
92#define kbusratio"busratio"/* cpu.c */
93
94#define kDeviceProperties"device-properties"/* device_inject.c */
95
96#define kHidePartition"Hide Partition"/* disk.c */
97#define kRenamePartition"Rename Partition"/* disk.c */
98#define kDefaultPartition"Default Partition"/* sys.c */
99
100#define kSMBIOSKey"SMBIOS"/* fake_efi.c */
101#define kSMBIOSdefaults"SMBIOSdefaults"/* smbios_patcher.c */
102#define kSystemID"SystemId"/* fake_efi.c */
103#define kSystemType"SystemType"/* fake_efi.c */
104
105#define kUseMemDetect"UseMemDetect" /* platform.c */
106
107#define kPCIRootUID"PCIRootUID"/* pci_root.c */
108
109#define kUseAtiROM"UseAtiROM"/* ati.c */
110#define kAtiConfig"AtiConfig"/* ati.c */
111#define kAtiPorts"AtiPorts"/* ati.c */
112#define kATYbinimage"ATYbinimage"/* ati.c */
113
114#define kUseNvidiaROM"UseNvidiaROM"/* nvidia.c */
115#define kVBIOS"VBIOS"/* nvidia.c */
116#define kDcfg0"display_0"/* nvidia.c */
117#define kDcfg1"display_1"/* nvidia.c */
118
119#define kEthernetBuiltIn"EthernetBuiltIn"/* pci_setup.c */
120#define kGraphicsEnabler"GraphicsEnabler"/* pci_setup.c */
121#define kForceHPET"ForceHPET"/* pci_setup.c */
122
123#define kMD0Image"md0"/* ramdisk.h */
124
125#define kUSBBusFix"USBBusFix"/* usb.c */
126#define kEHCIacquire"EHCIacquire"/* usb.c */
127#define kUHCIreset"UHCIreset"/* usb.c */
128#define kLegacyOff"USBLegacyOff"/* usb.c */
129#define kEHCIhard"EHCIhard"/* usb.c */
130
131/*
132 * Flags to the booter or kernel
133 */
134#define kVerboseModeFlag"-v"
135#define kSafeModeFlag"-x"
136#define kIgnoreCachesFlag"-f"
137#define kIgnoreBootFileFlag"-F"
138#define kSingleUserModeFlag"-s"
139
140/*
141 * Booter behavior control
142 */
143#define kBootTimeout -1
144#define kCDBootTimeout 8
145
146/*
147 * A global set by boot() to record the device that the booter
148 * was loaded from.
149 */
150extern int gBIOSDev;
151extern long gBootMode;
152extern bool sysConfigValid;
153extern char bootBanner[];
154extern char bootPrompt[];
155extern bool gOverrideKernel;
156extern char *gPlatformName;
157extern char gMKextName[];
158extern char gRootDevice[];
159extern bool gEnableCDROMRescan;
160extern bool gScanSingleDrive;
161extern bool useGUI;
162
163/*
164 * Boot Modes
165 */
166enum {
167 kBootModeNormal = 0,
168 kBootModeSafe = 1,
169 kBootModeSecure = 2,
170 kBootModeQuiet = 4
171};
172
173extern void initialize_runtime();
174extern void common_boot(int biosdev);
175
176/*
177 * usb.c
178 */
179extern int usb_loop();
180
181/*
182 * graphics.c
183 */
184extern void printVBEModeInfo();
185extern void setVideoMode(int mode, int drawgraphics);
186extern int getVideoMode();
187extern void spinActivityIndicator();
188extern void clearActivityIndicator();
189extern void drawColorRectangle( unsigned short x,
190 unsigned short y,
191 unsigned short width,
192 unsigned short height,
193 unsigned char colorIndex );
194extern void drawDataRectangle( unsigned short x,
195 unsigned short y,
196 unsigned short width,
197 unsigned short height,
198 unsigned char * data );
199extern int
200convertImage( unsigned short width,
201 unsigned short height,
202 const unsigned char *imageData,
203 unsigned char **newImageData );
204extern char * decodeRLE( const void * rleData, int rleBlocks, int outBytes );
205extern void drawBootGraphics(void);
206extern void drawPreview(void *src, uint8_t * saveunder);
207extern int getVideoMode(void);
208extern void loadImageScale (void *input, int iw, int ih, int ip, void *output, int ow, int oh, int op, int or);
209
210/*
211 * drivers.c
212 */
213extern long LoadExtraDrivers(char * dirSpec);
214extern long LoadDrivers(char * dirSpec);
215extern long DecodeKernel(void *binary, entry_t *rentry, char **raddr, int *rsize);
216
217typedef long (*FileLoadDrivers_t)(char *dirSpec, long plugin);
218/*!
219 Hookable function pointer called during the driver loading phase that
220 allows other code to cause additional drivers to be loaded.
221 */
222extern long (*LoadExtraDrivers_p)(FileLoadDrivers_t FileLoadDrivers_p);
223
224/*
225 * options.c
226 */
227extern int getBootOptions(bool firstRun);
228extern int processBootOptions();
229extern int selectAlternateBootDevice(int bootdevice);
230extern bool promptForRescanOption(void);
231
232void showHelp();
233void showTextFile();
234char *getMemoryInfoString();
235
236typedef struct {
237 char name[80];
238 void * param;
239} MenuItem;
240
241/*
242 * lzss.c
243 */
244extern int decompress_lzss(u_int8_t *dst, u_int8_t *src, u_int32_t srclen);
245
246struct compressed_kernel_header {
247 u_int32_t signature;
248 u_int32_t compress_type;
249 u_int32_t adler32;
250 u_int32_t uncompressed_size;
251 u_int32_t compressed_size;
252 u_int32_t reserved[11];
253 char platform_name[64];
254 char root_path[256];
255 u_int8_t data[0];
256};
257typedef struct compressed_kernel_header compressed_kernel_header;
258
259/* resume.c */
260void HibernateBoot(char *boot_device);
261
262/* bmdecompress.c */
263void * DecompressData(void *srcbase, int *dw, int *dh, int *bytesPerPixel);
264
265#endif /* !__BOOT2_BOOT_H */
266

Archive Download this file

Revision: 1808