Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/i386/libsaio/bios.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 __LIBSAIO_BIOS_H
30#define __LIBSAIO_BIOS_H
31
32#include <pexpert/i386/boot.h>
33
34typedef union {
35 unsigned int rx;
36 unsigned short rr;
37 struct {
38 unsigned char l;
39 unsigned char h;
40 } r;
41} machineRegister_t;
42
43typedef struct {
44 unsigned short cf :1;
45 unsigned short :1;
46 unsigned short pf :1;
47 unsigned short :1;
48 unsigned short af :1;
49 unsigned short :1;
50 unsigned short zf :1;
51 unsigned short sf :1;
52 unsigned short tf :1;
53 unsigned short _if :1;
54 unsigned short df :1;
55 unsigned short of :1;
56 unsigned short iopl:2;
57 unsigned short nt :1;
58} machineFlags_t;
59
60typedef struct {
61 unsigned int intno;
62 machineRegister_t eax;
63 machineRegister_t ebx;
64 machineRegister_t ecx;
65 machineRegister_t edx;
66 machineRegister_t edi;
67 machineRegister_t esi;
68 machineRegister_t ebp;
69 unsigned short cs;
70 unsigned short ds;
71 unsigned short es;
72 machineFlags_t flags;
73} biosBuf_t;
74
75#define EBIOS_FIXED_DISK_ACCESS 0x01
76#define EBIOS_LOCKING_ACCESS 0x02
77#define EBIOS_ENHANCED_DRIVE_INFO 0x04
78
79#define BASE_HD_DRIVE 0x80
80
81#if 0
82/*
83 * ACPI defined memory range types.
84 */
85enum {
86 kMemoryRangeUsable = 1, // RAM usable by the OS.
87 kMemoryRangeReserved = 2, // Reserved. (Do not use)
88 kMemoryRangeACPI = 3, // ACPI tables. Can be reclaimed.
89 kMemoryRangeNVS = 4, // ACPI NVS memory. (Do not use)
90
91 /* Undefined types should be treated as kMemoryRangeReserved */
92};
93#endif
94
95/*
96 * Memory range descriptor.
97 */
98typedef struct MemoryRange {
99 unsigned long long base; // 64-bit base address
100 unsigned long long length; // 64-bit length in bytes
101 unsigned long type; // type of memory range
102 unsigned long reserved;
103} MemoryRange;
104
105#endif /* !__LIBSAIO_BIOS_H */
106

Archive Download this file

Revision: 214