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

mkhive.h
Go to the documentation of this file.
00001 /*
00002  *  ReactOS kernel
00003  *  Copyright (C) 2003, 2006 ReactOS Team
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 /* COPYRIGHT:       See COPYING in the top level directory
00020  * PROJECT:         ReactOS hive maker
00021  * FILE:            tools/mkhive/mkhive.h
00022  * PURPOSE:         Hive maker
00023  * PROGRAMMER:      Eric Kohl
00024  *                  Hervé Poussineau
00025  */
00026 
00027 #pragma once
00028 
00029 #include <stdio.h>
00030 #include <stdlib.h>
00031 
00032 #include <typedefs.h>
00033 
00034 // Definitions copied from <ntstatus.h>
00035 // We only want to include host headers, so we define them manually
00036 #define STATUS_SUCCESS                   ((NTSTATUS)0x00000000)
00037 #define STATUS_UNSUCCESSFUL              ((NTSTATUS)0xC0000001)
00038 #define STATUS_NOT_IMPLEMENTED           ((NTSTATUS)0xC0000002)
00039 #define STATUS_INVALID_PARAMETER         ((NTSTATUS)0xC000000D)
00040 #define STATUS_NO_MEMORY                 ((NTSTATUS)0xC0000017)
00041 #define STATUS_INSUFFICIENT_RESOURCES    ((NTSTATUS)0xC000009A)
00042 #define STATUS_OBJECT_NAME_NOT_FOUND     ((NTSTATUS)0xC0000034)
00043 #define STATUS_INVALID_PARAMETER_2       ((NTSTATUS)0xC00000F0)
00044 #define STATUS_BUFFER_OVERFLOW           ((NTSTATUS)0x80000005)
00045 
00046 unsigned char BitScanForward(ULONG * Index, unsigned long Mask);
00047 unsigned char BitScanReverse(ULONG * const Index, unsigned long Mask);
00048 #define RtlFillMemoryUlong(dst, len, val) memset(dst, val, len)
00049 
00050 NTSTATUS NTAPI
00051 RtlAnsiStringToUnicodeString(
00052     IN OUT PUNICODE_STRING UniDest,
00053     IN PANSI_STRING AnsiSource,
00054     IN BOOLEAN AllocateDestinationString);
00055 VOID NTAPI
00056 RtlInitAnsiString(
00057     IN OUT PANSI_STRING DestinationString,
00058     IN PCSTR SourceString);
00059 VOID NTAPI
00060 RtlInitUnicodeString(
00061     IN OUT PUNICODE_STRING DestinationString,
00062     IN PCWSTR SourceString);
00063 WCHAR NTAPI
00064 RtlUpcaseUnicodeChar(
00065     IN WCHAR Source);
00066 
00067 LONG WINAPI
00068 RegQueryValueExW(
00069     IN HKEY hKey,
00070     IN LPCWSTR lpValueName,
00071     IN PULONG lpReserved,
00072     OUT PULONG lpType,
00073     OUT PUCHAR lpData,
00074     OUT PSIZE_T lpcbData);
00075 
00076 LONG WINAPI
00077 RegSetValueExW(
00078     IN HKEY hKey,
00079     IN LPCWSTR lpValueName OPTIONAL,
00080     IN ULONG Reserved,
00081     IN ULONG dwType,
00082     IN const UCHAR* lpData,
00083     IN USHORT cbData);
00084 
00085 LONG WINAPI
00086 RegDeleteKeyW(
00087     IN HKEY hKey,
00088     IN LPCWSTR lpSubKey);
00089 
00090 LONG WINAPI
00091 RegDeleteValueW(
00092     IN HKEY hKey,
00093     IN LPCWSTR lpValueName OPTIONAL);
00094 
00095 LONG WINAPI
00096 RegCreateKeyW(
00097     IN HKEY hKey,
00098     IN LPCWSTR lpSubKey,
00099     OUT PHKEY phkResult);
00100 
00101 LONG WINAPI
00102 RegOpenKeyW(
00103     IN HKEY hKey,
00104     IN LPCWSTR lpSubKey,
00105     OUT PHKEY phkResult);
00106 
00107 #define CMLIB_HOST
00108 #include <cmlib.h>
00109 #include <infhost.h>
00110 #include "reginf.h"
00111 #include "cmi.h"
00112 #include "registry.h"
00113 #include "binhive.h"
00114 
00115 #define HIVE_NO_FILE 2
00116 #define VERIFY_REGISTRY_HIVE(hive)
00117 extern LIST_ENTRY CmiHiveListHead;
00118 #define ABS_VALUE(V) (((V) < 0) ? -(V) : (V))
00119 
00120 #ifndef max
00121 #define max(a, b)  (((a) > (b)) ? (a) : (b))
00122 #endif
00123 
00124 #ifndef min
00125 #define min(a, b)  (((a) < (b)) ? (a) : (b))
00126 #endif
00127 
00128 #ifdef _WIN32
00129 #define strncasecmp _strnicmp
00130 #define strcasecmp _stricmp
00131 #else
00132 #include <string.h>
00133 #endif//_WIN32
00134 
00135 
00136 /* EOF */

Generated on Sat May 26 2012 04:36:36 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.