- Primary implementation of sfc_os.dll.
authorPierre Schweitzer <pierre@reactos.org>
Sat, 30 Aug 2008 20:22:35 +0000 (20:22 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sat, 30 Aug 2008 20:22:35 +0000 (20:22 +0000)
- Linked some functions of sfc.dll to sfc_os.dll

svn path=/trunk/; revision=35816

reactos/baseaddress.rbuild
reactos/boot/bootdata/packages/reactos.dff
reactos/dll/win32/sfc/sfc.spec
reactos/dll/win32/sfc_os/precomp.h [new file with mode: 0644]
reactos/dll/win32/sfc_os/sfc_os.c [new file with mode: 0644]
reactos/dll/win32/sfc_os/sfc_os.rbuild [new file with mode: 0644]
reactos/dll/win32/sfc_os/sfc_os.spec [new file with mode: 0644]
reactos/dll/win32/win32.rbuild

index d826b3e..a00d020 100644 (file)
   <property name="BASEADDRESS_GDIPLUS" value="0x76a00000" />
   <property name="BASEADDRESS_ATL" value="0x76a80000" />
   <property name="BASEADDRESS_SFC" value="0x76b50000" />
+  <property name="BASEADDRESS_SFC_OS" value="0x76c10000" />
   <property name="BASEADDRESS_WINTRUST" value="0x76c30000" />
   <property name="BASEADDRESS_IMAGEHLP" value="0x76c90000" />
   <property name="BASEADDRESS_CLUSAPI" value="0x76d10000" />
index e6c973d..d5bd143 100644 (file)
@@ -321,6 +321,7 @@ dll\win32\sensapi\sensapi.dll                       1
 dll\win32\serialui\serialui.dll                     1
 dll\win32\setupapi\setupapi.dll                     1
 dll\win32\sfc\sfc.dll                               1
+dll\win32\sfc_os\sfc_os.dll                         1
 dll\win32\shdocvw\shdocvw.dll                       1
 dll\win32\shell32\shell32.dll                       1
 dll\win32\shfolder\shfolder.dll                     1
index dbfea33..07f3c75 100644 (file)
@@ -10,9 +10,9 @@
 @ stdcall SRSetRestorePoint (ptr ptr)  SRSetRestorePointA
 @ stdcall SRSetRestorePointA (ptr ptr)
 @ stdcall SRSetRestorePointW (ptr ptr)
-@ stub SfcGetNextProtectedFile
-@ stub SfcIsFileProtected
+@ stdcall SfcGetNextProtectedFile (ptr ptr) sfc_os.SfcGetNextProtectedFile
+@ stdcall SfcIsFileProtected (ptr wstr) sfc_os.SfcIsFileProtected
 @ stub SfcWLEventLogoff
 @ stub SfcWLEventLogon
-@ stdcall SfpVerifyFile (ptr ptr long)
+@ stdcall SfpVerifyFile (str str long)
 @ stdcall start (long long ptr) DllMain
\ No newline at end of file
diff --git a/reactos/dll/win32/sfc_os/precomp.h b/reactos/dll/win32/sfc_os/precomp.h
new file mode 100644 (file)
index 0000000..3a0b5e0
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef _PRECOMP_H__
+#define _PRECOMP_H__
+
+#include <windows.h>
+
+#endif
diff --git a/reactos/dll/win32/sfc_os/sfc_os.c b/reactos/dll/win32/sfc_os/sfc_os.c
new file mode 100644 (file)
index 0000000..f51d7f1
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * System File Checker (Windows File Protection)
+ *
+ * Copyright 2008 Pierre Schweitzer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "precomp.h"
+
+HINSTANCE hLibModule;
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    switch (fdwReason)
+    {
+        case DLL_PROCESS_ATTACH:
+        {
+            DisableThreadLibraryCalls(hinstDLL);
+            hLibModule = hinstDLL;
+            break;
+        }
+        case DLL_PROCESS_DETACH:
+        {
+            break;
+        }
+    }
+
+    return TRUE;
+}
diff --git a/reactos/dll/win32/sfc_os/sfc_os.rbuild b/reactos/dll/win32/sfc_os/sfc_os.rbuild
new file mode 100644 (file)
index 0000000..2e02263
--- /dev/null
@@ -0,0 +1,8 @@
+<module name="sfc_os" type="win32dll" baseaddress="${BASEADDRESS_SFC_OS}" installbase="system32" installname="sfc_os.dll" allowwarnings="yes">
+       <importlibrary definition="sfc_os.spec.def" />
+       <include base="sfc_os">.</include>
+       <library>kernel32</library>
+       <file>sfc_os.c</file>
+       <file>sfc_os.spec</file>
+       <pch>precomp.h</pch>
+</module>
diff --git a/reactos/dll/win32/sfc_os/sfc_os.spec b/reactos/dll/win32/sfc_os/sfc_os.spec
new file mode 100644 (file)
index 0000000..e672dd1
--- /dev/null
@@ -0,0 +1,12 @@
+@ stub sfc_os_1
+@ stub sfc_os_2
+@ stub sfc_os_3
+@ stub sfc_os_4
+@ stub sfc_os_5
+@ stub sfc_os_6
+@ stub sfc_os_7
+@ stub SfcGetNextProtectedFile
+@ stub SfcIsFileProtected
+@ stub SfcWLEventLogoff
+@ stub SfcWLEventLogon
+@ stdcall start (long long ptr) DllMain
\ No newline at end of file
index 1b9714b..bd01134 100644 (file)
 <directory name="sfc">
        <xi:include href="sfc/sfc.rbuild" />
 </directory>
+<directory name="sfc_os">
+       <xi:include href="sfc_os/sfc_os.rbuild" />
+</directory>
 <directory name="shdocvw">
        <xi:include href="shdocvw/shdocvw.rbuild" />
 </directory>