]> git.saurik.com Git - apple/boot.git/blobdiff - i386/boot2/boot.h
boot-132.tar.gz
[apple/boot.git] / i386 / boot2 / boot.h
index 851c5371021a4bb66fd67bd1ddf5a37c369e68b5..98982f4d8e41a6d57c0b8f2ee17cb1dc318cbfc6 100644 (file)
@@ -1,12 +1,12 @@
 /*
- * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
+ * 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 1.1 (the "License").  You may not use this file
+ * 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.
 #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
  */
 extern long LoadDrivers(char * dirSpec);
+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();
 
+/*
+ * lzss.c
+ */
+extern int decompress_lzss(u_int8_t *dst, u_int8_t *src, u_int32_t srclen);
+
+struct compressed_kernel_header {
+  u_int32_t signature;
+  u_int32_t compress_type;
+  u_int32_t adler32;
+  u_int32_t uncompressed_size;
+  u_int32_t compressed_size;
+  u_int32_t reserved[11];
+  char      platform_name[64];
+  char      root_path[256];
+  u_int8_t  data[0];
+};
+typedef struct compressed_kernel_header compressed_kernel_header;
+
 #endif /* !__BOOT2_BOOT_H */