Synchronize up to trunk's revision r57689.
[reactos.git] / boot / freeldr / freeldr / include / arch / pc / machpc.h
1 /* $Id$
2 *
3 * FreeLoader
4 *
5 * Copyright (C) 2003 Eric Kohl
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 */
21
22 #pragma once
23
24 #ifndef __MEMORY_H
25 #include "mm.h"
26 #endif
27
28 VOID PcMachInit(const char *CmdLine);
29
30 VOID PcConsPutChar(int Ch);
31 BOOLEAN PcConsKbHit(VOID);
32 int PcConsGetCh(VOID);
33
34 VOID PcVideoClearScreen(UCHAR Attr);
35 VIDEODISPLAYMODE PcVideoSetDisplayMode(char *DisplayMode, BOOLEAN Init);
36 VOID PcVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth);
37 ULONG PcVideoGetBufferSize(VOID);
38 VOID PcVideoSetTextCursorPosition(UCHAR X, UCHAR Y);
39 VOID PcVideoHideShowTextCursor(BOOLEAN Show);
40 VOID PcVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y);
41 VOID PcVideoCopyOffScreenBufferToVRAM(PVOID Buffer);
42 BOOLEAN PcVideoIsPaletteFixed(VOID);
43 VOID PcVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
44 VOID PcVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
45 VOID PcVideoSync(VOID);
46 VOID PcVideoPrepareForReactOS(IN BOOLEAN Setup);
47 VOID PcPrepareForReactOS(IN BOOLEAN Setup);
48
49 PFREELDR_MEMORY_DESCRIPTOR PcMemGetMemoryMap(ULONG *MemoryMapSize);
50
51 BOOLEAN PcDiskGetBootPath(char *BootPath, unsigned Size);
52 BOOLEAN PcDiskReadLogicalSectors(UCHAR DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer);
53 BOOLEAN PcDiskGetPartitionEntry(UCHAR DriveNumber, ULONG PartitionNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry);
54 BOOLEAN PcDiskGetDriveGeometry(UCHAR DriveNumber, PGEOMETRY DriveGeometry);
55 ULONG PcDiskGetCacheableBlockCount(UCHAR DriveNumber);
56
57 TIMEINFO* PcGetTime(VOID);
58
59 PCONFIGURATION_COMPONENT_DATA PcHwDetect(VOID);
60 VOID PcHwIdle(VOID);
61
62 extern BIOS_MEMORY_MAP PcBiosMemoryMap[];
63 extern ULONG PcBiosMapCount;
64
65 /* EOF */