ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

freeldr.c
Go to the documentation of this file.
00001 /*
00002  *  FreeLoader
00003  *  Copyright (C) 1998-2003  Brian Palmer  <brianp@sginet.com>
00004  *
00005  *  This program is free software; you can redistribute it and/or modify
00006  *  it under the terms of the GNU General Public License as published by
00007  *  the Free Software Foundation; either version 2 of the License, or
00008  *  (at your option) any later version.
00009  *
00010  *  This program is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  *  GNU General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU General Public License along
00016  *  with this program; if not, write to the Free Software Foundation, Inc.,
00017  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00018  */
00019 
00020 #include <freeldr.h>
00021 #include <debug.h>
00022 
00023 DBG_DEFAULT_CHANNEL(WARNING);
00024 
00025 VOID NTAPI HalpInitializePciStubs(VOID);
00026 VOID NTAPI HalpInitBusHandler(VOID);
00027 
00028 VOID BootMain(LPSTR CmdLine)
00029 {
00030     CmdLineParse(CmdLine);
00031 
00032     MachInit(CmdLine);
00033 
00034     FsInit();
00035 
00036     DebugInit();
00037 
00038     TRACE("BootMain() called.\n");
00039 
00040     if (!UiInitialize(FALSE))
00041     {
00042         UiMessageBoxCritical("Unable to initialize UI.\n");
00043         return;
00044     }
00045 
00046     if (!MmInitializeMemoryManager())
00047     {
00048         UiMessageBoxCritical("Unable to initialize memory manager");
00049         return;
00050     }
00051 
00052 #ifdef _M_IX86
00053     HalpInitializePciStubs();
00054     HalpInitBusHandler();
00055 #endif
00056     RunLoader();
00057 }
00058 
00059 // We need to emulate these, because the original ones don't work in freeldr
00060 int __cdecl wctomb(char *mbchar, wchar_t wchar)
00061 {
00062     *mbchar = (char)wchar;
00063     return 1;
00064 }
00065 
00066 int __cdecl mbtowc (wchar_t *wchar, const char *mbchar, size_t count)
00067 {
00068     *wchar = (wchar_t)*mbchar;
00069     return 1;
00070 }

Generated on Sat May 26 2012 04:17:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.