Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/i386/boot2/boot.h

Source at commit 214 created 13 years 5 months ago.
By ifabio, update to chameleon trunk 630, and now the pakage folder is the same as blackosx branch, also add Icon "building" into buildpkg script, and add mint theme info into the English localizable.strings.
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/*
35 * Keys used in system Boot.plist
36 */
37#define kGraphicsModeKey"Graphics Mode"
38#define kTextModeKey"Text Mode"
39#define kQuietBootKey"Quiet Boot"
40#define kKernelFlagsKey"Kernel Flags"
41#define kMKextCacheKey"MKext Cache"
42#define kKernelNameKey"Kernel"
43#define kKernelCacheKey"Kernel Cache"
44#define kBootDeviceKey"Boot Device"
45#define kTimeoutKey"Timeout"
46#define kRootDeviceKey"rd"
47#define kBootUUIDKey"boot-uuid"
48#define kHelperRootUUIDKey"Root UUID"
49#define kPlatformKey"platform"
50#define kACPIKey"acpi"
51#define kCDROMPromptKey"CD-ROM Prompt"
52#define kCDROMOptionKey"CD-ROM Option Key"
53#define kRescanPromptKey"Rescan Prompt"
54#define kRescanKey "Rescan"
55#define kScanSingleDriveKey"Scan Single Drive"
56#define kInsantMenuKey"Instant Menu"
57#define kDefaultKernel"mach_kernel"
58#define kGUIKey"GUI"
59#define kBootBannerKey"Boot Banner"
60#define kWaitForKeypressKey"Wait"
61/* AsereBLN: added the other keys */
62#define kUseAtiROM"UseAtiROM"/* ati.c */
63#define kWake"Wake"/* boot.c */
64#define kForceWake"ForceWake"/* boot.c */
65#define kWakeImage"WakeImage"/* boot.c */
66#define kProductVersion"ProductVersion"/* boot.c */
67#define karch"arch"/* boot.c */
68#define kDSDT"DSDT"/* acpi_patcher.c */
69#define kDropSSDT"DropSSDT"/* acpi_patcher.c */
70#define kRestartFix"RestartFix"/* acpi_patcher.c */
71#define kGeneratePStates"GeneratePStates"/* acpi_patcher.c */
72#define kGenerateCStates"GenerateCStates"/* acpi_patcher.c */
73#define kEnableC2States"EnableC2State"/* acpi_patcher.c */
74#define kEnableC3States"EnableC3State"/* acpi_patcher.c */
75#define kEnableC4States"EnableC4State"/* acpi_patcher.c */
76#define kDeviceProperties"device-properties"/* device_inject.c */
77#define kHidePartition"Hide Partition"/* disk.c */
78#define kRenamePartition"Rename Partition"/* disk.c */
79#define kSMBIOSKey"SMBIOS"/* fake_efi.c */
80#define kSystemID"SystemId"/* fake_efi.c */
81#define kSystemType"SystemType"/* fake_efi.c */
82#define kUseNvidiaROM"UseNvidiaROM"/* nvidia.c */
83#define kVBIOS"VBIOS"/* nvidia.c */
84#define kPCIRootUID"PCIRootUID"/* pci_root.c */
85#define kEthernetBuiltIn"EthernetBuiltIn"/* pci_setup.c */
86#define kGraphicsEnabler"GraphicsEnabler"/* pci_setup.c */
87#define kForceHPET"ForceHPET"/* pci_setup.c */
88#define kUseMemDetect"UseMemDetect" /* platform.c */
89#define kSMBIOSdefaults"SMBIOSdefaults"/* smbios_patcher.c */
90#define kUSBBusFix"USBBusFix"/* usb.c */
91#define kEHCIacquire"EHCIacquire"/* usb.c */
92#define kUHCIreset"UHCIreset"/* usb.c */
93#define kLegacyOff"USBLegacyOff"/* usb.c */
94#define kEHCIhard"EHCIhard"/* usb.c */
95#define kDefaultPartition"Default Partition"/* sys.c */
96#define kMD0Image"md0"/* ramdisk.h */
97
98/*
99 * Flags to the booter or kernel
100 */
101#define kVerboseModeFlag"-v"
102#define kSafeModeFlag"-x"
103#define kIgnoreCachesFlag"-f"
104#define kIgnoreBootFileFlag"-F"
105#define kSingleUserModeFlag"-s"
106
107/*
108 * Booter behavior control
109 */
110#define kBootTimeout -1
111#define kCDBootTimeout 8
112
113/*
114 * A global set by boot() to record the device that the booter
115 * was loaded from.
116 */
117extern int gBIOSDev;
118extern long gBootMode;
119extern bool sysConfigValid;
120extern char bootBanner[];
121extern char bootPrompt[];
122extern bool gOverrideKernel;
123extern char *gPlatformName;
124extern char gMKextName[];
125extern char gRootDevice[];
126extern bool gEnableCDROMRescan;
127extern bool gScanSingleDrive;
128extern bool useGUI;
129
130/*
131 * Boot Modes
132 */
133enum {
134 kBootModeNormal = 0,
135 kBootModeSafe = 1,
136 kBootModeSecure = 2,
137 kBootModeQuiet = 4
138};
139
140extern void initialize_runtime();
141extern void common_boot(int biosdev);
142
143/*
144 * usb.c
145 */
146extern int usb_loop();
147
148/*
149 * graphics.c
150 */
151extern void printVBEModeInfo();
152extern void setVideoMode(int mode, int drawgraphics);
153extern int getVideoMode();
154extern void spinActivityIndicator();
155extern void clearActivityIndicator();
156extern void drawColorRectangle( unsigned short x,
157 unsigned short y,
158 unsigned short width,
159 unsigned short height,
160 unsigned char colorIndex );
161extern void drawDataRectangle( unsigned short x,
162 unsigned short y,
163 unsigned short width,
164 unsigned short height,
165 unsigned char * data );
166extern int
167convertImage( unsigned short width,
168 unsigned short height,
169 const unsigned char *imageData,
170 unsigned char **newImageData );
171extern char * decodeRLE( const void * rleData, int rleBlocks, int outBytes );
172extern void drawBootGraphics(void);
173extern void drawPreview(void *src, uint8_t * saveunder);
174extern int getVideoMode(void);
175extern void loadImageScale (void *input, int iw, int ih, int ip, void *output, int ow, int oh, int op, int or);
176
177/*
178 * drivers.c
179 */
180extern long LoadDrivers(char * dirSpec);
181extern long DecodeKernel(void *binary, entry_t *rentry, char **raddr, int *rsize);
182
183typedef long (*FileLoadDrivers_t)(char *dirSpec, long plugin);
184/*!
185 Hookable function pointer called during the driver loading phase that
186 allows other code to cause additional drivers to be loaded.
187 */
188extern long (*LoadExtraDrivers_p)(FileLoadDrivers_t FileLoadDrivers_p);
189
190/*
191 * options.c
192 */
193extern int getBootOptions(bool firstRun);
194extern int processBootOptions();
195extern int selectAlternateBootDevice(int bootdevice);
196extern bool promptForRescanOption(void);
197
198void showHelp();
199void showTextFile();
200char *getMemoryInfoString();
201
202typedef struct {
203 char name[80];
204 void * param;
205} MenuItem;
206
207/*
208 * lzss.c
209 */
210extern int decompress_lzss(u_int8_t *dst, u_int8_t *src, u_int32_t srclen);
211
212struct compressed_kernel_header {
213 u_int32_t signature;
214 u_int32_t compress_type;
215 u_int32_t adler32;
216 u_int32_t uncompressed_size;
217 u_int32_t compressed_size;
218 u_int32_t reserved[11];
219 char platform_name[64];
220 char root_path[256];
221 u_int8_t data[0];
222};
223typedef struct compressed_kernel_header compressed_kernel_header;
224
225/* resume.c */
226void HibernateBoot(char *boot_device);
227
228/* bmdecompress.c */
229void * DecompressData(void *srcbase, int *dw, int *dh, int *bytesPerPixel);
230
231#endif /* !__BOOT2_BOOT_H */
232

Archive Download this file

Revision: 214